/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/list-ext3-properties/sll_nondet_insert-1.i -------------------------------------------------------------------------------- This is Ultimate 0.1.25-8fc6572 [2020-07-10 15:10:18,795 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-10 15:10:18,798 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-10 15:10:18,820 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-10 15:10:18,820 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-10 15:10:18,821 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-10 15:10:18,822 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-10 15:10:18,824 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-10 15:10:18,826 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-10 15:10:18,827 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-10 15:10:18,828 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-10 15:10:18,829 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-10 15:10:18,829 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-10 15:10:18,830 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-10 15:10:18,831 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-10 15:10:18,832 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-10 15:10:18,833 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-10 15:10:18,834 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-10 15:10:18,836 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-10 15:10:18,837 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-10 15:10:18,839 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-10 15:10:18,839 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-10 15:10:18,840 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-10 15:10:18,841 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-10 15:10:18,844 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-10 15:10:18,844 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-10 15:10:18,844 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-10 15:10:18,845 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-10 15:10:18,846 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-10 15:10:18,847 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-10 15:10:18,847 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-10 15:10:18,848 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-10 15:10:18,849 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-10 15:10:18,850 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-10 15:10:18,851 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-10 15:10:18,851 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-10 15:10:18,852 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-10 15:10:18,852 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-10 15:10:18,852 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-10 15:10:18,853 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-10 15:10:18,854 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-10 15:10:18,855 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2020-07-10 15:10:18,869 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-10 15:10:18,869 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-10 15:10:18,871 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-10 15:10:18,871 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-10 15:10:18,871 INFO L138 SettingsManager]: * Use SBE=true [2020-07-10 15:10:18,871 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-10 15:10:18,872 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-10 15:10:18,872 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-10 15:10:18,872 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-10 15:10:18,872 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-10 15:10:18,872 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-10 15:10:18,873 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-10 15:10:18,873 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-10 15:10:18,873 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-10 15:10:18,873 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-10 15:10:18,873 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-10 15:10:18,874 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-10 15:10:18,874 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-10 15:10:18,874 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-10 15:10:18,874 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-10 15:10:18,874 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-10 15:10:18,874 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-10 15:10:18,875 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-10 15:10:18,875 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-10 15:10:18,875 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-10 15:10:18,875 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-10 15:10:18,876 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-10 15:10:18,876 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-10 15:10:18,876 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-10 15:10:18,876 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-10 15:10:19,207 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-10 15:10:19,220 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-10 15:10:19,224 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-10 15:10:19,225 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-10 15:10:19,226 INFO L275 PluginConnector]: CDTParser initialized [2020-07-10 15:10:19,227 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/list-ext3-properties/sll_nondet_insert-1.i [2020-07-10 15:10:19,311 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/31c744f8c/15f6e6d8d44444f4bd5a4ec57b2fb1e7/FLAG014c6a036 [2020-07-10 15:10:19,840 INFO L306 CDTParser]: Found 1 translation units. [2020-07-10 15:10:19,841 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/list-ext3-properties/sll_nondet_insert-1.i [2020-07-10 15:10:19,857 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/31c744f8c/15f6e6d8d44444f4bd5a4ec57b2fb1e7/FLAG014c6a036 [2020-07-10 15:10:20,133 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/31c744f8c/15f6e6d8d44444f4bd5a4ec57b2fb1e7 [2020-07-10 15:10:20,141 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-10 15:10:20,143 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-10 15:10:20,144 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-10 15:10:20,144 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-10 15:10:20,148 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-10 15:10:20,150 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.07 03:10:20" (1/1) ... [2020-07-10 15:10:20,154 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3fd80a20 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:10:20, skipping insertion in model container [2020-07-10 15:10:20,154 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.07 03:10:20" (1/1) ... [2020-07-10 15:10:20,162 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-10 15:10:20,222 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-10 15:10:20,769 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-10 15:10:20,779 INFO L203 MainTranslator]: Completed pre-run [2020-07-10 15:10:20,829 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-10 15:10:20,910 INFO L208 MainTranslator]: Completed translation [2020-07-10 15:10:20,910 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:10:20 WrapperNode [2020-07-10 15:10:20,911 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-10 15:10:20,911 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-10 15:10:20,912 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-10 15:10:20,912 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-10 15:10:20,926 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:10:20" (1/1) ... [2020-07-10 15:10:20,928 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:10:20" (1/1) ... [2020-07-10 15:10:20,946 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:10:20" (1/1) ... [2020-07-10 15:10:20,947 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:10:20" (1/1) ... [2020-07-10 15:10:20,972 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:10:20" (1/1) ... [2020-07-10 15:10:20,980 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:10:20" (1/1) ... [2020-07-10 15:10:20,984 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:10:20" (1/1) ... [2020-07-10 15:10:20,992 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-10 15:10:20,993 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-10 15:10:20,993 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-10 15:10:20,993 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-10 15:10:20,994 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:10:20" (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-10 15:10:21,059 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-10 15:10:21,059 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-10 15:10:21,060 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_32 [2020-07-10 15:10:21,060 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_64 [2020-07-10 15:10:21,060 INFO L138 BoogieDeclarations]: Found implementation of procedure myexit [2020-07-10 15:10:21,060 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_create [2020-07-10 15:10:21,060 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_length [2020-07-10 15:10:21,060 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_destroy [2020-07-10 15:10:21,060 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_insert [2020-07-10 15:10:21,060 INFO L138 BoogieDeclarations]: Found implementation of procedure _get_nondet_int [2020-07-10 15:10:21,061 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-10 15:10:21,061 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-10 15:10:21,061 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-10 15:10:21,061 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_32 [2020-07-10 15:10:21,061 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_64 [2020-07-10 15:10:21,062 INFO L130 BoogieDeclarations]: Found specification of procedure __ctype_get_mb_cur_max [2020-07-10 15:10:21,062 INFO L130 BoogieDeclarations]: Found specification of procedure atof [2020-07-10 15:10:21,062 INFO L130 BoogieDeclarations]: Found specification of procedure atoi [2020-07-10 15:10:21,062 INFO L130 BoogieDeclarations]: Found specification of procedure atol [2020-07-10 15:10:21,062 INFO L130 BoogieDeclarations]: Found specification of procedure atoll [2020-07-10 15:10:21,062 INFO L130 BoogieDeclarations]: Found specification of procedure strtod [2020-07-10 15:10:21,063 INFO L130 BoogieDeclarations]: Found specification of procedure strtof [2020-07-10 15:10:21,063 INFO L130 BoogieDeclarations]: Found specification of procedure strtold [2020-07-10 15:10:21,063 INFO L130 BoogieDeclarations]: Found specification of procedure strtol [2020-07-10 15:10:21,063 INFO L130 BoogieDeclarations]: Found specification of procedure strtoul [2020-07-10 15:10:21,063 INFO L130 BoogieDeclarations]: Found specification of procedure strtoq [2020-07-10 15:10:21,064 INFO L130 BoogieDeclarations]: Found specification of procedure strtouq [2020-07-10 15:10:21,064 INFO L130 BoogieDeclarations]: Found specification of procedure strtoll [2020-07-10 15:10:21,064 INFO L130 BoogieDeclarations]: Found specification of procedure strtoull [2020-07-10 15:10:21,064 INFO L130 BoogieDeclarations]: Found specification of procedure l64a [2020-07-10 15:10:21,064 INFO L130 BoogieDeclarations]: Found specification of procedure a64l [2020-07-10 15:10:21,064 INFO L130 BoogieDeclarations]: Found specification of procedure select [2020-07-10 15:10:21,065 INFO L130 BoogieDeclarations]: Found specification of procedure pselect [2020-07-10 15:10:21,065 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_major [2020-07-10 15:10:21,065 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_minor [2020-07-10 15:10:21,065 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_makedev [2020-07-10 15:10:21,065 INFO L130 BoogieDeclarations]: Found specification of procedure random [2020-07-10 15:10:21,065 INFO L130 BoogieDeclarations]: Found specification of procedure srandom [2020-07-10 15:10:21,066 INFO L130 BoogieDeclarations]: Found specification of procedure initstate [2020-07-10 15:10:21,066 INFO L130 BoogieDeclarations]: Found specification of procedure setstate [2020-07-10 15:10:21,066 INFO L130 BoogieDeclarations]: Found specification of procedure random_r [2020-07-10 15:10:21,066 INFO L130 BoogieDeclarations]: Found specification of procedure srandom_r [2020-07-10 15:10:21,067 INFO L130 BoogieDeclarations]: Found specification of procedure initstate_r [2020-07-10 15:10:21,067 INFO L130 BoogieDeclarations]: Found specification of procedure setstate_r [2020-07-10 15:10:21,067 INFO L130 BoogieDeclarations]: Found specification of procedure rand [2020-07-10 15:10:21,067 INFO L130 BoogieDeclarations]: Found specification of procedure srand [2020-07-10 15:10:21,067 INFO L130 BoogieDeclarations]: Found specification of procedure rand_r [2020-07-10 15:10:21,067 INFO L130 BoogieDeclarations]: Found specification of procedure drand48 [2020-07-10 15:10:21,067 INFO L130 BoogieDeclarations]: Found specification of procedure erand48 [2020-07-10 15:10:21,067 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48 [2020-07-10 15:10:21,067 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48 [2020-07-10 15:10:21,068 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48 [2020-07-10 15:10:21,068 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48 [2020-07-10 15:10:21,068 INFO L130 BoogieDeclarations]: Found specification of procedure srand48 [2020-07-10 15:10:21,068 INFO L130 BoogieDeclarations]: Found specification of procedure seed48 [2020-07-10 15:10:21,068 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48 [2020-07-10 15:10:21,068 INFO L130 BoogieDeclarations]: Found specification of procedure drand48_r [2020-07-10 15:10:21,068 INFO L130 BoogieDeclarations]: Found specification of procedure erand48_r [2020-07-10 15:10:21,068 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48_r [2020-07-10 15:10:21,068 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48_r [2020-07-10 15:10:21,068 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48_r [2020-07-10 15:10:21,069 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48_r [2020-07-10 15:10:21,069 INFO L130 BoogieDeclarations]: Found specification of procedure srand48_r [2020-07-10 15:10:21,069 INFO L130 BoogieDeclarations]: Found specification of procedure seed48_r [2020-07-10 15:10:21,069 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48_r [2020-07-10 15:10:21,069 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-10 15:10:21,069 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2020-07-10 15:10:21,069 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2020-07-10 15:10:21,070 INFO L130 BoogieDeclarations]: Found specification of procedure free [2020-07-10 15:10:21,070 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2020-07-10 15:10:21,070 INFO L130 BoogieDeclarations]: Found specification of procedure alloca [2020-07-10 15:10:21,070 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2020-07-10 15:10:21,070 INFO L130 BoogieDeclarations]: Found specification of procedure posix_memalign [2020-07-10 15:10:21,070 INFO L130 BoogieDeclarations]: Found specification of procedure aligned_alloc [2020-07-10 15:10:21,071 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2020-07-10 15:10:21,071 INFO L130 BoogieDeclarations]: Found specification of procedure atexit [2020-07-10 15:10:21,071 INFO L130 BoogieDeclarations]: Found specification of procedure at_quick_exit [2020-07-10 15:10:21,071 INFO L130 BoogieDeclarations]: Found specification of procedure on_exit [2020-07-10 15:10:21,071 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2020-07-10 15:10:21,071 INFO L130 BoogieDeclarations]: Found specification of procedure quick_exit [2020-07-10 15:10:21,071 INFO L130 BoogieDeclarations]: Found specification of procedure _Exit [2020-07-10 15:10:21,071 INFO L130 BoogieDeclarations]: Found specification of procedure getenv [2020-07-10 15:10:21,072 INFO L130 BoogieDeclarations]: Found specification of procedure putenv [2020-07-10 15:10:21,072 INFO L130 BoogieDeclarations]: Found specification of procedure setenv [2020-07-10 15:10:21,072 INFO L130 BoogieDeclarations]: Found specification of procedure unsetenv [2020-07-10 15:10:21,072 INFO L130 BoogieDeclarations]: Found specification of procedure clearenv [2020-07-10 15:10:21,072 INFO L130 BoogieDeclarations]: Found specification of procedure mktemp [2020-07-10 15:10:21,072 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemp [2020-07-10 15:10:21,072 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemps [2020-07-10 15:10:21,073 INFO L130 BoogieDeclarations]: Found specification of procedure mkdtemp [2020-07-10 15:10:21,073 INFO L130 BoogieDeclarations]: Found specification of procedure system [2020-07-10 15:10:21,073 INFO L130 BoogieDeclarations]: Found specification of procedure realpath [2020-07-10 15:10:21,073 INFO L130 BoogieDeclarations]: Found specification of procedure bsearch [2020-07-10 15:10:21,073 INFO L130 BoogieDeclarations]: Found specification of procedure qsort [2020-07-10 15:10:21,073 INFO L130 BoogieDeclarations]: Found specification of procedure abs [2020-07-10 15:10:21,074 INFO L130 BoogieDeclarations]: Found specification of procedure labs [2020-07-10 15:10:21,074 INFO L130 BoogieDeclarations]: Found specification of procedure llabs [2020-07-10 15:10:21,074 INFO L130 BoogieDeclarations]: Found specification of procedure div [2020-07-10 15:10:21,074 INFO L130 BoogieDeclarations]: Found specification of procedure ldiv [2020-07-10 15:10:21,074 INFO L130 BoogieDeclarations]: Found specification of procedure lldiv [2020-07-10 15:10:21,074 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt [2020-07-10 15:10:21,074 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt [2020-07-10 15:10:21,075 INFO L130 BoogieDeclarations]: Found specification of procedure gcvt [2020-07-10 15:10:21,075 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt [2020-07-10 15:10:21,075 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt [2020-07-10 15:10:21,075 INFO L130 BoogieDeclarations]: Found specification of procedure qgcvt [2020-07-10 15:10:21,075 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt_r [2020-07-10 15:10:21,075 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt_r [2020-07-10 15:10:21,075 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt_r [2020-07-10 15:10:21,075 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt_r [2020-07-10 15:10:21,075 INFO L130 BoogieDeclarations]: Found specification of procedure mblen [2020-07-10 15:10:21,076 INFO L130 BoogieDeclarations]: Found specification of procedure mbtowc [2020-07-10 15:10:21,076 INFO L130 BoogieDeclarations]: Found specification of procedure wctomb [2020-07-10 15:10:21,076 INFO L130 BoogieDeclarations]: Found specification of procedure mbstowcs [2020-07-10 15:10:21,076 INFO L130 BoogieDeclarations]: Found specification of procedure wcstombs [2020-07-10 15:10:21,076 INFO L130 BoogieDeclarations]: Found specification of procedure rpmatch [2020-07-10 15:10:21,076 INFO L130 BoogieDeclarations]: Found specification of procedure getsubopt [2020-07-10 15:10:21,081 INFO L130 BoogieDeclarations]: Found specification of procedure getloadavg [2020-07-10 15:10:21,082 INFO L130 BoogieDeclarations]: Found specification of procedure myexit [2020-07-10 15:10:21,082 INFO L130 BoogieDeclarations]: Found specification of procedure sll_create [2020-07-10 15:10:21,082 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2020-07-10 15:10:21,082 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-10 15:10:21,082 INFO L130 BoogieDeclarations]: Found specification of procedure sll_length [2020-07-10 15:10:21,082 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-10 15:10:21,083 INFO L130 BoogieDeclarations]: Found specification of procedure sll_destroy [2020-07-10 15:10:21,083 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-10 15:10:21,083 INFO L130 BoogieDeclarations]: Found specification of procedure sll_insert [2020-07-10 15:10:21,083 INFO L130 BoogieDeclarations]: Found specification of procedure _get_nondet_int [2020-07-10 15:10:21,083 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-10 15:10:21,083 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-10 15:10:21,083 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2020-07-10 15:10:21,083 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-10 15:10:21,084 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-10 15:10:21,414 INFO L728 $ProcedureCfgBuilder]: dead code at ProgramPoint myexitFINAL: assume true; [2020-07-10 15:10:21,892 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-10 15:10:21,893 INFO L295 CfgBuilder]: Removed 6 assume(true) statements. [2020-07-10 15:10:21,897 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.07 03:10:21 BoogieIcfgContainer [2020-07-10 15:10:21,897 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-10 15:10:21,899 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-10 15:10:21,899 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-10 15:10:21,902 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-10 15:10:21,903 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 10.07 03:10:20" (1/3) ... [2020-07-10 15:10:21,904 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3aad3df2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.07 03:10:21, skipping insertion in model container [2020-07-10 15:10:21,904 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:10:20" (2/3) ... [2020-07-10 15:10:21,905 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3aad3df2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.07 03:10:21, skipping insertion in model container [2020-07-10 15:10:21,905 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.07 03:10:21" (3/3) ... [2020-07-10 15:10:21,907 INFO L109 eAbstractionObserver]: Analyzing ICFG sll_nondet_insert-1.i [2020-07-10 15:10:21,918 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-10 15:10:21,927 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-10 15:10:21,942 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-10 15:10:21,968 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-10 15:10:21,969 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-10 15:10:21,969 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-10 15:10:21,969 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-10 15:10:21,969 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-10 15:10:21,970 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-10 15:10:21,970 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-10 15:10:21,970 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-10 15:10:22,005 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states. [2020-07-10 15:10:22,013 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2020-07-10 15:10:22,013 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:10:22,015 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 15:10:22,015 INFO L427 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:10:22,022 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:10:22,022 INFO L82 PathProgramCache]: Analyzing trace with hash 960784814, now seen corresponding path program 1 times [2020-07-10 15:10:22,034 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:10:22,035 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1460196653] [2020-07-10 15:10:22,035 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:10:22,156 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:22,237 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:22,249 INFO L280 TraceCheckUtils]: 0: Hoare triple {95#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {70#true} is VALID [2020-07-10 15:10:22,250 INFO L280 TraceCheckUtils]: 1: Hoare triple {70#true} assume true; {70#true} is VALID [2020-07-10 15:10:22,250 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {70#true} {70#true} #180#return; {70#true} is VALID [2020-07-10 15:10:22,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:22,266 INFO L280 TraceCheckUtils]: 0: Hoare triple {70#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {70#true} is VALID [2020-07-10 15:10:22,267 INFO L280 TraceCheckUtils]: 1: Hoare triple {70#true} assume !true; {71#false} is VALID [2020-07-10 15:10:22,268 INFO L280 TraceCheckUtils]: 2: Hoare triple {71#false} #res := ~len~1; {71#false} is VALID [2020-07-10 15:10:22,268 INFO L280 TraceCheckUtils]: 3: Hoare triple {71#false} assume true; {71#false} is VALID [2020-07-10 15:10:22,268 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {71#false} {70#true} #164#return; {71#false} is VALID [2020-07-10 15:10:22,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:22,297 INFO L280 TraceCheckUtils]: 0: Hoare triple {96#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {70#true} is VALID [2020-07-10 15:10:22,298 INFO L280 TraceCheckUtils]: 1: Hoare triple {70#true} assume !true; {71#false} is VALID [2020-07-10 15:10:22,298 INFO L280 TraceCheckUtils]: 2: Hoare triple {71#false} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {71#false} is VALID [2020-07-10 15:10:22,298 INFO L280 TraceCheckUtils]: 3: Hoare triple {71#false} assume true; {71#false} is VALID [2020-07-10 15:10:22,299 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {71#false} {71#false} #166#return; {71#false} is VALID [2020-07-10 15:10:22,301 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:22,308 INFO L280 TraceCheckUtils]: 0: Hoare triple {70#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {70#true} is VALID [2020-07-10 15:10:22,309 INFO L280 TraceCheckUtils]: 1: Hoare triple {70#true} assume !true; {71#false} is VALID [2020-07-10 15:10:22,310 INFO L280 TraceCheckUtils]: 2: Hoare triple {71#false} #res := ~len~1; {71#false} is VALID [2020-07-10 15:10:22,310 INFO L280 TraceCheckUtils]: 3: Hoare triple {71#false} assume true; {71#false} is VALID [2020-07-10 15:10:22,310 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {71#false} {71#false} #168#return; {71#false} is VALID [2020-07-10 15:10:22,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:22,320 INFO L280 TraceCheckUtils]: 0: Hoare triple {70#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {70#true} is VALID [2020-07-10 15:10:22,321 INFO L280 TraceCheckUtils]: 1: Hoare triple {70#true} assume !true; {71#false} is VALID [2020-07-10 15:10:22,321 INFO L280 TraceCheckUtils]: 2: Hoare triple {71#false} #res := ~len~0; {71#false} is VALID [2020-07-10 15:10:22,322 INFO L280 TraceCheckUtils]: 3: Hoare triple {71#false} assume true; {71#false} is VALID [2020-07-10 15:10:22,322 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {71#false} {71#false} #174#return; {71#false} is VALID [2020-07-10 15:10:22,324 INFO L263 TraceCheckUtils]: 0: Hoare triple {70#true} call ULTIMATE.init(); {95#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:10:22,324 INFO L280 TraceCheckUtils]: 1: Hoare triple {95#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {70#true} is VALID [2020-07-10 15:10:22,325 INFO L280 TraceCheckUtils]: 2: Hoare triple {70#true} assume true; {70#true} is VALID [2020-07-10 15:10:22,325 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {70#true} {70#true} #180#return; {70#true} is VALID [2020-07-10 15:10:22,325 INFO L263 TraceCheckUtils]: 4: Hoare triple {70#true} call #t~ret24 := main(); {70#true} is VALID [2020-07-10 15:10:22,326 INFO L263 TraceCheckUtils]: 5: Hoare triple {70#true} call #t~ret14 := _get_nondet_int(2, 5); {70#true} is VALID [2020-07-10 15:10:22,326 INFO L280 TraceCheckUtils]: 6: Hoare triple {70#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {70#true} is VALID [2020-07-10 15:10:22,327 INFO L280 TraceCheckUtils]: 7: Hoare triple {70#true} assume !true; {71#false} is VALID [2020-07-10 15:10:22,327 INFO L280 TraceCheckUtils]: 8: Hoare triple {71#false} #res := ~len~1; {71#false} is VALID [2020-07-10 15:10:22,328 INFO L280 TraceCheckUtils]: 9: Hoare triple {71#false} assume true; {71#false} is VALID [2020-07-10 15:10:22,328 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {71#false} {70#true} #164#return; {71#false} is VALID [2020-07-10 15:10:22,328 INFO L280 TraceCheckUtils]: 11: Hoare triple {71#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {71#false} is VALID [2020-07-10 15:10:22,329 INFO L263 TraceCheckUtils]: 12: Hoare triple {71#false} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {96#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 15:10:22,329 INFO L280 TraceCheckUtils]: 13: Hoare triple {96#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {70#true} is VALID [2020-07-10 15:10:22,330 INFO L280 TraceCheckUtils]: 14: Hoare triple {70#true} assume !true; {71#false} is VALID [2020-07-10 15:10:22,330 INFO L280 TraceCheckUtils]: 15: Hoare triple {71#false} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {71#false} is VALID [2020-07-10 15:10:22,331 INFO L280 TraceCheckUtils]: 16: Hoare triple {71#false} assume true; {71#false} is VALID [2020-07-10 15:10:22,331 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {71#false} {71#false} #166#return; {71#false} is VALID [2020-07-10 15:10:22,331 INFO L280 TraceCheckUtils]: 18: Hoare triple {71#false} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {71#false} is VALID [2020-07-10 15:10:22,332 INFO L263 TraceCheckUtils]: 19: Hoare triple {71#false} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {70#true} is VALID [2020-07-10 15:10:22,332 INFO L280 TraceCheckUtils]: 20: Hoare triple {70#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {70#true} is VALID [2020-07-10 15:10:22,333 INFO L280 TraceCheckUtils]: 21: Hoare triple {70#true} assume !true; {71#false} is VALID [2020-07-10 15:10:22,333 INFO L280 TraceCheckUtils]: 22: Hoare triple {71#false} #res := ~len~1; {71#false} is VALID [2020-07-10 15:10:22,334 INFO L280 TraceCheckUtils]: 23: Hoare triple {71#false} assume true; {71#false} is VALID [2020-07-10 15:10:22,334 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {71#false} {71#false} #168#return; {71#false} is VALID [2020-07-10 15:10:22,334 INFO L280 TraceCheckUtils]: 25: Hoare triple {71#false} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {71#false} is VALID [2020-07-10 15:10:22,335 INFO L280 TraceCheckUtils]: 26: Hoare triple {71#false} assume !true; {71#false} is VALID [2020-07-10 15:10:22,335 INFO L280 TraceCheckUtils]: 27: Hoare triple {71#false} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {71#false} is VALID [2020-07-10 15:10:22,335 INFO L263 TraceCheckUtils]: 28: Hoare triple {71#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {70#true} is VALID [2020-07-10 15:10:22,336 INFO L280 TraceCheckUtils]: 29: Hoare triple {70#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {70#true} is VALID [2020-07-10 15:10:22,337 INFO L280 TraceCheckUtils]: 30: Hoare triple {70#true} assume !true; {71#false} is VALID [2020-07-10 15:10:22,337 INFO L280 TraceCheckUtils]: 31: Hoare triple {71#false} #res := ~len~0; {71#false} is VALID [2020-07-10 15:10:22,337 INFO L280 TraceCheckUtils]: 32: Hoare triple {71#false} assume true; {71#false} is VALID [2020-07-10 15:10:22,338 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {71#false} {71#false} #174#return; {71#false} is VALID [2020-07-10 15:10:22,338 INFO L280 TraceCheckUtils]: 34: Hoare triple {71#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {71#false} is VALID [2020-07-10 15:10:22,338 INFO L280 TraceCheckUtils]: 35: Hoare triple {71#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {71#false} is VALID [2020-07-10 15:10:22,339 INFO L280 TraceCheckUtils]: 36: Hoare triple {71#false} assume !false; {71#false} is VALID [2020-07-10 15:10:22,345 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2020-07-10 15:10:22,346 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1460196653] [2020-07-10 15:10:22,347 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:10:22,347 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-10 15:10:22,348 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1801181631] [2020-07-10 15:10:22,354 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 37 [2020-07-10 15:10:22,358 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:10:22,362 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-10 15:10:22,415 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:10:22,415 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-10 15:10:22,416 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:10:22,424 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-10 15:10:22,425 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 15:10:22,428 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 4 states. [2020-07-10 15:10:22,995 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:10:22,995 INFO L93 Difference]: Finished difference Result 136 states and 184 transitions. [2020-07-10 15:10:22,996 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-10 15:10:22,996 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 37 [2020-07-10 15:10:22,996 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:10:22,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 15:10:23,014 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 184 transitions. [2020-07-10 15:10:23,014 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 15:10:23,025 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 184 transitions. [2020-07-10 15:10:23,025 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 184 transitions. [2020-07-10 15:10:23,290 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 184 edges. 184 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:10:23,306 INFO L225 Difference]: With dead ends: 136 [2020-07-10 15:10:23,306 INFO L226 Difference]: Without dead ends: 58 [2020-07-10 15:10:23,310 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2020-07-10 15:10:23,329 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2020-07-10 15:10:23,378 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 53. [2020-07-10 15:10:23,378 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:10:23,379 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand 53 states. [2020-07-10 15:10:23,379 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 53 states. [2020-07-10 15:10:23,379 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 53 states. [2020-07-10 15:10:23,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:10:23,387 INFO L93 Difference]: Finished difference Result 58 states and 68 transitions. [2020-07-10 15:10:23,387 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 68 transitions. [2020-07-10 15:10:23,388 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:10:23,388 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:10:23,389 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 58 states. [2020-07-10 15:10:23,389 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 58 states. [2020-07-10 15:10:23,394 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:10:23,395 INFO L93 Difference]: Finished difference Result 58 states and 68 transitions. [2020-07-10 15:10:23,395 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 68 transitions. [2020-07-10 15:10:23,396 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:10:23,396 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:10:23,396 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:10:23,397 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:10:23,397 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 53 states. [2020-07-10 15:10:23,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 62 transitions. [2020-07-10 15:10:23,403 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 62 transitions. Word has length 37 [2020-07-10 15:10:23,403 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:10:23,403 INFO L479 AbstractCegarLoop]: Abstraction has 53 states and 62 transitions. [2020-07-10 15:10:23,404 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-10 15:10:23,404 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 62 transitions. [2020-07-10 15:10:23,405 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2020-07-10 15:10:23,406 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:10:23,406 INFO L422 BasicCegarLoop]: trace histogram [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] [2020-07-10 15:10:23,406 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-10 15:10:23,406 INFO L427 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:10:23,407 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:10:23,407 INFO L82 PathProgramCache]: Analyzing trace with hash 322036078, now seen corresponding path program 1 times [2020-07-10 15:10:23,407 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:10:23,408 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1132644979] [2020-07-10 15:10:23,408 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:10:23,452 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:23,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:23,576 INFO L280 TraceCheckUtils]: 0: Hoare triple {508#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {476#true} is VALID [2020-07-10 15:10:23,577 INFO L280 TraceCheckUtils]: 1: Hoare triple {476#true} assume true; {476#true} is VALID [2020-07-10 15:10:23,577 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {476#true} {476#true} #180#return; {476#true} is VALID [2020-07-10 15:10:23,590 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:23,690 INFO L280 TraceCheckUtils]: 0: Hoare triple {476#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:10:23,692 INFO L280 TraceCheckUtils]: 1: Hoare triple {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #t~short12 := ~len~1 < ~until; {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:10:23,693 INFO L280 TraceCheckUtils]: 2: Hoare triple {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:10:23,694 INFO L280 TraceCheckUtils]: 3: Hoare triple {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:10:23,695 INFO L280 TraceCheckUtils]: 4: Hoare triple {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #res := ~len~1; {510#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:10:23,695 INFO L280 TraceCheckUtils]: 5: Hoare triple {510#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} assume true; {510#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:10:23,697 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {510#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} {476#true} #164#return; {488#(<= 2 |main_#t~ret14|)} is VALID [2020-07-10 15:10:23,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:23,770 INFO L280 TraceCheckUtils]: 0: Hoare triple {511#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {512#(= |sll_create_#in~len| sll_create_~len)} is VALID [2020-07-10 15:10:23,771 INFO L280 TraceCheckUtils]: 1: Hoare triple {512#(= |sll_create_#in~len| sll_create_~len)} #t~post2 := ~len;~len := #t~post2 - 1; {513#(= |sll_create_#in~len| |sll_create_#t~post2|)} is VALID [2020-07-10 15:10:23,772 INFO L280 TraceCheckUtils]: 2: Hoare triple {513#(= |sll_create_#in~len| |sll_create_#t~post2|)} assume !(#t~post2 > 0);havoc #t~post2; {514#(<= |sll_create_#in~len| 0)} is VALID [2020-07-10 15:10:23,772 INFO L280 TraceCheckUtils]: 3: Hoare triple {514#(<= |sll_create_#in~len| 0)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {514#(<= |sll_create_#in~len| 0)} is VALID [2020-07-10 15:10:23,773 INFO L280 TraceCheckUtils]: 4: Hoare triple {514#(<= |sll_create_#in~len| 0)} assume true; {514#(<= |sll_create_#in~len| 0)} is VALID [2020-07-10 15:10:23,774 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {514#(<= |sll_create_#in~len| 0)} {489#(<= 2 main_~len~2)} #166#return; {477#false} is VALID [2020-07-10 15:10:23,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:23,784 INFO L280 TraceCheckUtils]: 0: Hoare triple {476#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {476#true} is VALID [2020-07-10 15:10:23,785 INFO L280 TraceCheckUtils]: 1: Hoare triple {476#true} #t~short12 := ~len~1 < ~until; {476#true} is VALID [2020-07-10 15:10:23,785 INFO L280 TraceCheckUtils]: 2: Hoare triple {476#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {476#true} is VALID [2020-07-10 15:10:23,786 INFO L280 TraceCheckUtils]: 3: Hoare triple {476#true} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {476#true} is VALID [2020-07-10 15:10:23,786 INFO L280 TraceCheckUtils]: 4: Hoare triple {476#true} #res := ~len~1; {476#true} is VALID [2020-07-10 15:10:23,786 INFO L280 TraceCheckUtils]: 5: Hoare triple {476#true} assume true; {476#true} is VALID [2020-07-10 15:10:23,786 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {476#true} {477#false} #168#return; {477#false} is VALID [2020-07-10 15:10:23,788 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:23,793 INFO L280 TraceCheckUtils]: 0: Hoare triple {476#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {476#true} is VALID [2020-07-10 15:10:23,793 INFO L280 TraceCheckUtils]: 1: Hoare triple {476#true} assume !(~head.base != 0 || ~head.offset != 0); {476#true} is VALID [2020-07-10 15:10:23,794 INFO L280 TraceCheckUtils]: 2: Hoare triple {476#true} #res := ~len~0; {476#true} is VALID [2020-07-10 15:10:23,794 INFO L280 TraceCheckUtils]: 3: Hoare triple {476#true} assume true; {476#true} is VALID [2020-07-10 15:10:23,794 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {476#true} {477#false} #174#return; {477#false} is VALID [2020-07-10 15:10:23,795 INFO L263 TraceCheckUtils]: 0: Hoare triple {476#true} call ULTIMATE.init(); {508#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:10:23,795 INFO L280 TraceCheckUtils]: 1: Hoare triple {508#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {476#true} is VALID [2020-07-10 15:10:23,796 INFO L280 TraceCheckUtils]: 2: Hoare triple {476#true} assume true; {476#true} is VALID [2020-07-10 15:10:23,796 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {476#true} {476#true} #180#return; {476#true} is VALID [2020-07-10 15:10:23,796 INFO L263 TraceCheckUtils]: 4: Hoare triple {476#true} call #t~ret24 := main(); {476#true} is VALID [2020-07-10 15:10:23,797 INFO L263 TraceCheckUtils]: 5: Hoare triple {476#true} call #t~ret14 := _get_nondet_int(2, 5); {476#true} is VALID [2020-07-10 15:10:23,798 INFO L280 TraceCheckUtils]: 6: Hoare triple {476#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:10:23,798 INFO L280 TraceCheckUtils]: 7: Hoare triple {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #t~short12 := ~len~1 < ~until; {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:10:23,799 INFO L280 TraceCheckUtils]: 8: Hoare triple {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:10:23,800 INFO L280 TraceCheckUtils]: 9: Hoare triple {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:10:23,800 INFO L280 TraceCheckUtils]: 10: Hoare triple {509#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #res := ~len~1; {510#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:10:23,801 INFO L280 TraceCheckUtils]: 11: Hoare triple {510#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} assume true; {510#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:10:23,802 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {510#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} {476#true} #164#return; {488#(<= 2 |main_#t~ret14|)} is VALID [2020-07-10 15:10:23,803 INFO L280 TraceCheckUtils]: 13: Hoare triple {488#(<= 2 |main_#t~ret14|)} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {489#(<= 2 main_~len~2)} is VALID [2020-07-10 15:10:23,805 INFO L263 TraceCheckUtils]: 14: Hoare triple {489#(<= 2 main_~len~2)} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {511#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 15:10:23,805 INFO L280 TraceCheckUtils]: 15: Hoare triple {511#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {512#(= |sll_create_#in~len| sll_create_~len)} is VALID [2020-07-10 15:10:23,806 INFO L280 TraceCheckUtils]: 16: Hoare triple {512#(= |sll_create_#in~len| sll_create_~len)} #t~post2 := ~len;~len := #t~post2 - 1; {513#(= |sll_create_#in~len| |sll_create_#t~post2|)} is VALID [2020-07-10 15:10:23,807 INFO L280 TraceCheckUtils]: 17: Hoare triple {513#(= |sll_create_#in~len| |sll_create_#t~post2|)} assume !(#t~post2 > 0);havoc #t~post2; {514#(<= |sll_create_#in~len| 0)} is VALID [2020-07-10 15:10:23,808 INFO L280 TraceCheckUtils]: 18: Hoare triple {514#(<= |sll_create_#in~len| 0)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {514#(<= |sll_create_#in~len| 0)} is VALID [2020-07-10 15:10:23,808 INFO L280 TraceCheckUtils]: 19: Hoare triple {514#(<= |sll_create_#in~len| 0)} assume true; {514#(<= |sll_create_#in~len| 0)} is VALID [2020-07-10 15:10:23,810 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {514#(<= |sll_create_#in~len| 0)} {489#(<= 2 main_~len~2)} #166#return; {477#false} is VALID [2020-07-10 15:10:23,810 INFO L280 TraceCheckUtils]: 21: Hoare triple {477#false} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {477#false} is VALID [2020-07-10 15:10:23,810 INFO L263 TraceCheckUtils]: 22: Hoare triple {477#false} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {476#true} is VALID [2020-07-10 15:10:23,811 INFO L280 TraceCheckUtils]: 23: Hoare triple {476#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {476#true} is VALID [2020-07-10 15:10:23,811 INFO L280 TraceCheckUtils]: 24: Hoare triple {476#true} #t~short12 := ~len~1 < ~until; {476#true} is VALID [2020-07-10 15:10:23,811 INFO L280 TraceCheckUtils]: 25: Hoare triple {476#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {476#true} is VALID [2020-07-10 15:10:23,811 INFO L280 TraceCheckUtils]: 26: Hoare triple {476#true} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {476#true} is VALID [2020-07-10 15:10:23,812 INFO L280 TraceCheckUtils]: 27: Hoare triple {476#true} #res := ~len~1; {476#true} is VALID [2020-07-10 15:10:23,812 INFO L280 TraceCheckUtils]: 28: Hoare triple {476#true} assume true; {476#true} is VALID [2020-07-10 15:10:23,812 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {476#true} {477#false} #168#return; {477#false} is VALID [2020-07-10 15:10:23,813 INFO L280 TraceCheckUtils]: 30: Hoare triple {477#false} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {477#false} is VALID [2020-07-10 15:10:23,813 INFO L280 TraceCheckUtils]: 31: Hoare triple {477#false} #t~short18 := ~i~0 < ~k~0; {477#false} is VALID [2020-07-10 15:10:23,813 INFO L280 TraceCheckUtils]: 32: Hoare triple {477#false} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {477#false} is VALID [2020-07-10 15:10:23,814 INFO L280 TraceCheckUtils]: 33: Hoare triple {477#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {477#false} is VALID [2020-07-10 15:10:23,814 INFO L280 TraceCheckUtils]: 34: Hoare triple {477#false} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {477#false} is VALID [2020-07-10 15:10:23,814 INFO L263 TraceCheckUtils]: 35: Hoare triple {477#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {476#true} is VALID [2020-07-10 15:10:23,814 INFO L280 TraceCheckUtils]: 36: Hoare triple {476#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {476#true} is VALID [2020-07-10 15:10:23,815 INFO L280 TraceCheckUtils]: 37: Hoare triple {476#true} assume !(~head.base != 0 || ~head.offset != 0); {476#true} is VALID [2020-07-10 15:10:23,815 INFO L280 TraceCheckUtils]: 38: Hoare triple {476#true} #res := ~len~0; {476#true} is VALID [2020-07-10 15:10:23,815 INFO L280 TraceCheckUtils]: 39: Hoare triple {476#true} assume true; {476#true} is VALID [2020-07-10 15:10:23,816 INFO L275 TraceCheckUtils]: 40: Hoare quadruple {476#true} {477#false} #174#return; {477#false} is VALID [2020-07-10 15:10:23,816 INFO L280 TraceCheckUtils]: 41: Hoare triple {477#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {477#false} is VALID [2020-07-10 15:10:23,816 INFO L280 TraceCheckUtils]: 42: Hoare triple {477#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {477#false} is VALID [2020-07-10 15:10:23,816 INFO L280 TraceCheckUtils]: 43: Hoare triple {477#false} assume !false; {477#false} is VALID [2020-07-10 15:10:23,820 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-10 15:10:23,820 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1132644979] [2020-07-10 15:10:23,820 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [979791722] [2020-07-10 15:10:23,820 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:10:23,945 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:23,948 INFO L264 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 10 conjunts are in the unsatisfiable core [2020-07-10 15:10:23,965 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:23,972 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 15:10:24,228 INFO L263 TraceCheckUtils]: 0: Hoare triple {476#true} call ULTIMATE.init(); {476#true} is VALID [2020-07-10 15:10:24,228 INFO L280 TraceCheckUtils]: 1: Hoare triple {476#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {476#true} is VALID [2020-07-10 15:10:24,229 INFO L280 TraceCheckUtils]: 2: Hoare triple {476#true} assume true; {476#true} is VALID [2020-07-10 15:10:24,229 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {476#true} {476#true} #180#return; {476#true} is VALID [2020-07-10 15:10:24,229 INFO L263 TraceCheckUtils]: 4: Hoare triple {476#true} call #t~ret24 := main(); {476#true} is VALID [2020-07-10 15:10:24,229 INFO L263 TraceCheckUtils]: 5: Hoare triple {476#true} call #t~ret14 := _get_nondet_int(2, 5); {476#true} is VALID [2020-07-10 15:10:24,230 INFO L280 TraceCheckUtils]: 6: Hoare triple {476#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {536#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} is VALID [2020-07-10 15:10:24,232 INFO L280 TraceCheckUtils]: 7: Hoare triple {536#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} #t~short12 := ~len~1 < ~until; {536#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} is VALID [2020-07-10 15:10:24,233 INFO L280 TraceCheckUtils]: 8: Hoare triple {536#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {536#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} is VALID [2020-07-10 15:10:24,234 INFO L280 TraceCheckUtils]: 9: Hoare triple {536#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {536#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} is VALID [2020-07-10 15:10:24,235 INFO L280 TraceCheckUtils]: 10: Hoare triple {536#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} #res := ~len~1; {549#(<= |_get_nondet_int_#in~from| |_get_nondet_int_#res|)} is VALID [2020-07-10 15:10:24,235 INFO L280 TraceCheckUtils]: 11: Hoare triple {549#(<= |_get_nondet_int_#in~from| |_get_nondet_int_#res|)} assume true; {549#(<= |_get_nondet_int_#in~from| |_get_nondet_int_#res|)} is VALID [2020-07-10 15:10:24,237 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {549#(<= |_get_nondet_int_#in~from| |_get_nondet_int_#res|)} {476#true} #164#return; {488#(<= 2 |main_#t~ret14|)} is VALID [2020-07-10 15:10:24,238 INFO L280 TraceCheckUtils]: 13: Hoare triple {488#(<= 2 |main_#t~ret14|)} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {489#(<= 2 main_~len~2)} is VALID [2020-07-10 15:10:24,238 INFO L263 TraceCheckUtils]: 14: Hoare triple {489#(<= 2 main_~len~2)} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {476#true} is VALID [2020-07-10 15:10:24,239 INFO L280 TraceCheckUtils]: 15: Hoare triple {476#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {565#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2020-07-10 15:10:24,240 INFO L280 TraceCheckUtils]: 16: Hoare triple {565#(<= |sll_create_#in~len| sll_create_~len)} #t~post2 := ~len;~len := #t~post2 - 1; {569#(<= |sll_create_#in~len| |sll_create_#t~post2|)} is VALID [2020-07-10 15:10:24,241 INFO L280 TraceCheckUtils]: 17: Hoare triple {569#(<= |sll_create_#in~len| |sll_create_#t~post2|)} assume !(#t~post2 > 0);havoc #t~post2; {514#(<= |sll_create_#in~len| 0)} is VALID [2020-07-10 15:10:24,241 INFO L280 TraceCheckUtils]: 18: Hoare triple {514#(<= |sll_create_#in~len| 0)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {514#(<= |sll_create_#in~len| 0)} is VALID [2020-07-10 15:10:24,242 INFO L280 TraceCheckUtils]: 19: Hoare triple {514#(<= |sll_create_#in~len| 0)} assume true; {514#(<= |sll_create_#in~len| 0)} is VALID [2020-07-10 15:10:24,243 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {514#(<= |sll_create_#in~len| 0)} {489#(<= 2 main_~len~2)} #166#return; {477#false} is VALID [2020-07-10 15:10:24,244 INFO L280 TraceCheckUtils]: 21: Hoare triple {477#false} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {477#false} is VALID [2020-07-10 15:10:24,244 INFO L263 TraceCheckUtils]: 22: Hoare triple {477#false} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {477#false} is VALID [2020-07-10 15:10:24,244 INFO L280 TraceCheckUtils]: 23: Hoare triple {477#false} ~from := #in~from;~until := #in~until;~len~1 := ~from; {477#false} is VALID [2020-07-10 15:10:24,244 INFO L280 TraceCheckUtils]: 24: Hoare triple {477#false} #t~short12 := ~len~1 < ~until; {477#false} is VALID [2020-07-10 15:10:24,245 INFO L280 TraceCheckUtils]: 25: Hoare triple {477#false} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {477#false} is VALID [2020-07-10 15:10:24,245 INFO L280 TraceCheckUtils]: 26: Hoare triple {477#false} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {477#false} is VALID [2020-07-10 15:10:24,245 INFO L280 TraceCheckUtils]: 27: Hoare triple {477#false} #res := ~len~1; {477#false} is VALID [2020-07-10 15:10:24,245 INFO L280 TraceCheckUtils]: 28: Hoare triple {477#false} assume true; {477#false} is VALID [2020-07-10 15:10:24,246 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {477#false} {477#false} #168#return; {477#false} is VALID [2020-07-10 15:10:24,246 INFO L280 TraceCheckUtils]: 30: Hoare triple {477#false} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {477#false} is VALID [2020-07-10 15:10:24,246 INFO L280 TraceCheckUtils]: 31: Hoare triple {477#false} #t~short18 := ~i~0 < ~k~0; {477#false} is VALID [2020-07-10 15:10:24,246 INFO L280 TraceCheckUtils]: 32: Hoare triple {477#false} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {477#false} is VALID [2020-07-10 15:10:24,246 INFO L280 TraceCheckUtils]: 33: Hoare triple {477#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {477#false} is VALID [2020-07-10 15:10:24,247 INFO L280 TraceCheckUtils]: 34: Hoare triple {477#false} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {477#false} is VALID [2020-07-10 15:10:24,247 INFO L263 TraceCheckUtils]: 35: Hoare triple {477#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {477#false} is VALID [2020-07-10 15:10:24,247 INFO L280 TraceCheckUtils]: 36: Hoare triple {477#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {477#false} is VALID [2020-07-10 15:10:24,247 INFO L280 TraceCheckUtils]: 37: Hoare triple {477#false} assume !(~head.base != 0 || ~head.offset != 0); {477#false} is VALID [2020-07-10 15:10:24,248 INFO L280 TraceCheckUtils]: 38: Hoare triple {477#false} #res := ~len~0; {477#false} is VALID [2020-07-10 15:10:24,248 INFO L280 TraceCheckUtils]: 39: Hoare triple {477#false} assume true; {477#false} is VALID [2020-07-10 15:10:24,248 INFO L275 TraceCheckUtils]: 40: Hoare quadruple {477#false} {477#false} #174#return; {477#false} is VALID [2020-07-10 15:10:24,248 INFO L280 TraceCheckUtils]: 41: Hoare triple {477#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {477#false} is VALID [2020-07-10 15:10:24,249 INFO L280 TraceCheckUtils]: 42: Hoare triple {477#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {477#false} is VALID [2020-07-10 15:10:24,249 INFO L280 TraceCheckUtils]: 43: Hoare triple {477#false} assume !false; {477#false} is VALID [2020-07-10 15:10:24,251 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 7 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:10:24,252 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2020-07-10 15:10:24,252 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [11] total 15 [2020-07-10 15:10:24,253 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2124487876] [2020-07-10 15:10:24,254 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 44 [2020-07-10 15:10:24,255 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:10:24,255 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-10 15:10:24,306 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:10:24,307 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-10 15:10:24,307 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:10:24,307 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-10 15:10:24,307 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=180, Unknown=0, NotChecked=0, Total=210 [2020-07-10 15:10:24,308 INFO L87 Difference]: Start difference. First operand 53 states and 62 transitions. Second operand 9 states. [2020-07-10 15:10:24,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:10:24,936 INFO L93 Difference]: Finished difference Result 95 states and 112 transitions. [2020-07-10 15:10:24,936 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-10 15:10:24,936 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 44 [2020-07-10 15:10:24,937 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:10:24,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-10 15:10:24,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 112 transitions. [2020-07-10 15:10:24,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-10 15:10:24,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 112 transitions. [2020-07-10 15:10:24,947 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 112 transitions. [2020-07-10 15:10:25,109 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:10:25,113 INFO L225 Difference]: With dead ends: 95 [2020-07-10 15:10:25,113 INFO L226 Difference]: Without dead ends: 55 [2020-07-10 15:10:25,114 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 47 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=35, Invalid=205, Unknown=0, NotChecked=0, Total=240 [2020-07-10 15:10:25,115 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2020-07-10 15:10:25,147 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2020-07-10 15:10:25,148 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:10:25,148 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 55 states. [2020-07-10 15:10:25,148 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 55 states. [2020-07-10 15:10:25,149 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 55 states. [2020-07-10 15:10:25,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:10:25,153 INFO L93 Difference]: Finished difference Result 55 states and 64 transitions. [2020-07-10 15:10:25,154 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 64 transitions. [2020-07-10 15:10:25,155 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:10:25,155 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:10:25,155 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 55 states. [2020-07-10 15:10:25,155 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 55 states. [2020-07-10 15:10:25,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:10:25,159 INFO L93 Difference]: Finished difference Result 55 states and 64 transitions. [2020-07-10 15:10:25,159 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 64 transitions. [2020-07-10 15:10:25,160 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:10:25,160 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:10:25,160 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:10:25,160 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:10:25,161 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 55 states. [2020-07-10 15:10:25,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 64 transitions. [2020-07-10 15:10:25,164 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 64 transitions. Word has length 44 [2020-07-10 15:10:25,164 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:10:25,164 INFO L479 AbstractCegarLoop]: Abstraction has 55 states and 64 transitions. [2020-07-10 15:10:25,165 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-10 15:10:25,165 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 64 transitions. [2020-07-10 15:10:25,166 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2020-07-10 15:10:25,166 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:10:25,167 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 15:10:25,380 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable1 [2020-07-10 15:10:25,380 INFO L427 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:10:25,381 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:10:25,381 INFO L82 PathProgramCache]: Analyzing trace with hash -877094443, now seen corresponding path program 1 times [2020-07-10 15:10:25,381 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:10:25,382 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [58007215] [2020-07-10 15:10:25,382 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:10:25,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:25,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:25,513 INFO L280 TraceCheckUtils]: 0: Hoare triple {1000#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {964#true} is VALID [2020-07-10 15:10:25,513 INFO L280 TraceCheckUtils]: 1: Hoare triple {964#true} assume true; {964#true} is VALID [2020-07-10 15:10:25,514 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {964#true} {964#true} #180#return; {964#true} is VALID [2020-07-10 15:10:25,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:25,598 INFO L280 TraceCheckUtils]: 0: Hoare triple {964#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:10:25,599 INFO L280 TraceCheckUtils]: 1: Hoare triple {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #t~short12 := ~len~1 < ~until; {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:10:25,600 INFO L280 TraceCheckUtils]: 2: Hoare triple {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:10:25,600 INFO L280 TraceCheckUtils]: 3: Hoare triple {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:10:25,601 INFO L280 TraceCheckUtils]: 4: Hoare triple {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #res := ~len~1; {1002#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:10:25,602 INFO L280 TraceCheckUtils]: 5: Hoare triple {1002#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} assume true; {1002#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:10:25,603 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {1002#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} {964#true} #164#return; {976#(<= 2 |main_#t~ret14|)} is VALID [2020-07-10 15:10:25,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:25,707 INFO L280 TraceCheckUtils]: 0: Hoare triple {1003#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {1004#(= |sll_create_#in~len| sll_create_~len)} is VALID [2020-07-10 15:10:25,708 INFO L280 TraceCheckUtils]: 1: Hoare triple {1004#(= |sll_create_#in~len| sll_create_~len)} #t~post2 := ~len;~len := #t~post2 - 1; {1005#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2020-07-10 15:10:25,709 INFO L280 TraceCheckUtils]: 2: Hoare triple {1005#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1005#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2020-07-10 15:10:25,710 INFO L280 TraceCheckUtils]: 3: Hoare triple {1005#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1005#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2020-07-10 15:10:25,710 INFO L280 TraceCheckUtils]: 4: Hoare triple {1005#(<= |sll_create_#in~len| (+ sll_create_~len 1))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1005#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2020-07-10 15:10:25,714 INFO L280 TraceCheckUtils]: 5: Hoare triple {1005#(<= |sll_create_#in~len| (+ sll_create_~len 1))} #t~post2 := ~len;~len := #t~post2 - 1; {1006#(<= |sll_create_#in~len| (+ |sll_create_#t~post2| 1))} is VALID [2020-07-10 15:10:25,719 INFO L280 TraceCheckUtils]: 6: Hoare triple {1006#(<= |sll_create_#in~len| (+ |sll_create_#t~post2| 1))} assume !(#t~post2 > 0);havoc #t~post2; {1007#(<= |sll_create_#in~len| 1)} is VALID [2020-07-10 15:10:25,720 INFO L280 TraceCheckUtils]: 7: Hoare triple {1007#(<= |sll_create_#in~len| 1)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1007#(<= |sll_create_#in~len| 1)} is VALID [2020-07-10 15:10:25,721 INFO L280 TraceCheckUtils]: 8: Hoare triple {1007#(<= |sll_create_#in~len| 1)} assume true; {1007#(<= |sll_create_#in~len| 1)} is VALID [2020-07-10 15:10:25,721 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {1007#(<= |sll_create_#in~len| 1)} {977#(<= 2 main_~len~2)} #166#return; {965#false} is VALID [2020-07-10 15:10:25,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:25,738 INFO L280 TraceCheckUtils]: 0: Hoare triple {964#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {964#true} is VALID [2020-07-10 15:10:25,738 INFO L280 TraceCheckUtils]: 1: Hoare triple {964#true} #t~short12 := ~len~1 < ~until; {964#true} is VALID [2020-07-10 15:10:25,738 INFO L280 TraceCheckUtils]: 2: Hoare triple {964#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {964#true} is VALID [2020-07-10 15:10:25,738 INFO L280 TraceCheckUtils]: 3: Hoare triple {964#true} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {964#true} is VALID [2020-07-10 15:10:25,739 INFO L280 TraceCheckUtils]: 4: Hoare triple {964#true} #res := ~len~1; {964#true} is VALID [2020-07-10 15:10:25,739 INFO L280 TraceCheckUtils]: 5: Hoare triple {964#true} assume true; {964#true} is VALID [2020-07-10 15:10:25,739 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {964#true} {965#false} #168#return; {965#false} is VALID [2020-07-10 15:10:25,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:25,744 INFO L280 TraceCheckUtils]: 0: Hoare triple {964#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {964#true} is VALID [2020-07-10 15:10:25,744 INFO L280 TraceCheckUtils]: 1: Hoare triple {964#true} assume !(~head.base != 0 || ~head.offset != 0); {964#true} is VALID [2020-07-10 15:10:25,745 INFO L280 TraceCheckUtils]: 2: Hoare triple {964#true} #res := ~len~0; {964#true} is VALID [2020-07-10 15:10:25,745 INFO L280 TraceCheckUtils]: 3: Hoare triple {964#true} assume true; {964#true} is VALID [2020-07-10 15:10:25,745 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {964#true} {965#false} #174#return; {965#false} is VALID [2020-07-10 15:10:25,746 INFO L263 TraceCheckUtils]: 0: Hoare triple {964#true} call ULTIMATE.init(); {1000#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:10:25,747 INFO L280 TraceCheckUtils]: 1: Hoare triple {1000#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {964#true} is VALID [2020-07-10 15:10:25,747 INFO L280 TraceCheckUtils]: 2: Hoare triple {964#true} assume true; {964#true} is VALID [2020-07-10 15:10:25,747 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {964#true} {964#true} #180#return; {964#true} is VALID [2020-07-10 15:10:25,747 INFO L263 TraceCheckUtils]: 4: Hoare triple {964#true} call #t~ret24 := main(); {964#true} is VALID [2020-07-10 15:10:25,748 INFO L263 TraceCheckUtils]: 5: Hoare triple {964#true} call #t~ret14 := _get_nondet_int(2, 5); {964#true} is VALID [2020-07-10 15:10:25,749 INFO L280 TraceCheckUtils]: 6: Hoare triple {964#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:10:25,749 INFO L280 TraceCheckUtils]: 7: Hoare triple {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #t~short12 := ~len~1 < ~until; {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:10:25,750 INFO L280 TraceCheckUtils]: 8: Hoare triple {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:10:25,753 INFO L280 TraceCheckUtils]: 9: Hoare triple {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:10:25,754 INFO L280 TraceCheckUtils]: 10: Hoare triple {1001#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #res := ~len~1; {1002#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:10:25,755 INFO L280 TraceCheckUtils]: 11: Hoare triple {1002#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} assume true; {1002#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:10:25,756 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1002#(or (<= 2 |_get_nondet_int_#res|) (not (= 2 |_get_nondet_int_#in~from|)))} {964#true} #164#return; {976#(<= 2 |main_#t~ret14|)} is VALID [2020-07-10 15:10:25,756 INFO L280 TraceCheckUtils]: 13: Hoare triple {976#(<= 2 |main_#t~ret14|)} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {977#(<= 2 main_~len~2)} is VALID [2020-07-10 15:10:25,757 INFO L263 TraceCheckUtils]: 14: Hoare triple {977#(<= 2 main_~len~2)} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {1003#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 15:10:25,758 INFO L280 TraceCheckUtils]: 15: Hoare triple {1003#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {1004#(= |sll_create_#in~len| sll_create_~len)} is VALID [2020-07-10 15:10:25,759 INFO L280 TraceCheckUtils]: 16: Hoare triple {1004#(= |sll_create_#in~len| sll_create_~len)} #t~post2 := ~len;~len := #t~post2 - 1; {1005#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2020-07-10 15:10:25,759 INFO L280 TraceCheckUtils]: 17: Hoare triple {1005#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1005#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2020-07-10 15:10:25,760 INFO L280 TraceCheckUtils]: 18: Hoare triple {1005#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1005#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2020-07-10 15:10:25,760 INFO L280 TraceCheckUtils]: 19: Hoare triple {1005#(<= |sll_create_#in~len| (+ sll_create_~len 1))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1005#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2020-07-10 15:10:25,761 INFO L280 TraceCheckUtils]: 20: Hoare triple {1005#(<= |sll_create_#in~len| (+ sll_create_~len 1))} #t~post2 := ~len;~len := #t~post2 - 1; {1006#(<= |sll_create_#in~len| (+ |sll_create_#t~post2| 1))} is VALID [2020-07-10 15:10:25,762 INFO L280 TraceCheckUtils]: 21: Hoare triple {1006#(<= |sll_create_#in~len| (+ |sll_create_#t~post2| 1))} assume !(#t~post2 > 0);havoc #t~post2; {1007#(<= |sll_create_#in~len| 1)} is VALID [2020-07-10 15:10:25,763 INFO L280 TraceCheckUtils]: 22: Hoare triple {1007#(<= |sll_create_#in~len| 1)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1007#(<= |sll_create_#in~len| 1)} is VALID [2020-07-10 15:10:25,763 INFO L280 TraceCheckUtils]: 23: Hoare triple {1007#(<= |sll_create_#in~len| 1)} assume true; {1007#(<= |sll_create_#in~len| 1)} is VALID [2020-07-10 15:10:25,767 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {1007#(<= |sll_create_#in~len| 1)} {977#(<= 2 main_~len~2)} #166#return; {965#false} is VALID [2020-07-10 15:10:25,768 INFO L280 TraceCheckUtils]: 25: Hoare triple {965#false} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {965#false} is VALID [2020-07-10 15:10:25,768 INFO L263 TraceCheckUtils]: 26: Hoare triple {965#false} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {964#true} is VALID [2020-07-10 15:10:25,768 INFO L280 TraceCheckUtils]: 27: Hoare triple {964#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {964#true} is VALID [2020-07-10 15:10:25,768 INFO L280 TraceCheckUtils]: 28: Hoare triple {964#true} #t~short12 := ~len~1 < ~until; {964#true} is VALID [2020-07-10 15:10:25,769 INFO L280 TraceCheckUtils]: 29: Hoare triple {964#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {964#true} is VALID [2020-07-10 15:10:25,769 INFO L280 TraceCheckUtils]: 30: Hoare triple {964#true} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {964#true} is VALID [2020-07-10 15:10:25,769 INFO L280 TraceCheckUtils]: 31: Hoare triple {964#true} #res := ~len~1; {964#true} is VALID [2020-07-10 15:10:25,769 INFO L280 TraceCheckUtils]: 32: Hoare triple {964#true} assume true; {964#true} is VALID [2020-07-10 15:10:25,770 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {964#true} {965#false} #168#return; {965#false} is VALID [2020-07-10 15:10:25,770 INFO L280 TraceCheckUtils]: 34: Hoare triple {965#false} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {965#false} is VALID [2020-07-10 15:10:25,770 INFO L280 TraceCheckUtils]: 35: Hoare triple {965#false} #t~short18 := ~i~0 < ~k~0; {965#false} is VALID [2020-07-10 15:10:25,770 INFO L280 TraceCheckUtils]: 36: Hoare triple {965#false} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {965#false} is VALID [2020-07-10 15:10:25,771 INFO L280 TraceCheckUtils]: 37: Hoare triple {965#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {965#false} is VALID [2020-07-10 15:10:25,771 INFO L280 TraceCheckUtils]: 38: Hoare triple {965#false} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {965#false} is VALID [2020-07-10 15:10:25,771 INFO L263 TraceCheckUtils]: 39: Hoare triple {965#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {964#true} is VALID [2020-07-10 15:10:25,771 INFO L280 TraceCheckUtils]: 40: Hoare triple {964#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {964#true} is VALID [2020-07-10 15:10:25,772 INFO L280 TraceCheckUtils]: 41: Hoare triple {964#true} assume !(~head.base != 0 || ~head.offset != 0); {964#true} is VALID [2020-07-10 15:10:25,772 INFO L280 TraceCheckUtils]: 42: Hoare triple {964#true} #res := ~len~0; {964#true} is VALID [2020-07-10 15:10:25,772 INFO L280 TraceCheckUtils]: 43: Hoare triple {964#true} assume true; {964#true} is VALID [2020-07-10 15:10:25,772 INFO L275 TraceCheckUtils]: 44: Hoare quadruple {964#true} {965#false} #174#return; {965#false} is VALID [2020-07-10 15:10:25,773 INFO L280 TraceCheckUtils]: 45: Hoare triple {965#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {965#false} is VALID [2020-07-10 15:10:25,773 INFO L280 TraceCheckUtils]: 46: Hoare triple {965#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {965#false} is VALID [2020-07-10 15:10:25,773 INFO L280 TraceCheckUtils]: 47: Hoare triple {965#false} assume !false; {965#false} is VALID [2020-07-10 15:10:25,776 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-10 15:10:25,777 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [58007215] [2020-07-10 15:10:25,777 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1525378519] [2020-07-10 15:10:25,777 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:10:25,891 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:25,892 INFO L264 TraceCheckSpWp]: Trace formula consists of 187 conjuncts, 12 conjunts are in the unsatisfiable core [2020-07-10 15:10:25,908 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:25,910 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 15:10:26,077 INFO L263 TraceCheckUtils]: 0: Hoare triple {964#true} call ULTIMATE.init(); {964#true} is VALID [2020-07-10 15:10:26,079 INFO L280 TraceCheckUtils]: 1: Hoare triple {964#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {964#true} is VALID [2020-07-10 15:10:26,079 INFO L280 TraceCheckUtils]: 2: Hoare triple {964#true} assume true; {964#true} is VALID [2020-07-10 15:10:26,079 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {964#true} {964#true} #180#return; {964#true} is VALID [2020-07-10 15:10:26,080 INFO L263 TraceCheckUtils]: 4: Hoare triple {964#true} call #t~ret24 := main(); {964#true} is VALID [2020-07-10 15:10:26,080 INFO L263 TraceCheckUtils]: 5: Hoare triple {964#true} call #t~ret14 := _get_nondet_int(2, 5); {964#true} is VALID [2020-07-10 15:10:26,082 INFO L280 TraceCheckUtils]: 6: Hoare triple {964#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {1029#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} is VALID [2020-07-10 15:10:26,082 INFO L280 TraceCheckUtils]: 7: Hoare triple {1029#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} #t~short12 := ~len~1 < ~until; {1029#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} is VALID [2020-07-10 15:10:26,083 INFO L280 TraceCheckUtils]: 8: Hoare triple {1029#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {1029#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} is VALID [2020-07-10 15:10:26,083 INFO L280 TraceCheckUtils]: 9: Hoare triple {1029#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {1029#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} is VALID [2020-07-10 15:10:26,084 INFO L280 TraceCheckUtils]: 10: Hoare triple {1029#(<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1)} #res := ~len~1; {1042#(<= |_get_nondet_int_#in~from| |_get_nondet_int_#res|)} is VALID [2020-07-10 15:10:26,085 INFO L280 TraceCheckUtils]: 11: Hoare triple {1042#(<= |_get_nondet_int_#in~from| |_get_nondet_int_#res|)} assume true; {1042#(<= |_get_nondet_int_#in~from| |_get_nondet_int_#res|)} is VALID [2020-07-10 15:10:26,086 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1042#(<= |_get_nondet_int_#in~from| |_get_nondet_int_#res|)} {964#true} #164#return; {976#(<= 2 |main_#t~ret14|)} is VALID [2020-07-10 15:10:26,087 INFO L280 TraceCheckUtils]: 13: Hoare triple {976#(<= 2 |main_#t~ret14|)} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {977#(<= 2 main_~len~2)} is VALID [2020-07-10 15:10:26,087 INFO L263 TraceCheckUtils]: 14: Hoare triple {977#(<= 2 main_~len~2)} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {964#true} is VALID [2020-07-10 15:10:26,088 INFO L280 TraceCheckUtils]: 15: Hoare triple {964#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {1058#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2020-07-10 15:10:26,089 INFO L280 TraceCheckUtils]: 16: Hoare triple {1058#(<= |sll_create_#in~len| sll_create_~len)} #t~post2 := ~len;~len := #t~post2 - 1; {1005#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2020-07-10 15:10:26,090 INFO L280 TraceCheckUtils]: 17: Hoare triple {1005#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1005#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2020-07-10 15:10:26,091 INFO L280 TraceCheckUtils]: 18: Hoare triple {1005#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1005#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2020-07-10 15:10:26,092 INFO L280 TraceCheckUtils]: 19: Hoare triple {1005#(<= |sll_create_#in~len| (+ sll_create_~len 1))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1005#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2020-07-10 15:10:26,093 INFO L280 TraceCheckUtils]: 20: Hoare triple {1005#(<= |sll_create_#in~len| (+ sll_create_~len 1))} #t~post2 := ~len;~len := #t~post2 - 1; {1006#(<= |sll_create_#in~len| (+ |sll_create_#t~post2| 1))} is VALID [2020-07-10 15:10:26,094 INFO L280 TraceCheckUtils]: 21: Hoare triple {1006#(<= |sll_create_#in~len| (+ |sll_create_#t~post2| 1))} assume !(#t~post2 > 0);havoc #t~post2; {1007#(<= |sll_create_#in~len| 1)} is VALID [2020-07-10 15:10:26,097 INFO L280 TraceCheckUtils]: 22: Hoare triple {1007#(<= |sll_create_#in~len| 1)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1007#(<= |sll_create_#in~len| 1)} is VALID [2020-07-10 15:10:26,097 INFO L280 TraceCheckUtils]: 23: Hoare triple {1007#(<= |sll_create_#in~len| 1)} assume true; {1007#(<= |sll_create_#in~len| 1)} is VALID [2020-07-10 15:10:26,099 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {1007#(<= |sll_create_#in~len| 1)} {977#(<= 2 main_~len~2)} #166#return; {965#false} is VALID [2020-07-10 15:10:26,099 INFO L280 TraceCheckUtils]: 25: Hoare triple {965#false} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {965#false} is VALID [2020-07-10 15:10:26,099 INFO L263 TraceCheckUtils]: 26: Hoare triple {965#false} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {965#false} is VALID [2020-07-10 15:10:26,100 INFO L280 TraceCheckUtils]: 27: Hoare triple {965#false} ~from := #in~from;~until := #in~until;~len~1 := ~from; {965#false} is VALID [2020-07-10 15:10:26,100 INFO L280 TraceCheckUtils]: 28: Hoare triple {965#false} #t~short12 := ~len~1 < ~until; {965#false} is VALID [2020-07-10 15:10:26,100 INFO L280 TraceCheckUtils]: 29: Hoare triple {965#false} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {965#false} is VALID [2020-07-10 15:10:26,100 INFO L280 TraceCheckUtils]: 30: Hoare triple {965#false} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {965#false} is VALID [2020-07-10 15:10:26,101 INFO L280 TraceCheckUtils]: 31: Hoare triple {965#false} #res := ~len~1; {965#false} is VALID [2020-07-10 15:10:26,101 INFO L280 TraceCheckUtils]: 32: Hoare triple {965#false} assume true; {965#false} is VALID [2020-07-10 15:10:26,101 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {965#false} {965#false} #168#return; {965#false} is VALID [2020-07-10 15:10:26,101 INFO L280 TraceCheckUtils]: 34: Hoare triple {965#false} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {965#false} is VALID [2020-07-10 15:10:26,102 INFO L280 TraceCheckUtils]: 35: Hoare triple {965#false} #t~short18 := ~i~0 < ~k~0; {965#false} is VALID [2020-07-10 15:10:26,102 INFO L280 TraceCheckUtils]: 36: Hoare triple {965#false} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {965#false} is VALID [2020-07-10 15:10:26,102 INFO L280 TraceCheckUtils]: 37: Hoare triple {965#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {965#false} is VALID [2020-07-10 15:10:26,103 INFO L280 TraceCheckUtils]: 38: Hoare triple {965#false} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {965#false} is VALID [2020-07-10 15:10:26,103 INFO L263 TraceCheckUtils]: 39: Hoare triple {965#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {965#false} is VALID [2020-07-10 15:10:26,103 INFO L280 TraceCheckUtils]: 40: Hoare triple {965#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {965#false} is VALID [2020-07-10 15:10:26,103 INFO L280 TraceCheckUtils]: 41: Hoare triple {965#false} assume !(~head.base != 0 || ~head.offset != 0); {965#false} is VALID [2020-07-10 15:10:26,104 INFO L280 TraceCheckUtils]: 42: Hoare triple {965#false} #res := ~len~0; {965#false} is VALID [2020-07-10 15:10:26,104 INFO L280 TraceCheckUtils]: 43: Hoare triple {965#false} assume true; {965#false} is VALID [2020-07-10 15:10:26,104 INFO L275 TraceCheckUtils]: 44: Hoare quadruple {965#false} {965#false} #174#return; {965#false} is VALID [2020-07-10 15:10:26,105 INFO L280 TraceCheckUtils]: 45: Hoare triple {965#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {965#false} is VALID [2020-07-10 15:10:26,105 INFO L280 TraceCheckUtils]: 46: Hoare triple {965#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {965#false} is VALID [2020-07-10 15:10:26,105 INFO L280 TraceCheckUtils]: 47: Hoare triple {965#false} assume !false; {965#false} is VALID [2020-07-10 15:10:26,110 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 7 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:10:26,111 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-10 15:10:26,111 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10] total 15 [2020-07-10 15:10:26,111 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1613724764] [2020-07-10 15:10:26,113 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 48 [2020-07-10 15:10:26,118 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:10:26,118 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2020-07-10 15:10:26,216 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:10:26,217 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2020-07-10 15:10:26,217 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:10:26,217 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2020-07-10 15:10:26,218 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=179, Unknown=0, NotChecked=0, Total=210 [2020-07-10 15:10:26,218 INFO L87 Difference]: Start difference. First operand 55 states and 64 transitions. Second operand 15 states. [2020-07-10 15:10:28,175 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:10:28,175 INFO L93 Difference]: Finished difference Result 114 states and 139 transitions. [2020-07-10 15:10:28,175 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2020-07-10 15:10:28,175 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 48 [2020-07-10 15:10:28,176 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:10:28,176 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-10 15:10:28,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 139 transitions. [2020-07-10 15:10:28,180 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-10 15:10:28,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 139 transitions. [2020-07-10 15:10:28,185 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 139 transitions. [2020-07-10 15:10:28,386 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 139 edges. 139 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:10:28,391 INFO L225 Difference]: With dead ends: 114 [2020-07-10 15:10:28,391 INFO L226 Difference]: Without dead ends: 74 [2020-07-10 15:10:28,392 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 57 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=123, Invalid=527, Unknown=0, NotChecked=0, Total=650 [2020-07-10 15:10:28,393 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2020-07-10 15:10:28,434 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 59. [2020-07-10 15:10:28,435 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:10:28,435 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand 59 states. [2020-07-10 15:10:28,435 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 59 states. [2020-07-10 15:10:28,435 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 59 states. [2020-07-10 15:10:28,440 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:10:28,440 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2020-07-10 15:10:28,440 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2020-07-10 15:10:28,442 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:10:28,442 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:10:28,442 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 74 states. [2020-07-10 15:10:28,442 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 74 states. [2020-07-10 15:10:28,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:10:28,447 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2020-07-10 15:10:28,447 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2020-07-10 15:10:28,448 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:10:28,448 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:10:28,448 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:10:28,448 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:10:28,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 59 states. [2020-07-10 15:10:28,451 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 68 transitions. [2020-07-10 15:10:28,451 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 68 transitions. Word has length 48 [2020-07-10 15:10:28,452 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:10:28,452 INFO L479 AbstractCegarLoop]: Abstraction has 59 states and 68 transitions. [2020-07-10 15:10:28,452 INFO L480 AbstractCegarLoop]: Interpolant automaton has 15 states. [2020-07-10 15:10:28,452 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 68 transitions. [2020-07-10 15:10:28,453 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2020-07-10 15:10:28,454 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:10:28,454 INFO L422 BasicCegarLoop]: trace histogram [3, 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] [2020-07-10 15:10:28,669 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:10:28,670 INFO L427 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:10:28,671 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:10:28,671 INFO L82 PathProgramCache]: Analyzing trace with hash -137443652, now seen corresponding path program 2 times [2020-07-10 15:10:28,671 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:10:28,672 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [614569911] [2020-07-10 15:10:28,672 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:10:28,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:28,793 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:28,804 INFO L280 TraceCheckUtils]: 0: Hoare triple {1601#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1560#true} is VALID [2020-07-10 15:10:28,805 INFO L280 TraceCheckUtils]: 1: Hoare triple {1560#true} assume true; {1560#true} is VALID [2020-07-10 15:10:28,805 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1560#true} {1560#true} #180#return; {1560#true} is VALID [2020-07-10 15:10:28,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:28,814 INFO L280 TraceCheckUtils]: 0: Hoare triple {1560#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {1560#true} is VALID [2020-07-10 15:10:28,815 INFO L280 TraceCheckUtils]: 1: Hoare triple {1560#true} #t~short12 := ~len~1 < ~until; {1560#true} is VALID [2020-07-10 15:10:28,815 INFO L280 TraceCheckUtils]: 2: Hoare triple {1560#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {1560#true} is VALID [2020-07-10 15:10:28,815 INFO L280 TraceCheckUtils]: 3: Hoare triple {1560#true} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {1560#true} is VALID [2020-07-10 15:10:28,816 INFO L280 TraceCheckUtils]: 4: Hoare triple {1560#true} #res := ~len~1; {1560#true} is VALID [2020-07-10 15:10:28,816 INFO L280 TraceCheckUtils]: 5: Hoare triple {1560#true} assume true; {1560#true} is VALID [2020-07-10 15:10:28,816 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {1560#true} {1560#true} #164#return; {1560#true} is VALID [2020-07-10 15:10:28,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:28,912 INFO L280 TraceCheckUtils]: 0: Hoare triple {1602#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {1560#true} is VALID [2020-07-10 15:10:28,913 INFO L280 TraceCheckUtils]: 1: Hoare triple {1560#true} #t~post2 := ~len;~len := #t~post2 - 1; {1560#true} is VALID [2020-07-10 15:10:28,913 INFO L280 TraceCheckUtils]: 2: Hoare triple {1560#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1560#true} is VALID [2020-07-10 15:10:28,913 INFO L280 TraceCheckUtils]: 3: Hoare triple {1560#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1560#true} is VALID [2020-07-10 15:10:28,914 INFO L280 TraceCheckUtils]: 4: Hoare triple {1560#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1560#true} is VALID [2020-07-10 15:10:28,914 INFO L280 TraceCheckUtils]: 5: Hoare triple {1560#true} #t~post2 := ~len;~len := #t~post2 - 1; {1560#true} is VALID [2020-07-10 15:10:28,915 INFO L280 TraceCheckUtils]: 6: Hoare triple {1560#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1603#(or (<= 1 sll_create_~new_head~0.base) (<= (+ sll_create_~new_head~0.base 1) 0))} is VALID [2020-07-10 15:10:28,916 INFO L280 TraceCheckUtils]: 7: Hoare triple {1603#(or (<= 1 sll_create_~new_head~0.base) (<= (+ sll_create_~new_head~0.base 1) 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1603#(or (<= 1 sll_create_~new_head~0.base) (<= (+ sll_create_~new_head~0.base 1) 0))} is VALID [2020-07-10 15:10:28,916 INFO L280 TraceCheckUtils]: 8: Hoare triple {1603#(or (<= 1 sll_create_~new_head~0.base) (<= (+ sll_create_~new_head~0.base 1) 0))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1604#(or (<= (+ sll_create_~head~0.base 1) 0) (<= 1 sll_create_~head~0.base))} is VALID [2020-07-10 15:10:28,917 INFO L280 TraceCheckUtils]: 9: Hoare triple {1604#(or (<= (+ sll_create_~head~0.base 1) 0) (<= 1 sll_create_~head~0.base))} #t~post2 := ~len;~len := #t~post2 - 1; {1604#(or (<= (+ sll_create_~head~0.base 1) 0) (<= 1 sll_create_~head~0.base))} is VALID [2020-07-10 15:10:28,917 INFO L280 TraceCheckUtils]: 10: Hoare triple {1604#(or (<= (+ sll_create_~head~0.base 1) 0) (<= 1 sll_create_~head~0.base))} assume !(#t~post2 > 0);havoc #t~post2; {1604#(or (<= (+ sll_create_~head~0.base 1) 0) (<= 1 sll_create_~head~0.base))} is VALID [2020-07-10 15:10:28,918 INFO L280 TraceCheckUtils]: 11: Hoare triple {1604#(or (<= (+ sll_create_~head~0.base 1) 0) (<= 1 sll_create_~head~0.base))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1605#(or (<= 1 |sll_create_#res.base|) (<= (+ |sll_create_#res.base| 1) 0))} is VALID [2020-07-10 15:10:28,918 INFO L280 TraceCheckUtils]: 12: Hoare triple {1605#(or (<= 1 |sll_create_#res.base|) (<= (+ |sll_create_#res.base| 1) 0))} assume true; {1605#(or (<= 1 |sll_create_#res.base|) (<= (+ |sll_create_#res.base| 1) 0))} is VALID [2020-07-10 15:10:28,920 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {1605#(or (<= 1 |sll_create_#res.base|) (<= (+ |sll_create_#res.base| 1) 0))} {1560#true} #166#return; {1586#(not (= 0 |main_#t~ret15.base|))} is VALID [2020-07-10 15:10:28,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:28,939 INFO L280 TraceCheckUtils]: 0: Hoare triple {1560#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {1560#true} is VALID [2020-07-10 15:10:28,940 INFO L280 TraceCheckUtils]: 1: Hoare triple {1560#true} #t~short12 := ~len~1 < ~until; {1560#true} is VALID [2020-07-10 15:10:28,940 INFO L280 TraceCheckUtils]: 2: Hoare triple {1560#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {1560#true} is VALID [2020-07-10 15:10:28,940 INFO L280 TraceCheckUtils]: 3: Hoare triple {1560#true} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {1560#true} is VALID [2020-07-10 15:10:28,940 INFO L280 TraceCheckUtils]: 4: Hoare triple {1560#true} #res := ~len~1; {1560#true} is VALID [2020-07-10 15:10:28,941 INFO L280 TraceCheckUtils]: 5: Hoare triple {1560#true} assume true; {1560#true} is VALID [2020-07-10 15:10:28,957 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {1560#true} {1587#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} #168#return; {1587#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} is VALID [2020-07-10 15:10:28,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:29,009 INFO L280 TraceCheckUtils]: 0: Hoare triple {1560#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {1606#(= |sll_length_#in~head.base| sll_length_~head.base)} is VALID [2020-07-10 15:10:29,010 INFO L280 TraceCheckUtils]: 1: Hoare triple {1606#(= |sll_length_#in~head.base| sll_length_~head.base)} assume !(~head.base != 0 || ~head.offset != 0); {1607#(= 0 |sll_length_#in~head.base|)} is VALID [2020-07-10 15:10:29,011 INFO L280 TraceCheckUtils]: 2: Hoare triple {1607#(= 0 |sll_length_#in~head.base|)} #res := ~len~0; {1607#(= 0 |sll_length_#in~head.base|)} is VALID [2020-07-10 15:10:29,017 INFO L280 TraceCheckUtils]: 3: Hoare triple {1607#(= 0 |sll_length_#in~head.base|)} assume true; {1607#(= 0 |sll_length_#in~head.base|)} is VALID [2020-07-10 15:10:29,019 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1607#(= 0 |sll_length_#in~head.base|)} {1595#(not (= 0 |main_#t~mem21.base|))} #174#return; {1561#false} is VALID [2020-07-10 15:10:29,020 INFO L263 TraceCheckUtils]: 0: Hoare triple {1560#true} call ULTIMATE.init(); {1601#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:10:29,020 INFO L280 TraceCheckUtils]: 1: Hoare triple {1601#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1560#true} is VALID [2020-07-10 15:10:29,020 INFO L280 TraceCheckUtils]: 2: Hoare triple {1560#true} assume true; {1560#true} is VALID [2020-07-10 15:10:29,020 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1560#true} {1560#true} #180#return; {1560#true} is VALID [2020-07-10 15:10:29,021 INFO L263 TraceCheckUtils]: 4: Hoare triple {1560#true} call #t~ret24 := main(); {1560#true} is VALID [2020-07-10 15:10:29,021 INFO L263 TraceCheckUtils]: 5: Hoare triple {1560#true} call #t~ret14 := _get_nondet_int(2, 5); {1560#true} is VALID [2020-07-10 15:10:29,021 INFO L280 TraceCheckUtils]: 6: Hoare triple {1560#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {1560#true} is VALID [2020-07-10 15:10:29,022 INFO L280 TraceCheckUtils]: 7: Hoare triple {1560#true} #t~short12 := ~len~1 < ~until; {1560#true} is VALID [2020-07-10 15:10:29,022 INFO L280 TraceCheckUtils]: 8: Hoare triple {1560#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {1560#true} is VALID [2020-07-10 15:10:29,022 INFO L280 TraceCheckUtils]: 9: Hoare triple {1560#true} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {1560#true} is VALID [2020-07-10 15:10:29,023 INFO L280 TraceCheckUtils]: 10: Hoare triple {1560#true} #res := ~len~1; {1560#true} is VALID [2020-07-10 15:10:29,023 INFO L280 TraceCheckUtils]: 11: Hoare triple {1560#true} assume true; {1560#true} is VALID [2020-07-10 15:10:29,023 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1560#true} {1560#true} #164#return; {1560#true} is VALID [2020-07-10 15:10:29,023 INFO L280 TraceCheckUtils]: 13: Hoare triple {1560#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {1560#true} is VALID [2020-07-10 15:10:29,024 INFO L263 TraceCheckUtils]: 14: Hoare triple {1560#true} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {1602#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 15:10:29,025 INFO L280 TraceCheckUtils]: 15: Hoare triple {1602#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {1560#true} is VALID [2020-07-10 15:10:29,025 INFO L280 TraceCheckUtils]: 16: Hoare triple {1560#true} #t~post2 := ~len;~len := #t~post2 - 1; {1560#true} is VALID [2020-07-10 15:10:29,025 INFO L280 TraceCheckUtils]: 17: Hoare triple {1560#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1560#true} is VALID [2020-07-10 15:10:29,025 INFO L280 TraceCheckUtils]: 18: Hoare triple {1560#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1560#true} is VALID [2020-07-10 15:10:29,025 INFO L280 TraceCheckUtils]: 19: Hoare triple {1560#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1560#true} is VALID [2020-07-10 15:10:29,025 INFO L280 TraceCheckUtils]: 20: Hoare triple {1560#true} #t~post2 := ~len;~len := #t~post2 - 1; {1560#true} is VALID [2020-07-10 15:10:29,026 INFO L280 TraceCheckUtils]: 21: Hoare triple {1560#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1603#(or (<= 1 sll_create_~new_head~0.base) (<= (+ sll_create_~new_head~0.base 1) 0))} is VALID [2020-07-10 15:10:29,027 INFO L280 TraceCheckUtils]: 22: Hoare triple {1603#(or (<= 1 sll_create_~new_head~0.base) (<= (+ sll_create_~new_head~0.base 1) 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1603#(or (<= 1 sll_create_~new_head~0.base) (<= (+ sll_create_~new_head~0.base 1) 0))} is VALID [2020-07-10 15:10:29,028 INFO L280 TraceCheckUtils]: 23: Hoare triple {1603#(or (<= 1 sll_create_~new_head~0.base) (<= (+ sll_create_~new_head~0.base 1) 0))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1604#(or (<= (+ sll_create_~head~0.base 1) 0) (<= 1 sll_create_~head~0.base))} is VALID [2020-07-10 15:10:29,028 INFO L280 TraceCheckUtils]: 24: Hoare triple {1604#(or (<= (+ sll_create_~head~0.base 1) 0) (<= 1 sll_create_~head~0.base))} #t~post2 := ~len;~len := #t~post2 - 1; {1604#(or (<= (+ sll_create_~head~0.base 1) 0) (<= 1 sll_create_~head~0.base))} is VALID [2020-07-10 15:10:29,029 INFO L280 TraceCheckUtils]: 25: Hoare triple {1604#(or (<= (+ sll_create_~head~0.base 1) 0) (<= 1 sll_create_~head~0.base))} assume !(#t~post2 > 0);havoc #t~post2; {1604#(or (<= (+ sll_create_~head~0.base 1) 0) (<= 1 sll_create_~head~0.base))} is VALID [2020-07-10 15:10:29,029 INFO L280 TraceCheckUtils]: 26: Hoare triple {1604#(or (<= (+ sll_create_~head~0.base 1) 0) (<= 1 sll_create_~head~0.base))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1605#(or (<= 1 |sll_create_#res.base|) (<= (+ |sll_create_#res.base| 1) 0))} is VALID [2020-07-10 15:10:29,030 INFO L280 TraceCheckUtils]: 27: Hoare triple {1605#(or (<= 1 |sll_create_#res.base|) (<= (+ |sll_create_#res.base| 1) 0))} assume true; {1605#(or (<= 1 |sll_create_#res.base|) (<= (+ |sll_create_#res.base| 1) 0))} is VALID [2020-07-10 15:10:29,031 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {1605#(or (<= 1 |sll_create_#res.base|) (<= (+ |sll_create_#res.base| 1) 0))} {1560#true} #166#return; {1586#(not (= 0 |main_#t~ret15.base|))} is VALID [2020-07-10 15:10:29,032 INFO L280 TraceCheckUtils]: 29: Hoare triple {1586#(not (= 0 |main_#t~ret15.base|))} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {1587#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} is VALID [2020-07-10 15:10:29,032 INFO L263 TraceCheckUtils]: 30: Hoare triple {1587#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {1560#true} is VALID [2020-07-10 15:10:29,033 INFO L280 TraceCheckUtils]: 31: Hoare triple {1560#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {1560#true} is VALID [2020-07-10 15:10:29,033 INFO L280 TraceCheckUtils]: 32: Hoare triple {1560#true} #t~short12 := ~len~1 < ~until; {1560#true} is VALID [2020-07-10 15:10:29,033 INFO L280 TraceCheckUtils]: 33: Hoare triple {1560#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {1560#true} is VALID [2020-07-10 15:10:29,033 INFO L280 TraceCheckUtils]: 34: Hoare triple {1560#true} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {1560#true} is VALID [2020-07-10 15:10:29,033 INFO L280 TraceCheckUtils]: 35: Hoare triple {1560#true} #res := ~len~1; {1560#true} is VALID [2020-07-10 15:10:29,033 INFO L280 TraceCheckUtils]: 36: Hoare triple {1560#true} assume true; {1560#true} is VALID [2020-07-10 15:10:29,034 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {1560#true} {1587#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} #168#return; {1587#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} is VALID [2020-07-10 15:10:29,035 INFO L280 TraceCheckUtils]: 38: Hoare triple {1587#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {1587#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} is VALID [2020-07-10 15:10:29,035 INFO L280 TraceCheckUtils]: 39: Hoare triple {1587#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} #t~short18 := ~i~0 < ~k~0; {1587#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} is VALID [2020-07-10 15:10:29,036 INFO L280 TraceCheckUtils]: 40: Hoare triple {1587#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {1587#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} is VALID [2020-07-10 15:10:29,036 INFO L280 TraceCheckUtils]: 41: Hoare triple {1587#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {1587#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} is VALID [2020-07-10 15:10:29,038 INFO L280 TraceCheckUtils]: 42: Hoare triple {1587#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {1595#(not (= 0 |main_#t~mem21.base|))} is VALID [2020-07-10 15:10:29,038 INFO L263 TraceCheckUtils]: 43: Hoare triple {1595#(not (= 0 |main_#t~mem21.base|))} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {1560#true} is VALID [2020-07-10 15:10:29,042 INFO L280 TraceCheckUtils]: 44: Hoare triple {1560#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {1606#(= |sll_length_#in~head.base| sll_length_~head.base)} is VALID [2020-07-10 15:10:29,043 INFO L280 TraceCheckUtils]: 45: Hoare triple {1606#(= |sll_length_#in~head.base| sll_length_~head.base)} assume !(~head.base != 0 || ~head.offset != 0); {1607#(= 0 |sll_length_#in~head.base|)} is VALID [2020-07-10 15:10:29,044 INFO L280 TraceCheckUtils]: 46: Hoare triple {1607#(= 0 |sll_length_#in~head.base|)} #res := ~len~0; {1607#(= 0 |sll_length_#in~head.base|)} is VALID [2020-07-10 15:10:29,044 INFO L280 TraceCheckUtils]: 47: Hoare triple {1607#(= 0 |sll_length_#in~head.base|)} assume true; {1607#(= 0 |sll_length_#in~head.base|)} is VALID [2020-07-10 15:10:29,045 INFO L275 TraceCheckUtils]: 48: Hoare quadruple {1607#(= 0 |sll_length_#in~head.base|)} {1595#(not (= 0 |main_#t~mem21.base|))} #174#return; {1561#false} is VALID [2020-07-10 15:10:29,045 INFO L280 TraceCheckUtils]: 49: Hoare triple {1561#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {1561#false} is VALID [2020-07-10 15:10:29,046 INFO L280 TraceCheckUtils]: 50: Hoare triple {1561#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {1561#false} is VALID [2020-07-10 15:10:29,046 INFO L280 TraceCheckUtils]: 51: Hoare triple {1561#false} assume !false; {1561#false} is VALID [2020-07-10 15:10:29,051 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2020-07-10 15:10:29,051 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [614569911] [2020-07-10 15:10:29,051 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:10:29,051 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2020-07-10 15:10:29,052 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1145398138] [2020-07-10 15:10:29,052 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 52 [2020-07-10 15:10:29,053 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:10:29,053 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-10 15:10:29,130 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:10:29,130 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-10 15:10:29,130 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:10:29,131 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-10 15:10:29,131 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=111, Unknown=0, NotChecked=0, Total=132 [2020-07-10 15:10:29,131 INFO L87 Difference]: Start difference. First operand 59 states and 68 transitions. Second operand 12 states. [2020-07-10 15:10:30,676 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:10:30,677 INFO L93 Difference]: Finished difference Result 79 states and 93 transitions. [2020-07-10 15:10:30,677 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-10 15:10:30,677 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 52 [2020-07-10 15:10:30,677 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:10:30,678 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-10 15:10:30,680 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 91 transitions. [2020-07-10 15:10:30,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-10 15:10:30,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 91 transitions. [2020-07-10 15:10:30,684 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 91 transitions. [2020-07-10 15:10:30,814 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:10:30,819 INFO L225 Difference]: With dead ends: 79 [2020-07-10 15:10:30,819 INFO L226 Difference]: Without dead ends: 75 [2020-07-10 15:10:30,820 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=53, Invalid=253, Unknown=0, NotChecked=0, Total=306 [2020-07-10 15:10:30,820 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2020-07-10 15:10:30,882 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 68. [2020-07-10 15:10:30,882 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:10:30,882 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand 68 states. [2020-07-10 15:10:30,883 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 68 states. [2020-07-10 15:10:30,883 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 68 states. [2020-07-10 15:10:30,889 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:10:30,889 INFO L93 Difference]: Finished difference Result 75 states and 89 transitions. [2020-07-10 15:10:30,889 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 89 transitions. [2020-07-10 15:10:30,890 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:10:30,890 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:10:30,890 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand 75 states. [2020-07-10 15:10:30,891 INFO L87 Difference]: Start difference. First operand 68 states. Second operand 75 states. [2020-07-10 15:10:30,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:10:30,898 INFO L93 Difference]: Finished difference Result 75 states and 89 transitions. [2020-07-10 15:10:30,898 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 89 transitions. [2020-07-10 15:10:30,898 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:10:30,899 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:10:30,899 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:10:30,899 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:10:30,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 68 states. [2020-07-10 15:10:30,903 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 81 transitions. [2020-07-10 15:10:30,903 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 81 transitions. Word has length 52 [2020-07-10 15:10:30,903 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:10:30,903 INFO L479 AbstractCegarLoop]: Abstraction has 68 states and 81 transitions. [2020-07-10 15:10:30,903 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-10 15:10:30,904 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 81 transitions. [2020-07-10 15:10:30,907 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2020-07-10 15:10:30,907 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:10:30,908 INFO L422 BasicCegarLoop]: trace histogram [3, 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] [2020-07-10 15:10:30,908 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-10 15:10:30,908 INFO L427 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:10:30,908 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:10:30,908 INFO L82 PathProgramCache]: Analyzing trace with hash -1960431148, now seen corresponding path program 1 times [2020-07-10 15:10:30,909 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:10:30,909 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [898245046] [2020-07-10 15:10:30,909 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:10:30,934 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:30,990 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:30,994 INFO L280 TraceCheckUtils]: 0: Hoare triple {2015#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1973#true} is VALID [2020-07-10 15:10:30,994 INFO L280 TraceCheckUtils]: 1: Hoare triple {1973#true} assume true; {1973#true} is VALID [2020-07-10 15:10:30,994 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1973#true} {1973#true} #180#return; {1973#true} is VALID [2020-07-10 15:10:30,995 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:30,999 INFO L280 TraceCheckUtils]: 0: Hoare triple {1973#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {1973#true} is VALID [2020-07-10 15:10:31,000 INFO L280 TraceCheckUtils]: 1: Hoare triple {1973#true} #t~short12 := ~len~1 < ~until; {1973#true} is VALID [2020-07-10 15:10:31,000 INFO L280 TraceCheckUtils]: 2: Hoare triple {1973#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {1973#true} is VALID [2020-07-10 15:10:31,000 INFO L280 TraceCheckUtils]: 3: Hoare triple {1973#true} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {1973#true} is VALID [2020-07-10 15:10:31,000 INFO L280 TraceCheckUtils]: 4: Hoare triple {1973#true} #res := ~len~1; {1973#true} is VALID [2020-07-10 15:10:31,001 INFO L280 TraceCheckUtils]: 5: Hoare triple {1973#true} assume true; {1973#true} is VALID [2020-07-10 15:10:31,001 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {1973#true} {1973#true} #164#return; {1973#true} is VALID [2020-07-10 15:10:31,018 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:31,026 INFO L280 TraceCheckUtils]: 0: Hoare triple {2016#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {1973#true} is VALID [2020-07-10 15:10:31,026 INFO L280 TraceCheckUtils]: 1: Hoare triple {1973#true} #t~post2 := ~len;~len := #t~post2 - 1; {1973#true} is VALID [2020-07-10 15:10:31,026 INFO L280 TraceCheckUtils]: 2: Hoare triple {1973#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1973#true} is VALID [2020-07-10 15:10:31,027 INFO L280 TraceCheckUtils]: 3: Hoare triple {1973#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1973#true} is VALID [2020-07-10 15:10:31,027 INFO L280 TraceCheckUtils]: 4: Hoare triple {1973#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1973#true} is VALID [2020-07-10 15:10:31,027 INFO L280 TraceCheckUtils]: 5: Hoare triple {1973#true} #t~post2 := ~len;~len := #t~post2 - 1; {1973#true} is VALID [2020-07-10 15:10:31,027 INFO L280 TraceCheckUtils]: 6: Hoare triple {1973#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1973#true} is VALID [2020-07-10 15:10:31,027 INFO L280 TraceCheckUtils]: 7: Hoare triple {1973#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1973#true} is VALID [2020-07-10 15:10:31,028 INFO L280 TraceCheckUtils]: 8: Hoare triple {1973#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1973#true} is VALID [2020-07-10 15:10:31,028 INFO L280 TraceCheckUtils]: 9: Hoare triple {1973#true} #t~post2 := ~len;~len := #t~post2 - 1; {1973#true} is VALID [2020-07-10 15:10:31,028 INFO L280 TraceCheckUtils]: 10: Hoare triple {1973#true} assume !(#t~post2 > 0);havoc #t~post2; {1973#true} is VALID [2020-07-10 15:10:31,028 INFO L280 TraceCheckUtils]: 11: Hoare triple {1973#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1973#true} is VALID [2020-07-10 15:10:31,029 INFO L280 TraceCheckUtils]: 12: Hoare triple {1973#true} assume true; {1973#true} is VALID [2020-07-10 15:10:31,029 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {1973#true} {1973#true} #166#return; {1973#true} is VALID [2020-07-10 15:10:31,032 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:31,084 INFO L280 TraceCheckUtils]: 0: Hoare triple {1973#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {2017#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-10 15:10:31,085 INFO L280 TraceCheckUtils]: 1: Hoare triple {2017#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} #t~short12 := ~len~1 < ~until; {2017#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-10 15:10:31,085 INFO L280 TraceCheckUtils]: 2: Hoare triple {2017#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {2017#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-10 15:10:31,086 INFO L280 TraceCheckUtils]: 3: Hoare triple {2017#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {2017#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-10 15:10:31,087 INFO L280 TraceCheckUtils]: 4: Hoare triple {2017#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} #res := ~len~1; {2018#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:10:31,087 INFO L280 TraceCheckUtils]: 5: Hoare triple {2018#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} assume true; {2018#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:10:31,088 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {2018#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} {1973#true} #168#return; {2006#(= |main_#t~ret16| 0)} is VALID [2020-07-10 15:10:31,090 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:31,095 INFO L280 TraceCheckUtils]: 0: Hoare triple {1973#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {1973#true} is VALID [2020-07-10 15:10:31,096 INFO L280 TraceCheckUtils]: 1: Hoare triple {1973#true} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {1973#true} is VALID [2020-07-10 15:10:31,096 INFO L280 TraceCheckUtils]: 2: Hoare triple {1973#true} assume !(~head.base != 0 || ~head.offset != 0); {1973#true} is VALID [2020-07-10 15:10:31,096 INFO L280 TraceCheckUtils]: 3: Hoare triple {1973#true} #res := ~len~0; {1973#true} is VALID [2020-07-10 15:10:31,096 INFO L280 TraceCheckUtils]: 4: Hoare triple {1973#true} assume true; {1973#true} is VALID [2020-07-10 15:10:31,097 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1973#true} {1974#false} #174#return; {1974#false} is VALID [2020-07-10 15:10:31,098 INFO L263 TraceCheckUtils]: 0: Hoare triple {1973#true} call ULTIMATE.init(); {2015#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:10:31,098 INFO L280 TraceCheckUtils]: 1: Hoare triple {2015#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1973#true} is VALID [2020-07-10 15:10:31,098 INFO L280 TraceCheckUtils]: 2: Hoare triple {1973#true} assume true; {1973#true} is VALID [2020-07-10 15:10:31,098 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1973#true} {1973#true} #180#return; {1973#true} is VALID [2020-07-10 15:10:31,098 INFO L263 TraceCheckUtils]: 4: Hoare triple {1973#true} call #t~ret24 := main(); {1973#true} is VALID [2020-07-10 15:10:31,099 INFO L263 TraceCheckUtils]: 5: Hoare triple {1973#true} call #t~ret14 := _get_nondet_int(2, 5); {1973#true} is VALID [2020-07-10 15:10:31,099 INFO L280 TraceCheckUtils]: 6: Hoare triple {1973#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {1973#true} is VALID [2020-07-10 15:10:31,099 INFO L280 TraceCheckUtils]: 7: Hoare triple {1973#true} #t~short12 := ~len~1 < ~until; {1973#true} is VALID [2020-07-10 15:10:31,099 INFO L280 TraceCheckUtils]: 8: Hoare triple {1973#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {1973#true} is VALID [2020-07-10 15:10:31,100 INFO L280 TraceCheckUtils]: 9: Hoare triple {1973#true} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {1973#true} is VALID [2020-07-10 15:10:31,100 INFO L280 TraceCheckUtils]: 10: Hoare triple {1973#true} #res := ~len~1; {1973#true} is VALID [2020-07-10 15:10:31,100 INFO L280 TraceCheckUtils]: 11: Hoare triple {1973#true} assume true; {1973#true} is VALID [2020-07-10 15:10:31,100 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1973#true} {1973#true} #164#return; {1973#true} is VALID [2020-07-10 15:10:31,100 INFO L280 TraceCheckUtils]: 13: Hoare triple {1973#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {1973#true} is VALID [2020-07-10 15:10:31,102 INFO L263 TraceCheckUtils]: 14: Hoare triple {1973#true} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {2016#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 15:10:31,102 INFO L280 TraceCheckUtils]: 15: Hoare triple {2016#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {1973#true} is VALID [2020-07-10 15:10:31,102 INFO L280 TraceCheckUtils]: 16: Hoare triple {1973#true} #t~post2 := ~len;~len := #t~post2 - 1; {1973#true} is VALID [2020-07-10 15:10:31,102 INFO L280 TraceCheckUtils]: 17: Hoare triple {1973#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1973#true} is VALID [2020-07-10 15:10:31,102 INFO L280 TraceCheckUtils]: 18: Hoare triple {1973#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1973#true} is VALID [2020-07-10 15:10:31,103 INFO L280 TraceCheckUtils]: 19: Hoare triple {1973#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1973#true} is VALID [2020-07-10 15:10:31,103 INFO L280 TraceCheckUtils]: 20: Hoare triple {1973#true} #t~post2 := ~len;~len := #t~post2 - 1; {1973#true} is VALID [2020-07-10 15:10:31,103 INFO L280 TraceCheckUtils]: 21: Hoare triple {1973#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {1973#true} is VALID [2020-07-10 15:10:31,103 INFO L280 TraceCheckUtils]: 22: Hoare triple {1973#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1973#true} is VALID [2020-07-10 15:10:31,103 INFO L280 TraceCheckUtils]: 23: Hoare triple {1973#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1973#true} is VALID [2020-07-10 15:10:31,104 INFO L280 TraceCheckUtils]: 24: Hoare triple {1973#true} #t~post2 := ~len;~len := #t~post2 - 1; {1973#true} is VALID [2020-07-10 15:10:31,104 INFO L280 TraceCheckUtils]: 25: Hoare triple {1973#true} assume !(#t~post2 > 0);havoc #t~post2; {1973#true} is VALID [2020-07-10 15:10:31,104 INFO L280 TraceCheckUtils]: 26: Hoare triple {1973#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1973#true} is VALID [2020-07-10 15:10:31,104 INFO L280 TraceCheckUtils]: 27: Hoare triple {1973#true} assume true; {1973#true} is VALID [2020-07-10 15:10:31,104 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {1973#true} {1973#true} #166#return; {1973#true} is VALID [2020-07-10 15:10:31,105 INFO L280 TraceCheckUtils]: 29: Hoare triple {1973#true} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {1973#true} is VALID [2020-07-10 15:10:31,105 INFO L263 TraceCheckUtils]: 30: Hoare triple {1973#true} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {1973#true} is VALID [2020-07-10 15:10:31,107 INFO L280 TraceCheckUtils]: 31: Hoare triple {1973#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {2017#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-10 15:10:31,110 INFO L280 TraceCheckUtils]: 32: Hoare triple {2017#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} #t~short12 := ~len~1 < ~until; {2017#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-10 15:10:31,113 INFO L280 TraceCheckUtils]: 33: Hoare triple {2017#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {2017#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-10 15:10:31,113 INFO L280 TraceCheckUtils]: 34: Hoare triple {2017#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {2017#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-10 15:10:31,114 INFO L280 TraceCheckUtils]: 35: Hoare triple {2017#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} #res := ~len~1; {2018#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:10:31,114 INFO L280 TraceCheckUtils]: 36: Hoare triple {2018#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} assume true; {2018#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:10:31,115 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {2018#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} {1973#true} #168#return; {2006#(= |main_#t~ret16| 0)} is VALID [2020-07-10 15:10:31,116 INFO L280 TraceCheckUtils]: 38: Hoare triple {2006#(= |main_#t~ret16| 0)} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {2007#(and (= 0 main_~k~0) (= 0 main_~i~0))} is VALID [2020-07-10 15:10:31,116 INFO L280 TraceCheckUtils]: 39: Hoare triple {2007#(and (= 0 main_~k~0) (= 0 main_~i~0))} #t~short18 := ~i~0 < ~k~0; {2008#(not |main_#t~short18|)} is VALID [2020-07-10 15:10:31,117 INFO L280 TraceCheckUtils]: 40: Hoare triple {2008#(not |main_#t~short18|)} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {1974#false} is VALID [2020-07-10 15:10:31,117 INFO L280 TraceCheckUtils]: 41: Hoare triple {1974#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {1974#false} is VALID [2020-07-10 15:10:31,117 INFO L280 TraceCheckUtils]: 42: Hoare triple {1974#false} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {1974#false} is VALID [2020-07-10 15:10:31,117 INFO L263 TraceCheckUtils]: 43: Hoare triple {1974#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {1973#true} is VALID [2020-07-10 15:10:31,117 INFO L280 TraceCheckUtils]: 44: Hoare triple {1973#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {1973#true} is VALID [2020-07-10 15:10:31,117 INFO L280 TraceCheckUtils]: 45: Hoare triple {1973#true} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {1973#true} is VALID [2020-07-10 15:10:31,117 INFO L280 TraceCheckUtils]: 46: Hoare triple {1973#true} assume !(~head.base != 0 || ~head.offset != 0); {1973#true} is VALID [2020-07-10 15:10:31,118 INFO L280 TraceCheckUtils]: 47: Hoare triple {1973#true} #res := ~len~0; {1973#true} is VALID [2020-07-10 15:10:31,118 INFO L280 TraceCheckUtils]: 48: Hoare triple {1973#true} assume true; {1973#true} is VALID [2020-07-10 15:10:31,118 INFO L275 TraceCheckUtils]: 49: Hoare quadruple {1973#true} {1974#false} #174#return; {1974#false} is VALID [2020-07-10 15:10:31,118 INFO L280 TraceCheckUtils]: 50: Hoare triple {1974#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {1974#false} is VALID [2020-07-10 15:10:31,118 INFO L280 TraceCheckUtils]: 51: Hoare triple {1974#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {1974#false} is VALID [2020-07-10 15:10:31,118 INFO L280 TraceCheckUtils]: 52: Hoare triple {1974#false} assume !false; {1974#false} is VALID [2020-07-10 15:10:31,120 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2020-07-10 15:10:31,120 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [898245046] [2020-07-10 15:10:31,121 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:10:31,121 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-10 15:10:31,121 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1088004002] [2020-07-10 15:10:31,121 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 53 [2020-07-10 15:10:31,122 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:10:31,122 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-10 15:10:31,178 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:10:31,178 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-10 15:10:31,179 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:10:31,179 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-10 15:10:31,180 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=57, Unknown=0, NotChecked=0, Total=72 [2020-07-10 15:10:31,180 INFO L87 Difference]: Start difference. First operand 68 states and 81 transitions. Second operand 9 states. [2020-07-10 15:10:32,390 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:10:32,390 INFO L93 Difference]: Finished difference Result 136 states and 170 transitions. [2020-07-10 15:10:32,390 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-10 15:10:32,391 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 53 [2020-07-10 15:10:32,391 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:10:32,391 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-10 15:10:32,394 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 141 transitions. [2020-07-10 15:10:32,395 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-10 15:10:32,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 141 transitions. [2020-07-10 15:10:32,398 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 141 transitions. [2020-07-10 15:10:32,599 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 141 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:10:32,603 INFO L225 Difference]: With dead ends: 136 [2020-07-10 15:10:32,603 INFO L226 Difference]: Without dead ends: 95 [2020-07-10 15:10:32,604 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 13 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=44, Invalid=138, Unknown=0, NotChecked=0, Total=182 [2020-07-10 15:10:32,605 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2020-07-10 15:10:32,662 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 79. [2020-07-10 15:10:32,662 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:10:32,662 INFO L82 GeneralOperation]: Start isEquivalent. First operand 95 states. Second operand 79 states. [2020-07-10 15:10:32,662 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand 79 states. [2020-07-10 15:10:32,662 INFO L87 Difference]: Start difference. First operand 95 states. Second operand 79 states. [2020-07-10 15:10:32,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:10:32,667 INFO L93 Difference]: Finished difference Result 95 states and 116 transitions. [2020-07-10 15:10:32,667 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 116 transitions. [2020-07-10 15:10:32,668 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:10:32,668 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:10:32,668 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand 95 states. [2020-07-10 15:10:32,668 INFO L87 Difference]: Start difference. First operand 79 states. Second operand 95 states. [2020-07-10 15:10:32,673 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:10:32,673 INFO L93 Difference]: Finished difference Result 95 states and 116 transitions. [2020-07-10 15:10:32,674 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 116 transitions. [2020-07-10 15:10:32,674 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:10:32,674 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:10:32,674 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:10:32,675 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:10:32,675 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 79 states. [2020-07-10 15:10:32,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 96 transitions. [2020-07-10 15:10:32,679 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 96 transitions. Word has length 53 [2020-07-10 15:10:32,679 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:10:32,679 INFO L479 AbstractCegarLoop]: Abstraction has 79 states and 96 transitions. [2020-07-10 15:10:32,679 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-10 15:10:32,679 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 96 transitions. [2020-07-10 15:10:32,680 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2020-07-10 15:10:32,680 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:10:32,680 INFO L422 BasicCegarLoop]: trace histogram [3, 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] [2020-07-10 15:10:32,680 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-10 15:10:32,681 INFO L427 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:10:32,681 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:10:32,681 INFO L82 PathProgramCache]: Analyzing trace with hash 1747730134, now seen corresponding path program 1 times [2020-07-10 15:10:32,681 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:10:32,681 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1787599499] [2020-07-10 15:10:32,682 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:10:32,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:32,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:32,782 INFO L280 TraceCheckUtils]: 0: Hoare triple {2552#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2510#true} is VALID [2020-07-10 15:10:32,782 INFO L280 TraceCheckUtils]: 1: Hoare triple {2510#true} assume true; {2510#true} is VALID [2020-07-10 15:10:32,782 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2510#true} {2510#true} #180#return; {2510#true} is VALID [2020-07-10 15:10:32,783 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:32,787 INFO L280 TraceCheckUtils]: 0: Hoare triple {2510#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {2510#true} is VALID [2020-07-10 15:10:32,787 INFO L280 TraceCheckUtils]: 1: Hoare triple {2510#true} #t~short12 := ~len~1 < ~until; {2510#true} is VALID [2020-07-10 15:10:32,788 INFO L280 TraceCheckUtils]: 2: Hoare triple {2510#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {2510#true} is VALID [2020-07-10 15:10:32,788 INFO L280 TraceCheckUtils]: 3: Hoare triple {2510#true} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {2510#true} is VALID [2020-07-10 15:10:32,788 INFO L280 TraceCheckUtils]: 4: Hoare triple {2510#true} #res := ~len~1; {2510#true} is VALID [2020-07-10 15:10:32,788 INFO L280 TraceCheckUtils]: 5: Hoare triple {2510#true} assume true; {2510#true} is VALID [2020-07-10 15:10:32,789 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {2510#true} {2510#true} #164#return; {2510#true} is VALID [2020-07-10 15:10:32,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:32,899 INFO L280 TraceCheckUtils]: 0: Hoare triple {2553#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {2510#true} is VALID [2020-07-10 15:10:32,900 INFO L280 TraceCheckUtils]: 1: Hoare triple {2510#true} #t~post2 := ~len;~len := #t~post2 - 1; {2510#true} is VALID [2020-07-10 15:10:32,901 INFO L280 TraceCheckUtils]: 2: Hoare triple {2510#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {2554#(= sll_create_~new_head~0.offset 0)} is VALID [2020-07-10 15:10:32,902 INFO L280 TraceCheckUtils]: 3: Hoare triple {2554#(= sll_create_~new_head~0.offset 0)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2555#(not (= 0 sll_create_~new_head~0.base))} is VALID [2020-07-10 15:10:32,903 INFO L280 TraceCheckUtils]: 4: Hoare triple {2555#(not (= 0 sll_create_~new_head~0.base))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2556#(not (= 0 sll_create_~head~0.base))} is VALID [2020-07-10 15:10:32,904 INFO L280 TraceCheckUtils]: 5: Hoare triple {2556#(not (= 0 sll_create_~head~0.base))} #t~post2 := ~len;~len := #t~post2 - 1; {2556#(not (= 0 sll_create_~head~0.base))} is VALID [2020-07-10 15:10:32,905 INFO L280 TraceCheckUtils]: 6: Hoare triple {2556#(not (= 0 sll_create_~head~0.base))} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {2556#(not (= 0 sll_create_~head~0.base))} is VALID [2020-07-10 15:10:32,906 INFO L280 TraceCheckUtils]: 7: Hoare triple {2556#(not (= 0 sll_create_~head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2556#(not (= 0 sll_create_~head~0.base))} is VALID [2020-07-10 15:10:32,907 INFO L280 TraceCheckUtils]: 8: Hoare triple {2556#(not (= 0 sll_create_~head~0.base))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2557#(not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)))} is VALID [2020-07-10 15:10:32,908 INFO L280 TraceCheckUtils]: 9: Hoare triple {2557#(not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)))} #t~post2 := ~len;~len := #t~post2 - 1; {2557#(not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)))} is VALID [2020-07-10 15:10:32,909 INFO L280 TraceCheckUtils]: 10: Hoare triple {2557#(not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)))} assume !(#t~post2 > 0);havoc #t~post2; {2557#(not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)))} is VALID [2020-07-10 15:10:32,910 INFO L280 TraceCheckUtils]: 11: Hoare triple {2557#(not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2558#(not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)))} is VALID [2020-07-10 15:10:32,910 INFO L280 TraceCheckUtils]: 12: Hoare triple {2558#(not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)))} assume true; {2558#(not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)))} is VALID [2020-07-10 15:10:32,912 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {2558#(not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)))} {2510#true} #166#return; {2536#(not (= 0 (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|)))} is VALID [2020-07-10 15:10:32,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:32,920 INFO L280 TraceCheckUtils]: 0: Hoare triple {2510#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {2510#true} is VALID [2020-07-10 15:10:32,921 INFO L280 TraceCheckUtils]: 1: Hoare triple {2510#true} #t~short12 := ~len~1 < ~until; {2510#true} is VALID [2020-07-10 15:10:32,921 INFO L280 TraceCheckUtils]: 2: Hoare triple {2510#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {2510#true} is VALID [2020-07-10 15:10:32,921 INFO L280 TraceCheckUtils]: 3: Hoare triple {2510#true} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {2510#true} is VALID [2020-07-10 15:10:32,922 INFO L280 TraceCheckUtils]: 4: Hoare triple {2510#true} #res := ~len~1; {2510#true} is VALID [2020-07-10 15:10:32,922 INFO L280 TraceCheckUtils]: 5: Hoare triple {2510#true} assume true; {2510#true} is VALID [2020-07-10 15:10:32,923 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {2510#true} {2537#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} #168#return; {2537#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} is VALID [2020-07-10 15:10:32,925 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:33,003 INFO L280 TraceCheckUtils]: 0: Hoare triple {2510#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {2559#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} is VALID [2020-07-10 15:10:33,005 INFO L280 TraceCheckUtils]: 1: Hoare triple {2559#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {2560#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base)} is VALID [2020-07-10 15:10:33,006 INFO L280 TraceCheckUtils]: 2: Hoare triple {2560#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base)} assume !(~head.base != 0 || ~head.offset != 0); {2561#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0)} is VALID [2020-07-10 15:10:33,007 INFO L280 TraceCheckUtils]: 3: Hoare triple {2561#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0)} #res := ~len~0; {2561#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0)} is VALID [2020-07-10 15:10:33,007 INFO L280 TraceCheckUtils]: 4: Hoare triple {2561#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0)} assume true; {2561#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0)} is VALID [2020-07-10 15:10:33,009 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2561#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0)} {2545#(not (= (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) |main_#t~mem21.offset|) 0))} #174#return; {2511#false} is VALID [2020-07-10 15:10:33,011 INFO L263 TraceCheckUtils]: 0: Hoare triple {2510#true} call ULTIMATE.init(); {2552#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:10:33,011 INFO L280 TraceCheckUtils]: 1: Hoare triple {2552#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2510#true} is VALID [2020-07-10 15:10:33,011 INFO L280 TraceCheckUtils]: 2: Hoare triple {2510#true} assume true; {2510#true} is VALID [2020-07-10 15:10:33,012 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2510#true} {2510#true} #180#return; {2510#true} is VALID [2020-07-10 15:10:33,012 INFO L263 TraceCheckUtils]: 4: Hoare triple {2510#true} call #t~ret24 := main(); {2510#true} is VALID [2020-07-10 15:10:33,012 INFO L263 TraceCheckUtils]: 5: Hoare triple {2510#true} call #t~ret14 := _get_nondet_int(2, 5); {2510#true} is VALID [2020-07-10 15:10:33,013 INFO L280 TraceCheckUtils]: 6: Hoare triple {2510#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {2510#true} is VALID [2020-07-10 15:10:33,013 INFO L280 TraceCheckUtils]: 7: Hoare triple {2510#true} #t~short12 := ~len~1 < ~until; {2510#true} is VALID [2020-07-10 15:10:33,013 INFO L280 TraceCheckUtils]: 8: Hoare triple {2510#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {2510#true} is VALID [2020-07-10 15:10:33,013 INFO L280 TraceCheckUtils]: 9: Hoare triple {2510#true} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {2510#true} is VALID [2020-07-10 15:10:33,014 INFO L280 TraceCheckUtils]: 10: Hoare triple {2510#true} #res := ~len~1; {2510#true} is VALID [2020-07-10 15:10:33,014 INFO L280 TraceCheckUtils]: 11: Hoare triple {2510#true} assume true; {2510#true} is VALID [2020-07-10 15:10:33,014 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {2510#true} {2510#true} #164#return; {2510#true} is VALID [2020-07-10 15:10:33,014 INFO L280 TraceCheckUtils]: 13: Hoare triple {2510#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {2510#true} is VALID [2020-07-10 15:10:33,016 INFO L263 TraceCheckUtils]: 14: Hoare triple {2510#true} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {2553#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 15:10:33,016 INFO L280 TraceCheckUtils]: 15: Hoare triple {2553#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {2510#true} is VALID [2020-07-10 15:10:33,017 INFO L280 TraceCheckUtils]: 16: Hoare triple {2510#true} #t~post2 := ~len;~len := #t~post2 - 1; {2510#true} is VALID [2020-07-10 15:10:33,018 INFO L280 TraceCheckUtils]: 17: Hoare triple {2510#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {2554#(= sll_create_~new_head~0.offset 0)} is VALID [2020-07-10 15:10:33,019 INFO L280 TraceCheckUtils]: 18: Hoare triple {2554#(= sll_create_~new_head~0.offset 0)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2555#(not (= 0 sll_create_~new_head~0.base))} is VALID [2020-07-10 15:10:33,020 INFO L280 TraceCheckUtils]: 19: Hoare triple {2555#(not (= 0 sll_create_~new_head~0.base))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2556#(not (= 0 sll_create_~head~0.base))} is VALID [2020-07-10 15:10:33,021 INFO L280 TraceCheckUtils]: 20: Hoare triple {2556#(not (= 0 sll_create_~head~0.base))} #t~post2 := ~len;~len := #t~post2 - 1; {2556#(not (= 0 sll_create_~head~0.base))} is VALID [2020-07-10 15:10:33,022 INFO L280 TraceCheckUtils]: 21: Hoare triple {2556#(not (= 0 sll_create_~head~0.base))} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {2556#(not (= 0 sll_create_~head~0.base))} is VALID [2020-07-10 15:10:33,022 INFO L280 TraceCheckUtils]: 22: Hoare triple {2556#(not (= 0 sll_create_~head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2556#(not (= 0 sll_create_~head~0.base))} is VALID [2020-07-10 15:10:33,024 INFO L280 TraceCheckUtils]: 23: Hoare triple {2556#(not (= 0 sll_create_~head~0.base))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2557#(not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)))} is VALID [2020-07-10 15:10:33,025 INFO L280 TraceCheckUtils]: 24: Hoare triple {2557#(not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)))} #t~post2 := ~len;~len := #t~post2 - 1; {2557#(not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)))} is VALID [2020-07-10 15:10:33,025 INFO L280 TraceCheckUtils]: 25: Hoare triple {2557#(not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)))} assume !(#t~post2 > 0);havoc #t~post2; {2557#(not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)))} is VALID [2020-07-10 15:10:33,027 INFO L280 TraceCheckUtils]: 26: Hoare triple {2557#(not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2558#(not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)))} is VALID [2020-07-10 15:10:33,027 INFO L280 TraceCheckUtils]: 27: Hoare triple {2558#(not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)))} assume true; {2558#(not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)))} is VALID [2020-07-10 15:10:33,029 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {2558#(not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)))} {2510#true} #166#return; {2536#(not (= 0 (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|)))} is VALID [2020-07-10 15:10:33,030 INFO L280 TraceCheckUtils]: 29: Hoare triple {2536#(not (= 0 (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|)))} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {2537#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} is VALID [2020-07-10 15:10:33,031 INFO L263 TraceCheckUtils]: 30: Hoare triple {2537#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {2510#true} is VALID [2020-07-10 15:10:33,031 INFO L280 TraceCheckUtils]: 31: Hoare triple {2510#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {2510#true} is VALID [2020-07-10 15:10:33,031 INFO L280 TraceCheckUtils]: 32: Hoare triple {2510#true} #t~short12 := ~len~1 < ~until; {2510#true} is VALID [2020-07-10 15:10:33,031 INFO L280 TraceCheckUtils]: 33: Hoare triple {2510#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {2510#true} is VALID [2020-07-10 15:10:33,032 INFO L280 TraceCheckUtils]: 34: Hoare triple {2510#true} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {2510#true} is VALID [2020-07-10 15:10:33,032 INFO L280 TraceCheckUtils]: 35: Hoare triple {2510#true} #res := ~len~1; {2510#true} is VALID [2020-07-10 15:10:33,032 INFO L280 TraceCheckUtils]: 36: Hoare triple {2510#true} assume true; {2510#true} is VALID [2020-07-10 15:10:33,034 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {2510#true} {2537#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} #168#return; {2537#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} is VALID [2020-07-10 15:10:33,035 INFO L280 TraceCheckUtils]: 38: Hoare triple {2537#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {2537#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} is VALID [2020-07-10 15:10:33,035 INFO L280 TraceCheckUtils]: 39: Hoare triple {2537#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} #t~short18 := ~i~0 < ~k~0; {2537#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} is VALID [2020-07-10 15:10:33,036 INFO L280 TraceCheckUtils]: 40: Hoare triple {2537#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} assume !#t~short18; {2537#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} is VALID [2020-07-10 15:10:33,037 INFO L280 TraceCheckUtils]: 41: Hoare triple {2537#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {2537#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} is VALID [2020-07-10 15:10:33,038 INFO L280 TraceCheckUtils]: 42: Hoare triple {2537#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0))} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {2545#(not (= (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) |main_#t~mem21.offset|) 0))} is VALID [2020-07-10 15:10:33,038 INFO L263 TraceCheckUtils]: 43: Hoare triple {2545#(not (= (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) |main_#t~mem21.offset|) 0))} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {2510#true} is VALID [2020-07-10 15:10:33,039 INFO L280 TraceCheckUtils]: 44: Hoare triple {2510#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {2559#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} is VALID [2020-07-10 15:10:33,040 INFO L280 TraceCheckUtils]: 45: Hoare triple {2559#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {2560#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base)} is VALID [2020-07-10 15:10:33,041 INFO L280 TraceCheckUtils]: 46: Hoare triple {2560#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base)} assume !(~head.base != 0 || ~head.offset != 0); {2561#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0)} is VALID [2020-07-10 15:10:33,041 INFO L280 TraceCheckUtils]: 47: Hoare triple {2561#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0)} #res := ~len~0; {2561#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0)} is VALID [2020-07-10 15:10:33,042 INFO L280 TraceCheckUtils]: 48: Hoare triple {2561#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0)} assume true; {2561#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0)} is VALID [2020-07-10 15:10:33,043 INFO L275 TraceCheckUtils]: 49: Hoare quadruple {2561#(= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0)} {2545#(not (= (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) |main_#t~mem21.offset|) 0))} #174#return; {2511#false} is VALID [2020-07-10 15:10:33,043 INFO L280 TraceCheckUtils]: 50: Hoare triple {2511#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {2511#false} is VALID [2020-07-10 15:10:33,043 INFO L280 TraceCheckUtils]: 51: Hoare triple {2511#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {2511#false} is VALID [2020-07-10 15:10:33,044 INFO L280 TraceCheckUtils]: 52: Hoare triple {2511#false} assume !false; {2511#false} is VALID [2020-07-10 15:10:33,051 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 4 proven. 5 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2020-07-10 15:10:33,051 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1787599499] [2020-07-10 15:10:33,052 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [778006151] [2020-07-10 15:10:33,052 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:10:33,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:33,212 INFO L264 TraceCheckSpWp]: Trace formula consists of 215 conjuncts, 44 conjunts are in the unsatisfiable core [2020-07-10 15:10:33,242 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:10:33,248 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 15:10:33,389 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2020-07-10 15:10:33,390 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:10:33,398 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:10:33,399 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-10 15:10:33,400 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:19, output treesize:12 [2020-07-10 15:10:33,404 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:10:33,404 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_22|, v_sll_create_~head~0.base_5]. (and (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_22| sll_create_~head~0.base (store (select |v_#memory_$Pointer$.base_22| sll_create_~head~0.base) sll_create_~head~0.offset v_sll_create_~head~0.base_5))) (= 0 sll_create_~head~0.offset) (not (= 0 v_sll_create_~head~0.base_5))) [2020-07-10 15:10:33,404 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset)) [2020-07-10 15:10:33,751 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 19 [2020-07-10 15:10:33,753 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:10:33,760 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:10:33,762 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2020-07-10 15:10:33,763 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:38, output treesize:23 [2020-07-10 15:10:33,766 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:10:33,766 WARN L407 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.offset|, |main_~#s~0.base|, |main_~#s~0.offset|]. (let ((.cse1 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (.cse0 (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (and (= .cse0 |main_#t~mem21.offset|) (not (= (select (select |#memory_$Pointer$.base| .cse1) .cse0) 0)) (= .cse1 |main_#t~mem21.base|) (= .cse0 0))) [2020-07-10 15:10:33,766 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ [|main_~#s~0.base|, |main_~#s~0.offset|]. (let ((.cse0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (and (= 0 |main_#t~mem21.offset|) (= .cse0 |main_#t~mem21.base|) (not (= (select (select |#memory_$Pointer$.base| .cse0) 0) 0)))) [2020-07-10 15:10:35,838 WARN L860 $PredicateComparison]: unable to prove that (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |c_#memory_$Pointer$.base| (select (select |c_#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0))) is different from true [2020-07-10 15:10:39,892 WARN L193 SmtUtils]: Spent 2.01 s on a formula simplification that was a NOOP. DAG size: 18 [2020-07-10 15:10:40,065 INFO L263 TraceCheckUtils]: 0: Hoare triple {2510#true} call ULTIMATE.init(); {2510#true} is VALID [2020-07-10 15:10:40,065 INFO L280 TraceCheckUtils]: 1: Hoare triple {2510#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2510#true} is VALID [2020-07-10 15:10:40,066 INFO L280 TraceCheckUtils]: 2: Hoare triple {2510#true} assume true; {2510#true} is VALID [2020-07-10 15:10:40,066 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2510#true} {2510#true} #180#return; {2510#true} is VALID [2020-07-10 15:10:40,066 INFO L263 TraceCheckUtils]: 4: Hoare triple {2510#true} call #t~ret24 := main(); {2510#true} is VALID [2020-07-10 15:10:40,066 INFO L263 TraceCheckUtils]: 5: Hoare triple {2510#true} call #t~ret14 := _get_nondet_int(2, 5); {2510#true} is VALID [2020-07-10 15:10:40,066 INFO L280 TraceCheckUtils]: 6: Hoare triple {2510#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {2510#true} is VALID [2020-07-10 15:10:40,066 INFO L280 TraceCheckUtils]: 7: Hoare triple {2510#true} #t~short12 := ~len~1 < ~until; {2510#true} is VALID [2020-07-10 15:10:40,066 INFO L280 TraceCheckUtils]: 8: Hoare triple {2510#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {2510#true} is VALID [2020-07-10 15:10:40,067 INFO L280 TraceCheckUtils]: 9: Hoare triple {2510#true} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {2510#true} is VALID [2020-07-10 15:10:40,067 INFO L280 TraceCheckUtils]: 10: Hoare triple {2510#true} #res := ~len~1; {2510#true} is VALID [2020-07-10 15:10:40,067 INFO L280 TraceCheckUtils]: 11: Hoare triple {2510#true} assume true; {2510#true} is VALID [2020-07-10 15:10:40,067 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {2510#true} {2510#true} #164#return; {2510#true} is VALID [2020-07-10 15:10:40,067 INFO L280 TraceCheckUtils]: 13: Hoare triple {2510#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {2510#true} is VALID [2020-07-10 15:10:40,067 INFO L263 TraceCheckUtils]: 14: Hoare triple {2510#true} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {2510#true} is VALID [2020-07-10 15:10:40,067 INFO L280 TraceCheckUtils]: 15: Hoare triple {2510#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {2510#true} is VALID [2020-07-10 15:10:40,067 INFO L280 TraceCheckUtils]: 16: Hoare triple {2510#true} #t~post2 := ~len;~len := #t~post2 - 1; {2510#true} is VALID [2020-07-10 15:10:40,068 INFO L280 TraceCheckUtils]: 17: Hoare triple {2510#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {2554#(= sll_create_~new_head~0.offset 0)} is VALID [2020-07-10 15:10:40,069 INFO L280 TraceCheckUtils]: 18: Hoare triple {2554#(= sll_create_~new_head~0.offset 0)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2555#(not (= 0 sll_create_~new_head~0.base))} is VALID [2020-07-10 15:10:40,069 INFO L280 TraceCheckUtils]: 19: Hoare triple {2555#(not (= 0 sll_create_~new_head~0.base))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2556#(not (= 0 sll_create_~head~0.base))} is VALID [2020-07-10 15:10:40,069 INFO L280 TraceCheckUtils]: 20: Hoare triple {2556#(not (= 0 sll_create_~head~0.base))} #t~post2 := ~len;~len := #t~post2 - 1; {2556#(not (= 0 sll_create_~head~0.base))} is VALID [2020-07-10 15:10:40,070 INFO L280 TraceCheckUtils]: 21: Hoare triple {2556#(not (= 0 sll_create_~head~0.base))} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {2628#(and (not (= 0 sll_create_~head~0.base)) (= sll_create_~new_head~0.offset 0))} is VALID [2020-07-10 15:10:40,071 INFO L280 TraceCheckUtils]: 22: Hoare triple {2628#(and (not (= 0 sll_create_~head~0.base)) (= sll_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2628#(and (not (= 0 sll_create_~head~0.base)) (= sll_create_~new_head~0.offset 0))} is VALID [2020-07-10 15:10:40,071 INFO L280 TraceCheckUtils]: 23: Hoare triple {2628#(and (not (= 0 sll_create_~head~0.base)) (= sll_create_~new_head~0.offset 0))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2635#(and (not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset))} is VALID [2020-07-10 15:10:40,072 INFO L280 TraceCheckUtils]: 24: Hoare triple {2635#(and (not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset))} #t~post2 := ~len;~len := #t~post2 - 1; {2635#(and (not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset))} is VALID [2020-07-10 15:10:40,073 INFO L280 TraceCheckUtils]: 25: Hoare triple {2635#(and (not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset))} assume !(#t~post2 > 0);havoc #t~post2; {2635#(and (not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset))} is VALID [2020-07-10 15:10:40,073 INFO L280 TraceCheckUtils]: 26: Hoare triple {2635#(and (not (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2645#(and (not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|))) (= 0 |sll_create_#res.offset|))} is VALID [2020-07-10 15:10:40,074 INFO L280 TraceCheckUtils]: 27: Hoare triple {2645#(and (not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|))) (= 0 |sll_create_#res.offset|))} assume true; {2645#(and (not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|))) (= 0 |sll_create_#res.offset|))} is VALID [2020-07-10 15:10:40,074 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {2645#(and (not (= 0 (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|))) (= 0 |sll_create_#res.offset|))} {2510#true} #166#return; {2652#(and (not (= 0 (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|))) (= |main_#t~ret15.offset| 0))} is VALID [2020-07-10 15:10:40,075 INFO L280 TraceCheckUtils]: 29: Hoare triple {2652#(and (not (= 0 (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|))) (= |main_#t~ret15.offset| 0))} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {2656#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} is VALID [2020-07-10 15:10:40,076 INFO L263 TraceCheckUtils]: 30: Hoare triple {2656#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {2660#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} is VALID [2020-07-10 15:10:40,077 INFO L280 TraceCheckUtils]: 31: Hoare triple {2660#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} ~from := #in~from;~until := #in~until;~len~1 := ~from; {2660#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} is VALID [2020-07-10 15:10:40,078 INFO L280 TraceCheckUtils]: 32: Hoare triple {2660#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} #t~short12 := ~len~1 < ~until; {2660#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} is VALID [2020-07-10 15:10:40,078 INFO L280 TraceCheckUtils]: 33: Hoare triple {2660#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {2660#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} is VALID [2020-07-10 15:10:40,079 INFO L280 TraceCheckUtils]: 34: Hoare triple {2660#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {2660#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} is VALID [2020-07-10 15:10:40,079 INFO L280 TraceCheckUtils]: 35: Hoare triple {2660#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} #res := ~len~1; {2660#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} is VALID [2020-07-10 15:10:40,080 INFO L280 TraceCheckUtils]: 36: Hoare triple {2660#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} assume true; {2660#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} is VALID [2020-07-10 15:10:40,081 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {2660#(exists ((|v_main_~#s~0.offset_BEFORE_CALL_1| Int) (|v_main_~#s~0.base_BEFORE_CALL_1| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|)) (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_1|) |v_main_~#s~0.offset_BEFORE_CALL_1|))))))} {2656#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} #168#return; {2656#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} is VALID [2020-07-10 15:10:40,081 INFO L280 TraceCheckUtils]: 38: Hoare triple {2656#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {2656#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} is VALID [2020-07-10 15:10:40,082 INFO L280 TraceCheckUtils]: 39: Hoare triple {2656#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} #t~short18 := ~i~0 < ~k~0; {2656#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} is VALID [2020-07-10 15:10:40,083 INFO L280 TraceCheckUtils]: 40: Hoare triple {2656#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} assume !#t~short18; {2656#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} is VALID [2020-07-10 15:10:40,083 INFO L280 TraceCheckUtils]: 41: Hoare triple {2656#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {2656#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} is VALID [2020-07-10 15:10:40,084 INFO L280 TraceCheckUtils]: 42: Hoare triple {2656#(and (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0))} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {2697#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (and (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~mem21.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0)))) (= 0 |main_#t~mem21.offset|))} is VALID [2020-07-10 15:10:40,086 INFO L263 TraceCheckUtils]: 43: Hoare triple {2697#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (and (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~mem21.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0)))) (= 0 |main_#t~mem21.offset|))} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {2701#(exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0)))} is VALID [2020-07-10 15:10:40,087 INFO L280 TraceCheckUtils]: 44: Hoare triple {2701#(exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {2705#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0))) (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} is VALID [2020-07-10 15:10:40,087 INFO L280 TraceCheckUtils]: 45: Hoare triple {2705#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0))) (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {2709#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0))) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base))} is VALID [2020-07-10 15:10:40,088 INFO L280 TraceCheckUtils]: 46: Hoare triple {2709#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0))) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base))} assume !(~head.base != 0 || ~head.offset != 0); {2713#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0))) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0))} is VALID [2020-07-10 15:10:40,089 INFO L280 TraceCheckUtils]: 47: Hoare triple {2713#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0))) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0))} #res := ~len~0; {2713#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0))) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0))} is VALID [2020-07-10 15:10:40,090 INFO L280 TraceCheckUtils]: 48: Hoare triple {2713#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0))) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0))} assume true; {2713#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0))) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0))} is VALID [2020-07-10 15:10:40,091 INFO L275 TraceCheckUtils]: 49: Hoare quadruple {2713#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0))) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) 0))} {2697#(and (exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (and (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~mem21.base|) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) 0)))) (= 0 |main_#t~mem21.offset|))} #174#return; {2511#false} is VALID [2020-07-10 15:10:40,091 INFO L280 TraceCheckUtils]: 50: Hoare triple {2511#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {2511#false} is VALID [2020-07-10 15:10:40,092 INFO L280 TraceCheckUtils]: 51: Hoare triple {2511#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {2511#false} is VALID [2020-07-10 15:10:40,092 INFO L280 TraceCheckUtils]: 52: Hoare triple {2511#false} assume !false; {2511#false} is VALID [2020-07-10 15:10:40,115 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 12 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:10:40,116 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-10 15:10:40,116 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 16] total 26 [2020-07-10 15:10:40,117 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [961632675] [2020-07-10 15:10:40,117 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 53 [2020-07-10 15:10:40,118 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:10:40,118 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states. [2020-07-10 15:10:40,235 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:10:40,235 INFO L459 AbstractCegarLoop]: Interpolant automaton has 26 states [2020-07-10 15:10:40,235 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:10:40,236 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2020-07-10 15:10:40,236 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=542, Unknown=2, NotChecked=46, Total=650 [2020-07-10 15:10:40,236 INFO L87 Difference]: Start difference. First operand 79 states and 96 transitions. Second operand 26 states. [2020-07-10 15:12:01,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:12:01,719 INFO L93 Difference]: Finished difference Result 136 states and 160 transitions. [2020-07-10 15:12:01,719 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-10 15:12:01,719 INFO L78 Accepts]: Start accepts. Automaton has 26 states. Word has length 53 [2020-07-10 15:12:01,720 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:12:01,720 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2020-07-10 15:12:01,723 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 137 transitions. [2020-07-10 15:12:01,723 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2020-07-10 15:12:01,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 137 transitions. [2020-07-10 15:12:01,727 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 137 transitions. [2020-07-10 15:12:01,978 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:12:01,982 INFO L225 Difference]: With dead ends: 136 [2020-07-10 15:12:01,983 INFO L226 Difference]: Without dead ends: 126 [2020-07-10 15:12:01,984 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 54 SyntacticMatches, 2 SemanticMatches, 40 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 284 ImplicationChecksByTransitivity, 7.3s TimeCoverageRelationStatistics Valid=198, Invalid=1444, Unknown=2, NotChecked=78, Total=1722 [2020-07-10 15:12:01,984 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 126 states. [2020-07-10 15:12:02,119 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 126 to 90. [2020-07-10 15:12:02,119 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:12:02,119 INFO L82 GeneralOperation]: Start isEquivalent. First operand 126 states. Second operand 90 states. [2020-07-10 15:12:02,119 INFO L74 IsIncluded]: Start isIncluded. First operand 126 states. Second operand 90 states. [2020-07-10 15:12:02,120 INFO L87 Difference]: Start difference. First operand 126 states. Second operand 90 states. [2020-07-10 15:12:02,125 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:12:02,125 INFO L93 Difference]: Finished difference Result 126 states and 150 transitions. [2020-07-10 15:12:02,125 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 150 transitions. [2020-07-10 15:12:02,126 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:12:02,126 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:12:02,126 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand 126 states. [2020-07-10 15:12:02,126 INFO L87 Difference]: Start difference. First operand 90 states. Second operand 126 states. [2020-07-10 15:12:02,131 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:12:02,132 INFO L93 Difference]: Finished difference Result 126 states and 150 transitions. [2020-07-10 15:12:02,132 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 150 transitions. [2020-07-10 15:12:02,132 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:12:02,133 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:12:02,133 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:12:02,133 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:12:02,133 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 90 states. [2020-07-10 15:12:02,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 107 transitions. [2020-07-10 15:12:02,137 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 107 transitions. Word has length 53 [2020-07-10 15:12:02,137 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:12:02,137 INFO L479 AbstractCegarLoop]: Abstraction has 90 states and 107 transitions. [2020-07-10 15:12:02,137 INFO L480 AbstractCegarLoop]: Interpolant automaton has 26 states. [2020-07-10 15:12:02,137 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 107 transitions. [2020-07-10 15:12:02,138 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2020-07-10 15:12:02,138 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:12:02,138 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] [2020-07-10 15:12:02,351 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:12:02,352 INFO L427 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:12:02,352 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:12:02,352 INFO L82 PathProgramCache]: Analyzing trace with hash 645381370, now seen corresponding path program 2 times [2020-07-10 15:12:02,352 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:12:02,353 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2102954275] [2020-07-10 15:12:02,353 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:12:02,374 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:12:02,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:12:02,522 INFO L280 TraceCheckUtils]: 0: Hoare triple {3365#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3320#true} is VALID [2020-07-10 15:12:02,523 INFO L280 TraceCheckUtils]: 1: Hoare triple {3320#true} assume true; {3320#true} is VALID [2020-07-10 15:12:02,523 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {3320#true} {3320#true} #180#return; {3320#true} is VALID [2020-07-10 15:12:02,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:12:02,582 INFO L280 TraceCheckUtils]: 0: Hoare triple {3320#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {3366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:12:02,582 INFO L280 TraceCheckUtils]: 1: Hoare triple {3366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #t~short12 := ~len~1 < ~until; {3366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:12:02,583 INFO L280 TraceCheckUtils]: 2: Hoare triple {3366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {3366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:12:02,584 INFO L280 TraceCheckUtils]: 3: Hoare triple {3366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {3366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:12:02,584 INFO L280 TraceCheckUtils]: 4: Hoare triple {3366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #res := ~len~1; {3367#(or (and (<= |_get_nondet_int_#res| 2) (<= 2 |_get_nondet_int_#res|)) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:12:02,585 INFO L280 TraceCheckUtils]: 5: Hoare triple {3367#(or (and (<= |_get_nondet_int_#res| 2) (<= 2 |_get_nondet_int_#res|)) (not (= 2 |_get_nondet_int_#in~from|)))} assume true; {3367#(or (and (<= |_get_nondet_int_#res| 2) (<= 2 |_get_nondet_int_#res|)) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:12:02,586 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {3367#(or (and (<= |_get_nondet_int_#res| 2) (<= 2 |_get_nondet_int_#res|)) (not (= 2 |_get_nondet_int_#in~from|)))} {3320#true} #164#return; {3332#(and (<= |main_#t~ret14| 2) (<= 2 |main_#t~ret14|))} is VALID [2020-07-10 15:12:02,615 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:12:02,624 INFO L280 TraceCheckUtils]: 0: Hoare triple {3368#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {3320#true} is VALID [2020-07-10 15:12:02,624 INFO L280 TraceCheckUtils]: 1: Hoare triple {3320#true} #t~post2 := ~len;~len := #t~post2 - 1; {3320#true} is VALID [2020-07-10 15:12:02,624 INFO L280 TraceCheckUtils]: 2: Hoare triple {3320#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {3320#true} is VALID [2020-07-10 15:12:02,624 INFO L280 TraceCheckUtils]: 3: Hoare triple {3320#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {3320#true} is VALID [2020-07-10 15:12:02,624 INFO L280 TraceCheckUtils]: 4: Hoare triple {3320#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {3320#true} is VALID [2020-07-10 15:12:02,625 INFO L280 TraceCheckUtils]: 5: Hoare triple {3320#true} #t~post2 := ~len;~len := #t~post2 - 1; {3320#true} is VALID [2020-07-10 15:12:02,625 INFO L280 TraceCheckUtils]: 6: Hoare triple {3320#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {3320#true} is VALID [2020-07-10 15:12:02,625 INFO L280 TraceCheckUtils]: 7: Hoare triple {3320#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {3320#true} is VALID [2020-07-10 15:12:02,625 INFO L280 TraceCheckUtils]: 8: Hoare triple {3320#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {3320#true} is VALID [2020-07-10 15:12:02,625 INFO L280 TraceCheckUtils]: 9: Hoare triple {3320#true} #t~post2 := ~len;~len := #t~post2 - 1; {3320#true} is VALID [2020-07-10 15:12:02,626 INFO L280 TraceCheckUtils]: 10: Hoare triple {3320#true} assume !(#t~post2 > 0);havoc #t~post2; {3320#true} is VALID [2020-07-10 15:12:02,626 INFO L280 TraceCheckUtils]: 11: Hoare triple {3320#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {3320#true} is VALID [2020-07-10 15:12:02,626 INFO L280 TraceCheckUtils]: 12: Hoare triple {3320#true} assume true; {3320#true} is VALID [2020-07-10 15:12:02,628 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {3320#true} {3333#(and (<= main_~len~2 2) (<= 2 main_~len~2))} #166#return; {3333#(and (<= main_~len~2 2) (<= 2 main_~len~2))} is VALID [2020-07-10 15:12:02,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:12:02,713 INFO L280 TraceCheckUtils]: 0: Hoare triple {3320#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {3369#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-10 15:12:02,714 INFO L280 TraceCheckUtils]: 1: Hoare triple {3369#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} #t~short12 := ~len~1 < ~until; {3369#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-10 15:12:02,714 INFO L280 TraceCheckUtils]: 2: Hoare triple {3369#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {3369#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-10 15:12:02,715 INFO L280 TraceCheckUtils]: 3: Hoare triple {3369#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {3369#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-10 15:12:02,716 INFO L280 TraceCheckUtils]: 4: Hoare triple {3369#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} #res := ~len~1; {3370#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:12:02,716 INFO L280 TraceCheckUtils]: 5: Hoare triple {3370#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} assume true; {3370#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:12:02,718 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {3370#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} {3333#(and (<= main_~len~2 2) (<= 2 main_~len~2))} #168#return; {3355#(and (<= main_~len~2 2) (<= 2 main_~len~2) (= |main_#t~ret16| 0))} is VALID [2020-07-10 15:12:02,721 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:12:02,848 INFO L280 TraceCheckUtils]: 0: Hoare triple {3320#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {3371#(and (<= 0 sll_length_~len~0) (<= sll_length_~len~0 0))} is VALID [2020-07-10 15:12:02,850 INFO L280 TraceCheckUtils]: 1: Hoare triple {3371#(and (<= 0 sll_length_~len~0) (<= sll_length_~len~0 0))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {3372#(and (<= 1 sll_length_~len~0) (<= sll_length_~len~0 1))} is VALID [2020-07-10 15:12:02,851 INFO L280 TraceCheckUtils]: 2: Hoare triple {3372#(and (<= 1 sll_length_~len~0) (<= sll_length_~len~0 1))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {3373#(and (<= sll_length_~len~0 2) (<= 2 sll_length_~len~0))} is VALID [2020-07-10 15:12:02,852 INFO L280 TraceCheckUtils]: 3: Hoare triple {3373#(and (<= sll_length_~len~0 2) (<= 2 sll_length_~len~0))} assume !(~head.base != 0 || ~head.offset != 0); {3373#(and (<= sll_length_~len~0 2) (<= 2 sll_length_~len~0))} is VALID [2020-07-10 15:12:02,856 INFO L280 TraceCheckUtils]: 4: Hoare triple {3373#(and (<= sll_length_~len~0 2) (<= 2 sll_length_~len~0))} #res := ~len~0; {3374#(and (<= 2 |sll_length_#res|) (<= |sll_length_#res| 2))} is VALID [2020-07-10 15:12:02,856 INFO L280 TraceCheckUtils]: 5: Hoare triple {3374#(and (<= 2 |sll_length_#res|) (<= |sll_length_#res| 2))} assume true; {3374#(and (<= 2 |sll_length_#res|) (<= |sll_length_#res| 2))} is VALID [2020-07-10 15:12:02,858 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {3374#(and (<= 2 |sll_length_#res|) (<= |sll_length_#res| 2))} {3356#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} #174#return; {3364#(and (= 0 main_~k~0) (<= |main_#t~ret22| main_~len~2) (<= main_~len~2 |main_#t~ret22|))} is VALID [2020-07-10 15:12:02,859 INFO L263 TraceCheckUtils]: 0: Hoare triple {3320#true} call ULTIMATE.init(); {3365#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:12:02,859 INFO L280 TraceCheckUtils]: 1: Hoare triple {3365#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3320#true} is VALID [2020-07-10 15:12:02,859 INFO L280 TraceCheckUtils]: 2: Hoare triple {3320#true} assume true; {3320#true} is VALID [2020-07-10 15:12:02,860 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3320#true} {3320#true} #180#return; {3320#true} is VALID [2020-07-10 15:12:02,860 INFO L263 TraceCheckUtils]: 4: Hoare triple {3320#true} call #t~ret24 := main(); {3320#true} is VALID [2020-07-10 15:12:02,860 INFO L263 TraceCheckUtils]: 5: Hoare triple {3320#true} call #t~ret14 := _get_nondet_int(2, 5); {3320#true} is VALID [2020-07-10 15:12:02,861 INFO L280 TraceCheckUtils]: 6: Hoare triple {3320#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {3366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:12:02,861 INFO L280 TraceCheckUtils]: 7: Hoare triple {3366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #t~short12 := ~len~1 < ~until; {3366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:12:02,862 INFO L280 TraceCheckUtils]: 8: Hoare triple {3366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {3366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:12:02,862 INFO L280 TraceCheckUtils]: 9: Hoare triple {3366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {3366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:12:02,863 INFO L280 TraceCheckUtils]: 10: Hoare triple {3366#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #res := ~len~1; {3367#(or (and (<= |_get_nondet_int_#res| 2) (<= 2 |_get_nondet_int_#res|)) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:12:02,863 INFO L280 TraceCheckUtils]: 11: Hoare triple {3367#(or (and (<= |_get_nondet_int_#res| 2) (<= 2 |_get_nondet_int_#res|)) (not (= 2 |_get_nondet_int_#in~from|)))} assume true; {3367#(or (and (<= |_get_nondet_int_#res| 2) (<= 2 |_get_nondet_int_#res|)) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:12:02,864 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {3367#(or (and (<= |_get_nondet_int_#res| 2) (<= 2 |_get_nondet_int_#res|)) (not (= 2 |_get_nondet_int_#in~from|)))} {3320#true} #164#return; {3332#(and (<= |main_#t~ret14| 2) (<= 2 |main_#t~ret14|))} is VALID [2020-07-10 15:12:02,865 INFO L280 TraceCheckUtils]: 13: Hoare triple {3332#(and (<= |main_#t~ret14| 2) (<= 2 |main_#t~ret14|))} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {3333#(and (<= main_~len~2 2) (<= 2 main_~len~2))} is VALID [2020-07-10 15:12:02,866 INFO L263 TraceCheckUtils]: 14: Hoare triple {3333#(and (<= main_~len~2 2) (<= 2 main_~len~2))} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {3368#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 15:12:02,867 INFO L280 TraceCheckUtils]: 15: Hoare triple {3368#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {3320#true} is VALID [2020-07-10 15:12:02,867 INFO L280 TraceCheckUtils]: 16: Hoare triple {3320#true} #t~post2 := ~len;~len := #t~post2 - 1; {3320#true} is VALID [2020-07-10 15:12:02,867 INFO L280 TraceCheckUtils]: 17: Hoare triple {3320#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {3320#true} is VALID [2020-07-10 15:12:02,867 INFO L280 TraceCheckUtils]: 18: Hoare triple {3320#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {3320#true} is VALID [2020-07-10 15:12:02,867 INFO L280 TraceCheckUtils]: 19: Hoare triple {3320#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {3320#true} is VALID [2020-07-10 15:12:02,868 INFO L280 TraceCheckUtils]: 20: Hoare triple {3320#true} #t~post2 := ~len;~len := #t~post2 - 1; {3320#true} is VALID [2020-07-10 15:12:02,868 INFO L280 TraceCheckUtils]: 21: Hoare triple {3320#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {3320#true} is VALID [2020-07-10 15:12:02,868 INFO L280 TraceCheckUtils]: 22: Hoare triple {3320#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {3320#true} is VALID [2020-07-10 15:12:02,868 INFO L280 TraceCheckUtils]: 23: Hoare triple {3320#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {3320#true} is VALID [2020-07-10 15:12:02,868 INFO L280 TraceCheckUtils]: 24: Hoare triple {3320#true} #t~post2 := ~len;~len := #t~post2 - 1; {3320#true} is VALID [2020-07-10 15:12:02,868 INFO L280 TraceCheckUtils]: 25: Hoare triple {3320#true} assume !(#t~post2 > 0);havoc #t~post2; {3320#true} is VALID [2020-07-10 15:12:02,869 INFO L280 TraceCheckUtils]: 26: Hoare triple {3320#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {3320#true} is VALID [2020-07-10 15:12:02,869 INFO L280 TraceCheckUtils]: 27: Hoare triple {3320#true} assume true; {3320#true} is VALID [2020-07-10 15:12:02,870 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {3320#true} {3333#(and (<= main_~len~2 2) (<= 2 main_~len~2))} #166#return; {3333#(and (<= main_~len~2 2) (<= 2 main_~len~2))} is VALID [2020-07-10 15:12:02,870 INFO L280 TraceCheckUtils]: 29: Hoare triple {3333#(and (<= main_~len~2 2) (<= 2 main_~len~2))} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {3333#(and (<= main_~len~2 2) (<= 2 main_~len~2))} is VALID [2020-07-10 15:12:02,871 INFO L263 TraceCheckUtils]: 30: Hoare triple {3333#(and (<= main_~len~2 2) (<= 2 main_~len~2))} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {3320#true} is VALID [2020-07-10 15:12:02,871 INFO L280 TraceCheckUtils]: 31: Hoare triple {3320#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {3369#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-10 15:12:02,872 INFO L280 TraceCheckUtils]: 32: Hoare triple {3369#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} #t~short12 := ~len~1 < ~until; {3369#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-10 15:12:02,872 INFO L280 TraceCheckUtils]: 33: Hoare triple {3369#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {3369#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-10 15:12:02,873 INFO L280 TraceCheckUtils]: 34: Hoare triple {3369#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {3369#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} is VALID [2020-07-10 15:12:02,874 INFO L280 TraceCheckUtils]: 35: Hoare triple {3369#(or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1))} #res := ~len~1; {3370#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:12:02,874 INFO L280 TraceCheckUtils]: 36: Hoare triple {3370#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} assume true; {3370#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:12:02,876 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {3370#(or (and (<= 0 |_get_nondet_int_#res|) (<= |_get_nondet_int_#res| 0)) (not (= 0 |_get_nondet_int_#in~from|)))} {3333#(and (<= main_~len~2 2) (<= 2 main_~len~2))} #168#return; {3355#(and (<= main_~len~2 2) (<= 2 main_~len~2) (= |main_#t~ret16| 0))} is VALID [2020-07-10 15:12:02,877 INFO L280 TraceCheckUtils]: 38: Hoare triple {3355#(and (<= main_~len~2 2) (<= 2 main_~len~2) (= |main_#t~ret16| 0))} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {3356#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} is VALID [2020-07-10 15:12:02,878 INFO L280 TraceCheckUtils]: 39: Hoare triple {3356#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} #t~short18 := ~i~0 < ~k~0; {3356#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} is VALID [2020-07-10 15:12:02,878 INFO L280 TraceCheckUtils]: 40: Hoare triple {3356#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} assume !#t~short18; {3356#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} is VALID [2020-07-10 15:12:02,879 INFO L280 TraceCheckUtils]: 41: Hoare triple {3356#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {3356#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} is VALID [2020-07-10 15:12:02,880 INFO L280 TraceCheckUtils]: 42: Hoare triple {3356#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {3356#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} is VALID [2020-07-10 15:12:02,880 INFO L263 TraceCheckUtils]: 43: Hoare triple {3356#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {3320#true} is VALID [2020-07-10 15:12:02,881 INFO L280 TraceCheckUtils]: 44: Hoare triple {3320#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {3371#(and (<= 0 sll_length_~len~0) (<= sll_length_~len~0 0))} is VALID [2020-07-10 15:12:02,882 INFO L280 TraceCheckUtils]: 45: Hoare triple {3371#(and (<= 0 sll_length_~len~0) (<= sll_length_~len~0 0))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {3372#(and (<= 1 sll_length_~len~0) (<= sll_length_~len~0 1))} is VALID [2020-07-10 15:12:02,883 INFO L280 TraceCheckUtils]: 46: Hoare triple {3372#(and (<= 1 sll_length_~len~0) (<= sll_length_~len~0 1))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {3373#(and (<= sll_length_~len~0 2) (<= 2 sll_length_~len~0))} is VALID [2020-07-10 15:12:02,884 INFO L280 TraceCheckUtils]: 47: Hoare triple {3373#(and (<= sll_length_~len~0 2) (<= 2 sll_length_~len~0))} assume !(~head.base != 0 || ~head.offset != 0); {3373#(and (<= sll_length_~len~0 2) (<= 2 sll_length_~len~0))} is VALID [2020-07-10 15:12:02,885 INFO L280 TraceCheckUtils]: 48: Hoare triple {3373#(and (<= sll_length_~len~0 2) (<= 2 sll_length_~len~0))} #res := ~len~0; {3374#(and (<= 2 |sll_length_#res|) (<= |sll_length_#res| 2))} is VALID [2020-07-10 15:12:02,885 INFO L280 TraceCheckUtils]: 49: Hoare triple {3374#(and (<= 2 |sll_length_#res|) (<= |sll_length_#res| 2))} assume true; {3374#(and (<= 2 |sll_length_#res|) (<= |sll_length_#res| 2))} is VALID [2020-07-10 15:12:02,887 INFO L275 TraceCheckUtils]: 50: Hoare quadruple {3374#(and (<= 2 |sll_length_#res|) (<= |sll_length_#res| 2))} {3356#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} #174#return; {3364#(and (= 0 main_~k~0) (<= |main_#t~ret22| main_~len~2) (<= main_~len~2 |main_#t~ret22|))} is VALID [2020-07-10 15:12:02,888 INFO L280 TraceCheckUtils]: 51: Hoare triple {3364#(and (= 0 main_~k~0) (<= |main_#t~ret22| main_~len~2) (<= main_~len~2 |main_#t~ret22|))} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {3364#(and (= 0 main_~k~0) (<= |main_#t~ret22| main_~len~2) (<= main_~len~2 |main_#t~ret22|))} is VALID [2020-07-10 15:12:02,889 INFO L280 TraceCheckUtils]: 52: Hoare triple {3364#(and (= 0 main_~k~0) (<= |main_#t~ret22| main_~len~2) (<= main_~len~2 |main_#t~ret22|))} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {3321#false} is VALID [2020-07-10 15:12:02,889 INFO L280 TraceCheckUtils]: 53: Hoare triple {3321#false} assume !false; {3321#false} is VALID [2020-07-10 15:12:02,894 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2020-07-10 15:12:02,895 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2102954275] [2020-07-10 15:12:02,896 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [43195477] [2020-07-10 15:12:02,896 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:12:02,997 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-10 15:12:02,997 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-10 15:12:02,999 INFO L264 TraceCheckSpWp]: Trace formula consists of 222 conjuncts, 35 conjunts are in the unsatisfiable core [2020-07-10 15:12:03,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:12:03,019 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 15:12:03,248 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 3 disjuncts [2020-07-10 15:12:03,257 INFO L263 TraceCheckUtils]: 0: Hoare triple {3320#true} call ULTIMATE.init(); {3320#true} is VALID [2020-07-10 15:12:03,257 INFO L280 TraceCheckUtils]: 1: Hoare triple {3320#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3320#true} is VALID [2020-07-10 15:12:03,258 INFO L280 TraceCheckUtils]: 2: Hoare triple {3320#true} assume true; {3320#true} is VALID [2020-07-10 15:12:03,258 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3320#true} {3320#true} #180#return; {3320#true} is VALID [2020-07-10 15:12:03,258 INFO L263 TraceCheckUtils]: 4: Hoare triple {3320#true} call #t~ret24 := main(); {3320#true} is VALID [2020-07-10 15:12:03,258 INFO L263 TraceCheckUtils]: 5: Hoare triple {3320#true} call #t~ret14 := _get_nondet_int(2, 5); {3320#true} is VALID [2020-07-10 15:12:03,259 INFO L280 TraceCheckUtils]: 6: Hoare triple {3320#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {3396#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} is VALID [2020-07-10 15:12:03,259 INFO L280 TraceCheckUtils]: 7: Hoare triple {3396#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} #t~short12 := ~len~1 < ~until; {3396#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} is VALID [2020-07-10 15:12:03,260 INFO L280 TraceCheckUtils]: 8: Hoare triple {3396#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {3396#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} is VALID [2020-07-10 15:12:03,260 INFO L280 TraceCheckUtils]: 9: Hoare triple {3396#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {3396#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} is VALID [2020-07-10 15:12:03,260 INFO L280 TraceCheckUtils]: 10: Hoare triple {3396#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} #res := ~len~1; {3409#(= |_get_nondet_int_#res| |_get_nondet_int_#in~from|)} is VALID [2020-07-10 15:12:03,261 INFO L280 TraceCheckUtils]: 11: Hoare triple {3409#(= |_get_nondet_int_#res| |_get_nondet_int_#in~from|)} assume true; {3409#(= |_get_nondet_int_#res| |_get_nondet_int_#in~from|)} is VALID [2020-07-10 15:12:03,262 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {3409#(= |_get_nondet_int_#res| |_get_nondet_int_#in~from|)} {3320#true} #164#return; {3332#(and (<= |main_#t~ret14| 2) (<= 2 |main_#t~ret14|))} is VALID [2020-07-10 15:12:03,270 INFO L280 TraceCheckUtils]: 13: Hoare triple {3332#(and (<= |main_#t~ret14| 2) (<= 2 |main_#t~ret14|))} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {3333#(and (<= main_~len~2 2) (<= 2 main_~len~2))} is VALID [2020-07-10 15:12:03,271 INFO L263 TraceCheckUtils]: 14: Hoare triple {3333#(and (<= main_~len~2 2) (<= 2 main_~len~2))} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {3320#true} is VALID [2020-07-10 15:12:03,271 INFO L280 TraceCheckUtils]: 15: Hoare triple {3320#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {3320#true} is VALID [2020-07-10 15:12:03,271 INFO L280 TraceCheckUtils]: 16: Hoare triple {3320#true} #t~post2 := ~len;~len := #t~post2 - 1; {3320#true} is VALID [2020-07-10 15:12:03,271 INFO L280 TraceCheckUtils]: 17: Hoare triple {3320#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {3320#true} is VALID [2020-07-10 15:12:03,272 INFO L280 TraceCheckUtils]: 18: Hoare triple {3320#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {3320#true} is VALID [2020-07-10 15:12:03,272 INFO L280 TraceCheckUtils]: 19: Hoare triple {3320#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {3320#true} is VALID [2020-07-10 15:12:03,272 INFO L280 TraceCheckUtils]: 20: Hoare triple {3320#true} #t~post2 := ~len;~len := #t~post2 - 1; {3320#true} is VALID [2020-07-10 15:12:03,272 INFO L280 TraceCheckUtils]: 21: Hoare triple {3320#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {3320#true} is VALID [2020-07-10 15:12:03,272 INFO L280 TraceCheckUtils]: 22: Hoare triple {3320#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {3320#true} is VALID [2020-07-10 15:12:03,272 INFO L280 TraceCheckUtils]: 23: Hoare triple {3320#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {3320#true} is VALID [2020-07-10 15:12:03,273 INFO L280 TraceCheckUtils]: 24: Hoare triple {3320#true} #t~post2 := ~len;~len := #t~post2 - 1; {3320#true} is VALID [2020-07-10 15:12:03,273 INFO L280 TraceCheckUtils]: 25: Hoare triple {3320#true} assume !(#t~post2 > 0);havoc #t~post2; {3320#true} is VALID [2020-07-10 15:12:03,273 INFO L280 TraceCheckUtils]: 26: Hoare triple {3320#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {3320#true} is VALID [2020-07-10 15:12:03,273 INFO L280 TraceCheckUtils]: 27: Hoare triple {3320#true} assume true; {3320#true} is VALID [2020-07-10 15:12:03,274 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {3320#true} {3333#(and (<= main_~len~2 2) (<= 2 main_~len~2))} #166#return; {3333#(and (<= main_~len~2 2) (<= 2 main_~len~2))} is VALID [2020-07-10 15:12:03,275 INFO L280 TraceCheckUtils]: 29: Hoare triple {3333#(and (<= main_~len~2 2) (<= 2 main_~len~2))} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {3333#(and (<= main_~len~2 2) (<= 2 main_~len~2))} is VALID [2020-07-10 15:12:03,275 INFO L263 TraceCheckUtils]: 30: Hoare triple {3333#(and (<= main_~len~2 2) (<= 2 main_~len~2))} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {3320#true} is VALID [2020-07-10 15:12:03,276 INFO L280 TraceCheckUtils]: 31: Hoare triple {3320#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {3396#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} is VALID [2020-07-10 15:12:03,276 INFO L280 TraceCheckUtils]: 32: Hoare triple {3396#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} #t~short12 := ~len~1 < ~until; {3396#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} is VALID [2020-07-10 15:12:03,277 INFO L280 TraceCheckUtils]: 33: Hoare triple {3396#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {3396#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} is VALID [2020-07-10 15:12:03,278 INFO L280 TraceCheckUtils]: 34: Hoare triple {3396#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {3396#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} is VALID [2020-07-10 15:12:03,278 INFO L280 TraceCheckUtils]: 35: Hoare triple {3396#(= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} #res := ~len~1; {3409#(= |_get_nondet_int_#res| |_get_nondet_int_#in~from|)} is VALID [2020-07-10 15:12:03,279 INFO L280 TraceCheckUtils]: 36: Hoare triple {3409#(= |_get_nondet_int_#res| |_get_nondet_int_#in~from|)} assume true; {3409#(= |_get_nondet_int_#res| |_get_nondet_int_#in~from|)} is VALID [2020-07-10 15:12:03,280 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {3409#(= |_get_nondet_int_#res| |_get_nondet_int_#in~from|)} {3333#(and (<= main_~len~2 2) (<= 2 main_~len~2))} #168#return; {3355#(and (<= main_~len~2 2) (<= 2 main_~len~2) (= |main_#t~ret16| 0))} is VALID [2020-07-10 15:12:03,281 INFO L280 TraceCheckUtils]: 38: Hoare triple {3355#(and (<= main_~len~2 2) (<= 2 main_~len~2) (= |main_#t~ret16| 0))} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {3356#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} is VALID [2020-07-10 15:12:03,281 INFO L280 TraceCheckUtils]: 39: Hoare triple {3356#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} #t~short18 := ~i~0 < ~k~0; {3356#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} is VALID [2020-07-10 15:12:03,282 INFO L280 TraceCheckUtils]: 40: Hoare triple {3356#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} assume !#t~short18; {3356#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} is VALID [2020-07-10 15:12:03,283 INFO L280 TraceCheckUtils]: 41: Hoare triple {3356#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {3356#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} is VALID [2020-07-10 15:12:03,284 INFO L280 TraceCheckUtils]: 42: Hoare triple {3356#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {3356#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} is VALID [2020-07-10 15:12:03,284 INFO L263 TraceCheckUtils]: 43: Hoare triple {3356#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {3320#true} is VALID [2020-07-10 15:12:03,285 INFO L280 TraceCheckUtils]: 44: Hoare triple {3320#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {3371#(and (<= 0 sll_length_~len~0) (<= sll_length_~len~0 0))} is VALID [2020-07-10 15:12:03,286 INFO L280 TraceCheckUtils]: 45: Hoare triple {3371#(and (<= 0 sll_length_~len~0) (<= sll_length_~len~0 0))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {3372#(and (<= 1 sll_length_~len~0) (<= sll_length_~len~0 1))} is VALID [2020-07-10 15:12:03,287 INFO L280 TraceCheckUtils]: 46: Hoare triple {3372#(and (<= 1 sll_length_~len~0) (<= sll_length_~len~0 1))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {3373#(and (<= sll_length_~len~0 2) (<= 2 sll_length_~len~0))} is VALID [2020-07-10 15:12:03,288 INFO L280 TraceCheckUtils]: 47: Hoare triple {3373#(and (<= sll_length_~len~0 2) (<= 2 sll_length_~len~0))} assume !(~head.base != 0 || ~head.offset != 0); {3373#(and (<= sll_length_~len~0 2) (<= 2 sll_length_~len~0))} is VALID [2020-07-10 15:12:03,288 INFO L280 TraceCheckUtils]: 48: Hoare triple {3373#(and (<= sll_length_~len~0 2) (<= 2 sll_length_~len~0))} #res := ~len~0; {3374#(and (<= 2 |sll_length_#res|) (<= |sll_length_#res| 2))} is VALID [2020-07-10 15:12:03,289 INFO L280 TraceCheckUtils]: 49: Hoare triple {3374#(and (<= 2 |sll_length_#res|) (<= |sll_length_#res| 2))} assume true; {3374#(and (<= 2 |sll_length_#res|) (<= |sll_length_#res| 2))} is VALID [2020-07-10 15:12:03,290 INFO L275 TraceCheckUtils]: 50: Hoare quadruple {3374#(and (<= 2 |sll_length_#res|) (<= |sll_length_#res| 2))} {3356#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= 2 main_~len~2))} #174#return; {3530#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= |main_#t~ret22| 2) (<= 2 |main_#t~ret22|) (<= 2 main_~len~2))} is VALID [2020-07-10 15:12:03,291 INFO L280 TraceCheckUtils]: 51: Hoare triple {3530#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= |main_#t~ret22| 2) (<= 2 |main_#t~ret22|) (<= 2 main_~len~2))} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {3530#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= |main_#t~ret22| 2) (<= 2 |main_#t~ret22|) (<= 2 main_~len~2))} is VALID [2020-07-10 15:12:03,292 INFO L280 TraceCheckUtils]: 52: Hoare triple {3530#(and (<= main_~len~2 2) (= 0 main_~k~0) (<= |main_#t~ret22| 2) (<= 2 |main_#t~ret22|) (<= 2 main_~len~2))} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {3321#false} is VALID [2020-07-10 15:12:03,292 INFO L280 TraceCheckUtils]: 53: Hoare triple {3321#false} assume !false; {3321#false} is VALID [2020-07-10 15:12:03,296 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2020-07-10 15:12:03,296 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-10 15:12:03,296 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 13] total 20 [2020-07-10 15:12:03,296 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [126515774] [2020-07-10 15:12:03,297 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 54 [2020-07-10 15:12:03,298 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:12:03,298 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states. [2020-07-10 15:12:03,389 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:12:03,389 INFO L459 AbstractCegarLoop]: Interpolant automaton has 20 states [2020-07-10 15:12:03,389 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:12:03,390 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2020-07-10 15:12:03,390 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=334, Unknown=0, NotChecked=0, Total=380 [2020-07-10 15:12:03,391 INFO L87 Difference]: Start difference. First operand 90 states and 107 transitions. Second operand 20 states. [2020-07-10 15:12:06,643 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:12:06,643 INFO L93 Difference]: Finished difference Result 161 states and 206 transitions. [2020-07-10 15:12:06,643 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2020-07-10 15:12:06,643 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 54 [2020-07-10 15:12:06,645 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:12:06,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2020-07-10 15:12:06,653 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 145 transitions. [2020-07-10 15:12:06,653 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2020-07-10 15:12:06,660 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 145 transitions. [2020-07-10 15:12:06,660 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 145 transitions. [2020-07-10 15:12:06,878 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 145 edges. 145 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:12:06,882 INFO L225 Difference]: With dead ends: 161 [2020-07-10 15:12:06,882 INFO L226 Difference]: Without dead ends: 157 [2020-07-10 15:12:06,883 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 58 SyntacticMatches, 2 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 124 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=129, Invalid=801, Unknown=0, NotChecked=0, Total=930 [2020-07-10 15:12:06,883 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 157 states. [2020-07-10 15:12:07,031 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 157 to 110. [2020-07-10 15:12:07,032 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:12:07,032 INFO L82 GeneralOperation]: Start isEquivalent. First operand 157 states. Second operand 110 states. [2020-07-10 15:12:07,032 INFO L74 IsIncluded]: Start isIncluded. First operand 157 states. Second operand 110 states. [2020-07-10 15:12:07,033 INFO L87 Difference]: Start difference. First operand 157 states. Second operand 110 states. [2020-07-10 15:12:07,041 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:12:07,041 INFO L93 Difference]: Finished difference Result 157 states and 202 transitions. [2020-07-10 15:12:07,041 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 202 transitions. [2020-07-10 15:12:07,042 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:12:07,042 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:12:07,042 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand 157 states. [2020-07-10 15:12:07,043 INFO L87 Difference]: Start difference. First operand 110 states. Second operand 157 states. [2020-07-10 15:12:07,050 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:12:07,050 INFO L93 Difference]: Finished difference Result 157 states and 202 transitions. [2020-07-10 15:12:07,051 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 202 transitions. [2020-07-10 15:12:07,051 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:12:07,052 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:12:07,052 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:12:07,052 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:12:07,052 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 110 states. [2020-07-10 15:12:07,056 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 135 transitions. [2020-07-10 15:12:07,057 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 135 transitions. Word has length 54 [2020-07-10 15:12:07,057 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:12:07,057 INFO L479 AbstractCegarLoop]: Abstraction has 110 states and 135 transitions. [2020-07-10 15:12:07,057 INFO L480 AbstractCegarLoop]: Interpolant automaton has 20 states. [2020-07-10 15:12:07,057 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 135 transitions. [2020-07-10 15:12:07,058 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2020-07-10 15:12:07,058 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:12:07,058 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 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] [2020-07-10 15:12:07,273 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:12:07,274 INFO L427 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:12:07,275 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:12:07,275 INFO L82 PathProgramCache]: Analyzing trace with hash 832308054, now seen corresponding path program 3 times [2020-07-10 15:12:07,275 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:12:07,275 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2002326593] [2020-07-10 15:12:07,276 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:12:07,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:12:07,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:12:07,428 INFO L280 TraceCheckUtils]: 0: Hoare triple {4285#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4241#true} is VALID [2020-07-10 15:12:07,428 INFO L280 TraceCheckUtils]: 1: Hoare triple {4241#true} assume true; {4241#true} is VALID [2020-07-10 15:12:07,428 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {4241#true} {4241#true} #180#return; {4241#true} is VALID [2020-07-10 15:12:07,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:12:07,434 INFO L280 TraceCheckUtils]: 0: Hoare triple {4241#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {4241#true} is VALID [2020-07-10 15:12:07,434 INFO L280 TraceCheckUtils]: 1: Hoare triple {4241#true} #t~short12 := ~len~1 < ~until; {4241#true} is VALID [2020-07-10 15:12:07,434 INFO L280 TraceCheckUtils]: 2: Hoare triple {4241#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {4241#true} is VALID [2020-07-10 15:12:07,435 INFO L280 TraceCheckUtils]: 3: Hoare triple {4241#true} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {4241#true} is VALID [2020-07-10 15:12:07,435 INFO L280 TraceCheckUtils]: 4: Hoare triple {4241#true} #res := ~len~1; {4241#true} is VALID [2020-07-10 15:12:07,435 INFO L280 TraceCheckUtils]: 5: Hoare triple {4241#true} assume true; {4241#true} is VALID [2020-07-10 15:12:07,435 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {4241#true} {4241#true} #164#return; {4241#true} is VALID [2020-07-10 15:12:07,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:12:07,646 INFO L280 TraceCheckUtils]: 0: Hoare triple {4286#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {4287#(and (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} is VALID [2020-07-10 15:12:07,647 INFO L280 TraceCheckUtils]: 1: Hoare triple {4287#(and (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} #t~post2 := ~len;~len := #t~post2 - 1; {4287#(and (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} is VALID [2020-07-10 15:12:07,649 INFO L280 TraceCheckUtils]: 2: Hoare triple {4287#(and (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {4288#(and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} is VALID [2020-07-10 15:12:07,650 INFO L280 TraceCheckUtils]: 3: Hoare triple {4288#(and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4288#(and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} is VALID [2020-07-10 15:12:07,652 INFO L280 TraceCheckUtils]: 4: Hoare triple {4288#(and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {4289#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 1 (select |#valid| sll_create_~head~0.base)))} is VALID [2020-07-10 15:12:07,653 INFO L280 TraceCheckUtils]: 5: Hoare triple {4289#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 1 (select |#valid| sll_create_~head~0.base)))} #t~post2 := ~len;~len := #t~post2 - 1; {4289#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 1 (select |#valid| sll_create_~head~0.base)))} is VALID [2020-07-10 15:12:07,654 INFO L280 TraceCheckUtils]: 6: Hoare triple {4289#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 1 (select |#valid| sll_create_~head~0.base)))} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {4290#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (not (= sll_create_~head~0.base sll_create_~new_head~0.base)))} is VALID [2020-07-10 15:12:07,655 INFO L280 TraceCheckUtils]: 7: Hoare triple {4290#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (not (= sll_create_~head~0.base sll_create_~new_head~0.base)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4290#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (not (= sll_create_~head~0.base sll_create_~new_head~0.base)))} is VALID [2020-07-10 15:12:07,657 INFO L280 TraceCheckUtils]: 8: Hoare triple {4290#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (not (= sll_create_~head~0.base sll_create_~new_head~0.base)))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {4291#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))))} is VALID [2020-07-10 15:12:07,658 INFO L280 TraceCheckUtils]: 9: Hoare triple {4291#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))))} #t~post2 := ~len;~len := #t~post2 - 1; {4291#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))))} is VALID [2020-07-10 15:12:07,659 INFO L280 TraceCheckUtils]: 10: Hoare triple {4291#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))))} assume !(#t~post2 > 0);havoc #t~post2; {4291#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))))} is VALID [2020-07-10 15:12:07,661 INFO L280 TraceCheckUtils]: 11: Hoare triple {4291#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {4292#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))))} is VALID [2020-07-10 15:12:07,662 INFO L280 TraceCheckUtils]: 12: Hoare triple {4292#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))))} assume true; {4292#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))))} is VALID [2020-07-10 15:12:07,665 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {4292#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))))} {4241#true} #166#return; {4267#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~ret15.base|) |main_#t~ret15.offset|))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~ret15.base|) |main_#t~ret15.offset|))))} is VALID [2020-07-10 15:12:07,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:12:07,674 INFO L280 TraceCheckUtils]: 0: Hoare triple {4241#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {4241#true} is VALID [2020-07-10 15:12:07,675 INFO L280 TraceCheckUtils]: 1: Hoare triple {4241#true} #t~short12 := ~len~1 < ~until; {4241#true} is VALID [2020-07-10 15:12:07,675 INFO L280 TraceCheckUtils]: 2: Hoare triple {4241#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {4241#true} is VALID [2020-07-10 15:12:07,675 INFO L280 TraceCheckUtils]: 3: Hoare triple {4241#true} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {4241#true} is VALID [2020-07-10 15:12:07,675 INFO L280 TraceCheckUtils]: 4: Hoare triple {4241#true} #res := ~len~1; {4241#true} is VALID [2020-07-10 15:12:07,675 INFO L280 TraceCheckUtils]: 5: Hoare triple {4241#true} assume true; {4241#true} is VALID [2020-07-10 15:12:07,677 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {4241#true} {4268#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} #168#return; {4268#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} is VALID [2020-07-10 15:12:07,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:12:07,818 INFO L280 TraceCheckUtils]: 0: Hoare triple {4241#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {4293#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} is VALID [2020-07-10 15:12:07,819 INFO L280 TraceCheckUtils]: 1: Hoare triple {4293#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {4294#(and (= (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.offset) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base))} is VALID [2020-07-10 15:12:07,820 INFO L280 TraceCheckUtils]: 2: Hoare triple {4294#(and (= (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.offset) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {4295#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) sll_length_~head.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) sll_length_~head.base))} is VALID [2020-07-10 15:12:07,822 INFO L280 TraceCheckUtils]: 3: Hoare triple {4295#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) sll_length_~head.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) sll_length_~head.base))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {4296#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} is VALID [2020-07-10 15:12:07,822 INFO L280 TraceCheckUtils]: 4: Hoare triple {4296#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} assume !(~head.base != 0 || ~head.offset != 0); {4296#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} is VALID [2020-07-10 15:12:07,823 INFO L280 TraceCheckUtils]: 5: Hoare triple {4296#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} #res := ~len~0; {4296#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} is VALID [2020-07-10 15:12:07,824 INFO L280 TraceCheckUtils]: 6: Hoare triple {4296#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} assume true; {4296#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} is VALID [2020-07-10 15:12:07,825 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {4296#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} {4276#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) |main_#t~mem21.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~mem21.base|) |main_#t~mem21.offset|))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) |main_#t~mem21.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~mem21.base|) |main_#t~mem21.offset|))))} #174#return; {4242#false} is VALID [2020-07-10 15:12:07,826 INFO L263 TraceCheckUtils]: 0: Hoare triple {4241#true} call ULTIMATE.init(); {4285#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:12:07,826 INFO L280 TraceCheckUtils]: 1: Hoare triple {4285#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4241#true} is VALID [2020-07-10 15:12:07,827 INFO L280 TraceCheckUtils]: 2: Hoare triple {4241#true} assume true; {4241#true} is VALID [2020-07-10 15:12:07,827 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4241#true} {4241#true} #180#return; {4241#true} is VALID [2020-07-10 15:12:07,827 INFO L263 TraceCheckUtils]: 4: Hoare triple {4241#true} call #t~ret24 := main(); {4241#true} is VALID [2020-07-10 15:12:07,827 INFO L263 TraceCheckUtils]: 5: Hoare triple {4241#true} call #t~ret14 := _get_nondet_int(2, 5); {4241#true} is VALID [2020-07-10 15:12:07,828 INFO L280 TraceCheckUtils]: 6: Hoare triple {4241#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {4241#true} is VALID [2020-07-10 15:12:07,828 INFO L280 TraceCheckUtils]: 7: Hoare triple {4241#true} #t~short12 := ~len~1 < ~until; {4241#true} is VALID [2020-07-10 15:12:07,828 INFO L280 TraceCheckUtils]: 8: Hoare triple {4241#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {4241#true} is VALID [2020-07-10 15:12:07,828 INFO L280 TraceCheckUtils]: 9: Hoare triple {4241#true} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {4241#true} is VALID [2020-07-10 15:12:07,828 INFO L280 TraceCheckUtils]: 10: Hoare triple {4241#true} #res := ~len~1; {4241#true} is VALID [2020-07-10 15:12:07,828 INFO L280 TraceCheckUtils]: 11: Hoare triple {4241#true} assume true; {4241#true} is VALID [2020-07-10 15:12:07,829 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4241#true} {4241#true} #164#return; {4241#true} is VALID [2020-07-10 15:12:07,829 INFO L280 TraceCheckUtils]: 13: Hoare triple {4241#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {4241#true} is VALID [2020-07-10 15:12:07,830 INFO L263 TraceCheckUtils]: 14: Hoare triple {4241#true} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {4286#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 15:12:07,831 INFO L280 TraceCheckUtils]: 15: Hoare triple {4286#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {4287#(and (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} is VALID [2020-07-10 15:12:07,832 INFO L280 TraceCheckUtils]: 16: Hoare triple {4287#(and (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} #t~post2 := ~len;~len := #t~post2 - 1; {4287#(and (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} is VALID [2020-07-10 15:12:07,833 INFO L280 TraceCheckUtils]: 17: Hoare triple {4287#(and (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {4288#(and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} is VALID [2020-07-10 15:12:07,833 INFO L280 TraceCheckUtils]: 18: Hoare triple {4288#(and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4288#(and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} is VALID [2020-07-10 15:12:07,835 INFO L280 TraceCheckUtils]: 19: Hoare triple {4288#(and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {4289#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 1 (select |#valid| sll_create_~head~0.base)))} is VALID [2020-07-10 15:12:07,835 INFO L280 TraceCheckUtils]: 20: Hoare triple {4289#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 1 (select |#valid| sll_create_~head~0.base)))} #t~post2 := ~len;~len := #t~post2 - 1; {4289#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 1 (select |#valid| sll_create_~head~0.base)))} is VALID [2020-07-10 15:12:07,836 INFO L280 TraceCheckUtils]: 21: Hoare triple {4289#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 1 (select |#valid| sll_create_~head~0.base)))} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {4290#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (not (= sll_create_~head~0.base sll_create_~new_head~0.base)))} is VALID [2020-07-10 15:12:07,836 INFO L280 TraceCheckUtils]: 22: Hoare triple {4290#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (not (= sll_create_~head~0.base sll_create_~new_head~0.base)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4290#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (not (= sll_create_~head~0.base sll_create_~new_head~0.base)))} is VALID [2020-07-10 15:12:07,837 INFO L280 TraceCheckUtils]: 23: Hoare triple {4290#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (not (= sll_create_~head~0.base sll_create_~new_head~0.base)))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {4291#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))))} is VALID [2020-07-10 15:12:07,838 INFO L280 TraceCheckUtils]: 24: Hoare triple {4291#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))))} #t~post2 := ~len;~len := #t~post2 - 1; {4291#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))))} is VALID [2020-07-10 15:12:07,839 INFO L280 TraceCheckUtils]: 25: Hoare triple {4291#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))))} assume !(#t~post2 > 0);havoc #t~post2; {4291#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))))} is VALID [2020-07-10 15:12:07,839 INFO L280 TraceCheckUtils]: 26: Hoare triple {4291#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset))))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {4292#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))))} is VALID [2020-07-10 15:12:07,840 INFO L280 TraceCheckUtils]: 27: Hoare triple {4292#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))))} assume true; {4292#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))))} is VALID [2020-07-10 15:12:07,841 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {4292#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|))))} {4241#true} #166#return; {4267#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~ret15.base|) |main_#t~ret15.offset|))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~ret15.base|) |main_#t~ret15.offset|))))} is VALID [2020-07-10 15:12:07,842 INFO L280 TraceCheckUtils]: 29: Hoare triple {4267#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~ret15.base|) |main_#t~ret15.offset|))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) |main_#t~ret15.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~ret15.base|) |main_#t~ret15.offset|))))} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {4268#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} is VALID [2020-07-10 15:12:07,842 INFO L263 TraceCheckUtils]: 30: Hoare triple {4268#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {4241#true} is VALID [2020-07-10 15:12:07,842 INFO L280 TraceCheckUtils]: 31: Hoare triple {4241#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {4241#true} is VALID [2020-07-10 15:12:07,842 INFO L280 TraceCheckUtils]: 32: Hoare triple {4241#true} #t~short12 := ~len~1 < ~until; {4241#true} is VALID [2020-07-10 15:12:07,842 INFO L280 TraceCheckUtils]: 33: Hoare triple {4241#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {4241#true} is VALID [2020-07-10 15:12:07,843 INFO L280 TraceCheckUtils]: 34: Hoare triple {4241#true} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {4241#true} is VALID [2020-07-10 15:12:07,843 INFO L280 TraceCheckUtils]: 35: Hoare triple {4241#true} #res := ~len~1; {4241#true} is VALID [2020-07-10 15:12:07,843 INFO L280 TraceCheckUtils]: 36: Hoare triple {4241#true} assume true; {4241#true} is VALID [2020-07-10 15:12:07,851 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {4241#true} {4268#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} #168#return; {4268#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} is VALID [2020-07-10 15:12:07,852 INFO L280 TraceCheckUtils]: 38: Hoare triple {4268#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {4268#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} is VALID [2020-07-10 15:12:07,853 INFO L280 TraceCheckUtils]: 39: Hoare triple {4268#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} #t~short18 := ~i~0 < ~k~0; {4268#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} is VALID [2020-07-10 15:12:07,854 INFO L280 TraceCheckUtils]: 40: Hoare triple {4268#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} assume !#t~short18; {4268#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} is VALID [2020-07-10 15:12:07,854 INFO L280 TraceCheckUtils]: 41: Hoare triple {4268#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {4268#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} is VALID [2020-07-10 15:12:07,855 INFO L280 TraceCheckUtils]: 42: Hoare triple {4268#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|))) (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))))} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {4276#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) |main_#t~mem21.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~mem21.base|) |main_#t~mem21.offset|))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) |main_#t~mem21.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~mem21.base|) |main_#t~mem21.offset|))))} is VALID [2020-07-10 15:12:07,855 INFO L263 TraceCheckUtils]: 43: Hoare triple {4276#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) |main_#t~mem21.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~mem21.base|) |main_#t~mem21.offset|))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) |main_#t~mem21.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~mem21.base|) |main_#t~mem21.offset|))))} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {4241#true} is VALID [2020-07-10 15:12:07,856 INFO L280 TraceCheckUtils]: 44: Hoare triple {4241#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {4293#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} is VALID [2020-07-10 15:12:07,857 INFO L280 TraceCheckUtils]: 45: Hoare triple {4293#(and (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {4294#(and (= (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.offset) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base))} is VALID [2020-07-10 15:12:07,857 INFO L280 TraceCheckUtils]: 46: Hoare triple {4294#(and (= (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.offset) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {4295#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) sll_length_~head.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) sll_length_~head.base))} is VALID [2020-07-10 15:12:07,858 INFO L280 TraceCheckUtils]: 47: Hoare triple {4295#(and (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) sll_length_~head.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) sll_length_~head.base))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {4296#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} is VALID [2020-07-10 15:12:07,858 INFO L280 TraceCheckUtils]: 48: Hoare triple {4296#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} assume !(~head.base != 0 || ~head.offset != 0); {4296#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} is VALID [2020-07-10 15:12:07,859 INFO L280 TraceCheckUtils]: 49: Hoare triple {4296#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} #res := ~len~0; {4296#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} is VALID [2020-07-10 15:12:07,859 INFO L280 TraceCheckUtils]: 50: Hoare triple {4296#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} assume true; {4296#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} is VALID [2020-07-10 15:12:07,860 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4296#(or (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)))))} {4276#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) |main_#t~mem21.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~mem21.base|) |main_#t~mem21.offset|))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_#t~mem21.base|) |main_#t~mem21.offset|)) (select (select |#memory_$Pointer$.offset| |main_#t~mem21.base|) |main_#t~mem21.offset|))))} #174#return; {4242#false} is VALID [2020-07-10 15:12:07,861 INFO L280 TraceCheckUtils]: 52: Hoare triple {4242#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {4242#false} is VALID [2020-07-10 15:12:07,861 INFO L280 TraceCheckUtils]: 53: Hoare triple {4242#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {4242#false} is VALID [2020-07-10 15:12:07,861 INFO L280 TraceCheckUtils]: 54: Hoare triple {4242#false} assume !false; {4242#false} is VALID [2020-07-10 15:12:07,868 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2020-07-10 15:12:07,869 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2002326593] [2020-07-10 15:12:07,869 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [298059259] [2020-07-10 15:12:07,869 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:12:07,978 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2020-07-10 15:12:07,978 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-10 15:12:07,980 INFO L264 TraceCheckSpWp]: Trace formula consists of 229 conjuncts, 63 conjunts are in the unsatisfiable core [2020-07-10 15:12:07,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:12:08,001 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 15:12:08,033 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2020-07-10 15:12:08,033 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:12:08,042 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:12:08,042 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2020-07-10 15:12:08,043 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:16, output treesize:15 [2020-07-10 15:12:08,046 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:12:08,047 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#valid_25|]. (and (= 0 sll_create_~head~0.offset) (= |#valid| (store |v_#valid_25| sll_create_~new_head~0.base 1)) (= sll_create_~new_head~0.offset 0) (= 0 sll_create_~head~0.base)) [2020-07-10 15:12:08,047 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= sll_create_~new_head~0.offset 0) (= 0 sll_create_~head~0.base)) [2020-07-10 15:12:08,106 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2020-07-10 15:12:08,107 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:12:08,117 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:12:08,124 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2020-07-10 15:12:08,125 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-10 15:12:08,147 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:12:08,148 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-10 15:12:08,148 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:31, output treesize:23 [2020-07-10 15:12:08,233 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:12:08,233 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 15 [2020-07-10 15:12:08,238 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-10 15:12:08,241 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:12:08,250 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:12:08,251 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2020-07-10 15:12:08,251 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:31, output treesize:25 [2020-07-10 15:12:08,331 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 18 [2020-07-10 15:12:08,340 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:12:08,354 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:12:08,364 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 18 [2020-07-10 15:12:08,366 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-10 15:12:08,379 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:12:08,382 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-10 15:12:08,382 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:44, output treesize:41 [2020-07-10 15:12:10,368 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-10 15:12:10,414 INFO L263 TraceCheckUtils]: 0: Hoare triple {4241#true} call ULTIMATE.init(); {4241#true} is VALID [2020-07-10 15:12:10,414 INFO L280 TraceCheckUtils]: 1: Hoare triple {4241#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4241#true} is VALID [2020-07-10 15:12:10,414 INFO L280 TraceCheckUtils]: 2: Hoare triple {4241#true} assume true; {4241#true} is VALID [2020-07-10 15:12:10,415 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4241#true} {4241#true} #180#return; {4241#true} is VALID [2020-07-10 15:12:10,415 INFO L263 TraceCheckUtils]: 4: Hoare triple {4241#true} call #t~ret24 := main(); {4241#true} is VALID [2020-07-10 15:12:10,415 INFO L263 TraceCheckUtils]: 5: Hoare triple {4241#true} call #t~ret14 := _get_nondet_int(2, 5); {4241#true} is VALID [2020-07-10 15:12:10,415 INFO L280 TraceCheckUtils]: 6: Hoare triple {4241#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {4241#true} is VALID [2020-07-10 15:12:10,415 INFO L280 TraceCheckUtils]: 7: Hoare triple {4241#true} #t~short12 := ~len~1 < ~until; {4241#true} is VALID [2020-07-10 15:12:10,415 INFO L280 TraceCheckUtils]: 8: Hoare triple {4241#true} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {4241#true} is VALID [2020-07-10 15:12:10,415 INFO L280 TraceCheckUtils]: 9: Hoare triple {4241#true} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {4241#true} is VALID [2020-07-10 15:12:10,415 INFO L280 TraceCheckUtils]: 10: Hoare triple {4241#true} #res := ~len~1; {4241#true} is VALID [2020-07-10 15:12:10,416 INFO L280 TraceCheckUtils]: 11: Hoare triple {4241#true} assume true; {4241#true} is VALID [2020-07-10 15:12:10,416 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4241#true} {4241#true} #164#return; {4241#true} is VALID [2020-07-10 15:12:10,416 INFO L280 TraceCheckUtils]: 13: Hoare triple {4241#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {4241#true} is VALID [2020-07-10 15:12:10,416 INFO L263 TraceCheckUtils]: 14: Hoare triple {4241#true} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {4241#true} is VALID [2020-07-10 15:12:10,416 INFO L280 TraceCheckUtils]: 15: Hoare triple {4241#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {4287#(and (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} is VALID [2020-07-10 15:12:10,417 INFO L280 TraceCheckUtils]: 16: Hoare triple {4287#(and (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} #t~post2 := ~len;~len := #t~post2 - 1; {4287#(and (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} is VALID [2020-07-10 15:12:10,418 INFO L280 TraceCheckUtils]: 17: Hoare triple {4287#(and (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base))} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {4351#(and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base) (= sll_create_~new_head~0.offset 0))} is VALID [2020-07-10 15:12:10,419 INFO L280 TraceCheckUtils]: 18: Hoare triple {4351#(and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base) (= sll_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4351#(and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base) (= sll_create_~new_head~0.offset 0))} is VALID [2020-07-10 15:12:10,420 INFO L280 TraceCheckUtils]: 19: Hoare triple {4351#(and (= 1 (select |#valid| sll_create_~new_head~0.base)) (= 0 sll_create_~head~0.offset) (= 0 sll_create_~head~0.base) (= sll_create_~new_head~0.offset 0))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {4358#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 sll_create_~head~0.offset) (= 1 (select |#valid| sll_create_~head~0.base)))} is VALID [2020-07-10 15:12:10,421 INFO L280 TraceCheckUtils]: 20: Hoare triple {4358#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 sll_create_~head~0.offset) (= 1 (select |#valid| sll_create_~head~0.base)))} #t~post2 := ~len;~len := #t~post2 - 1; {4358#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 sll_create_~head~0.offset) (= 1 (select |#valid| sll_create_~head~0.base)))} is VALID [2020-07-10 15:12:10,421 INFO L280 TraceCheckUtils]: 21: Hoare triple {4358#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 sll_create_~head~0.offset) (= 1 (select |#valid| sll_create_~head~0.base)))} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {4365#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 sll_create_~head~0.offset) (not (= sll_create_~head~0.base sll_create_~new_head~0.base)) (= sll_create_~new_head~0.offset 0))} is VALID [2020-07-10 15:12:10,422 INFO L280 TraceCheckUtils]: 22: Hoare triple {4365#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 sll_create_~head~0.offset) (not (= sll_create_~head~0.base sll_create_~new_head~0.base)) (= sll_create_~new_head~0.offset 0))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4365#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 sll_create_~head~0.offset) (not (= sll_create_~head~0.base sll_create_~new_head~0.base)) (= sll_create_~new_head~0.offset 0))} is VALID [2020-07-10 15:12:10,424 INFO L280 TraceCheckUtils]: 23: Hoare triple {4365#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) (= 0 sll_create_~head~0.offset) (not (= sll_create_~head~0.base sll_create_~new_head~0.base)) (= sll_create_~new_head~0.offset 0))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {4372#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (not (= sll_create_~head~0.base (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) 0)))} is VALID [2020-07-10 15:12:10,425 INFO L280 TraceCheckUtils]: 24: Hoare triple {4372#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (not (= sll_create_~head~0.base (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) 0)))} #t~post2 := ~len;~len := #t~post2 - 1; {4372#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (not (= sll_create_~head~0.base (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) 0)))} is VALID [2020-07-10 15:12:10,426 INFO L280 TraceCheckUtils]: 25: Hoare triple {4372#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (not (= sll_create_~head~0.base (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) 0)))} assume !(#t~post2 > 0);havoc #t~post2; {4372#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (not (= sll_create_~head~0.base (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) 0)))} is VALID [2020-07-10 15:12:10,427 INFO L280 TraceCheckUtils]: 26: Hoare triple {4372#(and (= 0 (select (select |#memory_$Pointer$.offset| sll_create_~head~0.base) sll_create_~head~0.offset)) (not (= sll_create_~head~0.base (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset))) (= 0 sll_create_~head~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| sll_create_~head~0.base) sll_create_~head~0.offset)) 0)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {4382#(and (not (= (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|) |sll_create_#res.base|)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) 0)) (= 0 |sll_create_#res.offset|) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|)))} is VALID [2020-07-10 15:12:10,428 INFO L280 TraceCheckUtils]: 27: Hoare triple {4382#(and (not (= (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|) |sll_create_#res.base|)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) 0)) (= 0 |sll_create_#res.offset|) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|)))} assume true; {4382#(and (not (= (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|) |sll_create_#res.base|)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) 0)) (= 0 |sll_create_#res.offset|) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|)))} is VALID [2020-07-10 15:12:10,429 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {4382#(and (not (= (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|) |sll_create_#res.base|)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) 0)) (= 0 |sll_create_#res.offset|) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_create_#res.base|) |sll_create_#res.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |sll_create_#res.base|) |sll_create_#res.offset|)))} {4241#true} #166#return; {4389#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) 0) |main_#t~ret15.base|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) 0)) 0) 0) (= |main_#t~ret15.offset| 0) (= 0 (select (select |#memory_$Pointer$.offset| |main_#t~ret15.base|) 0)))} is VALID [2020-07-10 15:12:10,431 INFO L280 TraceCheckUtils]: 29: Hoare triple {4389#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) 0) |main_#t~ret15.base|)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_#t~ret15.base|) 0)) 0) 0) (= |main_#t~ret15.offset| 0) (= 0 (select (select |#memory_$Pointer$.offset| |main_#t~ret15.base|) 0)))} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {4393#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} is VALID [2020-07-10 15:12:10,433 INFO L263 TraceCheckUtils]: 30: Hoare triple {4393#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {4397#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} is VALID [2020-07-10 15:12:10,434 INFO L280 TraceCheckUtils]: 31: Hoare triple {4397#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} ~from := #in~from;~until := #in~until;~len~1 := ~from; {4397#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} is VALID [2020-07-10 15:12:10,439 INFO L280 TraceCheckUtils]: 32: Hoare triple {4397#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} #t~short12 := ~len~1 < ~until; {4397#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} is VALID [2020-07-10 15:12:10,440 INFO L280 TraceCheckUtils]: 33: Hoare triple {4397#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {4397#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} is VALID [2020-07-10 15:12:10,441 INFO L280 TraceCheckUtils]: 34: Hoare triple {4397#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {4397#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} is VALID [2020-07-10 15:12:10,441 INFO L280 TraceCheckUtils]: 35: Hoare triple {4397#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} #res := ~len~1; {4397#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} is VALID [2020-07-10 15:12:10,442 INFO L280 TraceCheckUtils]: 36: Hoare triple {4397#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} assume true; {4397#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} is VALID [2020-07-10 15:12:10,443 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {4397#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} {4393#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} #168#return; {4393#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} is VALID [2020-07-10 15:12:10,444 INFO L280 TraceCheckUtils]: 38: Hoare triple {4393#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {4393#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} is VALID [2020-07-10 15:12:10,445 INFO L280 TraceCheckUtils]: 39: Hoare triple {4393#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} #t~short18 := ~i~0 < ~k~0; {4393#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} is VALID [2020-07-10 15:12:10,446 INFO L280 TraceCheckUtils]: 40: Hoare triple {4393#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} assume !#t~short18; {4393#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} is VALID [2020-07-10 15:12:10,447 INFO L280 TraceCheckUtils]: 41: Hoare triple {4393#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {4393#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} is VALID [2020-07-10 15:12:10,449 INFO L280 TraceCheckUtils]: 42: Hoare triple {4393#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))))} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {4434#(exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~mem21.offset|) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~mem21.base|) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))))} is VALID [2020-07-10 15:12:10,451 INFO L263 TraceCheckUtils]: 43: Hoare triple {4434#(exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~mem21.offset|) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~mem21.base|) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))))} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {4397#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} is VALID [2020-07-10 15:12:10,452 INFO L280 TraceCheckUtils]: 44: Hoare triple {4397#(exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))))} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {4441#(and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} is VALID [2020-07-10 15:12:10,453 INFO L280 TraceCheckUtils]: 45: Hoare triple {4441#(and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (= sll_length_~head.offset |sll_length_#in~head.offset|) (= |sll_length_#in~head.base| sll_length_~head.base))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {4445#(and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (= (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.offset) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base))} is VALID [2020-07-10 15:12:10,455 INFO L280 TraceCheckUtils]: 46: Hoare triple {4445#(and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (= (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.offset) (= (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|) sll_length_~head.base))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {4449#(and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) sll_length_~head.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) sll_length_~head.base))} is VALID [2020-07-10 15:12:10,456 INFO L280 TraceCheckUtils]: 47: Hoare triple {4449#(and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) sll_length_~head.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) sll_length_~head.base))} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {4453#(or (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))) (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))))} is VALID [2020-07-10 15:12:10,457 INFO L280 TraceCheckUtils]: 48: Hoare triple {4453#(or (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))) (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))))} assume !(~head.base != 0 || ~head.offset != 0); {4453#(or (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))) (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))))} is VALID [2020-07-10 15:12:10,457 INFO L280 TraceCheckUtils]: 49: Hoare triple {4453#(or (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))) (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))))} #res := ~len~0; {4453#(or (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))) (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))))} is VALID [2020-07-10 15:12:10,458 INFO L280 TraceCheckUtils]: 50: Hoare triple {4453#(or (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))) (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))))} assume true; {4453#(or (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))) (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))))} is VALID [2020-07-10 15:12:10,461 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4453#(or (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))) (and (exists ((|v_main_~#s~0.base_BEFORE_CALL_2| Int) (|v_main_~#s~0.offset_BEFORE_CALL_2| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)) 0)) (not (= (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |v_main_~#s~0.base_BEFORE_CALL_2|) |v_main_~#s~0.offset_BEFORE_CALL_2|)) 0)))) (not (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |sll_length_#in~head.base|) |sll_length_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_length_#in~head.base|) |sll_length_#in~head.offset|))))))} {4434#(exists ((|main_~#s~0.base| Int) (|main_~#s~0.offset| Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) 0)) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~mem21.offset|) (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_#t~mem21.base|) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0) (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))))} #174#return; {4242#false} is VALID [2020-07-10 15:12:10,461 INFO L280 TraceCheckUtils]: 52: Hoare triple {4242#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {4242#false} is VALID [2020-07-10 15:12:10,461 INFO L280 TraceCheckUtils]: 53: Hoare triple {4242#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {4242#false} is VALID [2020-07-10 15:12:10,461 INFO L280 TraceCheckUtils]: 54: Hoare triple {4242#false} assume !false; {4242#false} is VALID [2020-07-10 15:12:10,479 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 7 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:12:10,479 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-10 15:12:10,479 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 16] total 30 [2020-07-10 15:12:10,480 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [749417133] [2020-07-10 15:12:10,480 INFO L78 Accepts]: Start accepts. Automaton has 30 states. Word has length 55 [2020-07-10 15:12:10,481 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:12:10,481 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 30 states. [2020-07-10 15:12:10,641 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:12:10,641 INFO L459 AbstractCegarLoop]: Interpolant automaton has 30 states [2020-07-10 15:12:10,642 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:12:10,642 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2020-07-10 15:12:10,642 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=793, Unknown=0, NotChecked=0, Total=870 [2020-07-10 15:12:10,643 INFO L87 Difference]: Start difference. First operand 110 states and 135 transitions. Second operand 30 states. [2020-07-10 15:12:41,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:12:41,617 INFO L93 Difference]: Finished difference Result 192 states and 235 transitions. [2020-07-10 15:12:41,617 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2020-07-10 15:12:41,617 INFO L78 Accepts]: Start accepts. Automaton has 30 states. Word has length 55 [2020-07-10 15:12:41,618 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:12:41,618 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2020-07-10 15:12:41,621 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 143 transitions. [2020-07-10 15:12:41,621 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2020-07-10 15:12:41,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 143 transitions. [2020-07-10 15:12:41,625 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 143 transitions. [2020-07-10 15:12:41,904 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 143 edges. 143 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:12:41,909 INFO L225 Difference]: With dead ends: 192 [2020-07-10 15:12:41,909 INFO L226 Difference]: Without dead ends: 178 [2020-07-10 15:12:41,910 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 46 SyntacticMatches, 5 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 403 ImplicationChecksByTransitivity, 2.8s TimeCoverageRelationStatistics Valid=176, Invalid=1716, Unknown=0, NotChecked=0, Total=1892 [2020-07-10 15:12:41,910 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 178 states. [2020-07-10 15:12:42,160 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 178 to 152. [2020-07-10 15:12:42,160 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:12:42,160 INFO L82 GeneralOperation]: Start isEquivalent. First operand 178 states. Second operand 152 states. [2020-07-10 15:12:42,160 INFO L74 IsIncluded]: Start isIncluded. First operand 178 states. Second operand 152 states. [2020-07-10 15:12:42,160 INFO L87 Difference]: Start difference. First operand 178 states. Second operand 152 states. [2020-07-10 15:12:42,172 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:12:42,172 INFO L93 Difference]: Finished difference Result 178 states and 218 transitions. [2020-07-10 15:12:42,173 INFO L276 IsEmpty]: Start isEmpty. Operand 178 states and 218 transitions. [2020-07-10 15:12:42,174 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:12:42,174 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:12:42,174 INFO L74 IsIncluded]: Start isIncluded. First operand 152 states. Second operand 178 states. [2020-07-10 15:12:42,174 INFO L87 Difference]: Start difference. First operand 152 states. Second operand 178 states. [2020-07-10 15:12:42,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:12:42,186 INFO L93 Difference]: Finished difference Result 178 states and 218 transitions. [2020-07-10 15:12:42,186 INFO L276 IsEmpty]: Start isEmpty. Operand 178 states and 218 transitions. [2020-07-10 15:12:42,190 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:12:42,190 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:12:42,190 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:12:42,191 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:12:42,191 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 152 states. [2020-07-10 15:12:42,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 152 states to 152 states and 188 transitions. [2020-07-10 15:12:42,198 INFO L78 Accepts]: Start accepts. Automaton has 152 states and 188 transitions. Word has length 55 [2020-07-10 15:12:42,198 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:12:42,199 INFO L479 AbstractCegarLoop]: Abstraction has 152 states and 188 transitions. [2020-07-10 15:12:42,199 INFO L480 AbstractCegarLoop]: Interpolant automaton has 30 states. [2020-07-10 15:12:42,199 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 188 transitions. [2020-07-10 15:12:42,201 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2020-07-10 15:12:42,201 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:12:42,201 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 3, 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] [2020-07-10 15:12:42,415 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:12:42,416 INFO L427 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:12:42,417 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:12:42,417 INFO L82 PathProgramCache]: Analyzing trace with hash 1162383005, now seen corresponding path program 1 times [2020-07-10 15:12:42,417 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:12:42,418 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1809505255] [2020-07-10 15:12:42,418 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:12:42,456 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:12:42,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:12:42,521 INFO L280 TraceCheckUtils]: 0: Hoare triple {5364#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {5319#true} is VALID [2020-07-10 15:12:42,521 INFO L280 TraceCheckUtils]: 1: Hoare triple {5319#true} assume true; {5319#true} is VALID [2020-07-10 15:12:42,522 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {5319#true} {5319#true} #180#return; {5319#true} is VALID [2020-07-10 15:12:42,524 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:12:42,572 INFO L280 TraceCheckUtils]: 0: Hoare triple {5319#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {5365#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:12:42,573 INFO L280 TraceCheckUtils]: 1: Hoare triple {5365#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #t~short12 := ~len~1 < ~until; {5365#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:12:42,574 INFO L280 TraceCheckUtils]: 2: Hoare triple {5365#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {5365#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:12:42,574 INFO L280 TraceCheckUtils]: 3: Hoare triple {5365#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {5365#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:12:42,575 INFO L280 TraceCheckUtils]: 4: Hoare triple {5365#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #res := ~len~1; {5366#(or (<= |_get_nondet_int_#res| 2) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:12:42,576 INFO L280 TraceCheckUtils]: 5: Hoare triple {5366#(or (<= |_get_nondet_int_#res| 2) (not (= 2 |_get_nondet_int_#in~from|)))} assume true; {5366#(or (<= |_get_nondet_int_#res| 2) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:12:42,577 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {5366#(or (<= |_get_nondet_int_#res| 2) (not (= 2 |_get_nondet_int_#in~from|)))} {5319#true} #164#return; {5331#(<= |main_#t~ret14| 2)} is VALID [2020-07-10 15:12:42,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:12:42,621 INFO L280 TraceCheckUtils]: 0: Hoare triple {5367#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {5319#true} is VALID [2020-07-10 15:12:42,621 INFO L280 TraceCheckUtils]: 1: Hoare triple {5319#true} #t~post2 := ~len;~len := #t~post2 - 1; {5319#true} is VALID [2020-07-10 15:12:42,621 INFO L280 TraceCheckUtils]: 2: Hoare triple {5319#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {5319#true} is VALID [2020-07-10 15:12:42,621 INFO L280 TraceCheckUtils]: 3: Hoare triple {5319#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5319#true} is VALID [2020-07-10 15:12:42,621 INFO L280 TraceCheckUtils]: 4: Hoare triple {5319#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {5319#true} is VALID [2020-07-10 15:12:42,622 INFO L280 TraceCheckUtils]: 5: Hoare triple {5319#true} #t~post2 := ~len;~len := #t~post2 - 1; {5319#true} is VALID [2020-07-10 15:12:42,622 INFO L280 TraceCheckUtils]: 6: Hoare triple {5319#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {5319#true} is VALID [2020-07-10 15:12:42,622 INFO L280 TraceCheckUtils]: 7: Hoare triple {5319#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5319#true} is VALID [2020-07-10 15:12:42,622 INFO L280 TraceCheckUtils]: 8: Hoare triple {5319#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {5319#true} is VALID [2020-07-10 15:12:42,622 INFO L280 TraceCheckUtils]: 9: Hoare triple {5319#true} #t~post2 := ~len;~len := #t~post2 - 1; {5319#true} is VALID [2020-07-10 15:12:42,623 INFO L280 TraceCheckUtils]: 10: Hoare triple {5319#true} assume !(#t~post2 > 0);havoc #t~post2; {5319#true} is VALID [2020-07-10 15:12:42,623 INFO L280 TraceCheckUtils]: 11: Hoare triple {5319#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {5319#true} is VALID [2020-07-10 15:12:42,623 INFO L280 TraceCheckUtils]: 12: Hoare triple {5319#true} assume true; {5319#true} is VALID [2020-07-10 15:12:42,624 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {5319#true} {5332#(<= main_~len~2 2)} #166#return; {5332#(<= main_~len~2 2)} is VALID [2020-07-10 15:12:42,628 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:12:42,766 INFO L280 TraceCheckUtils]: 0: Hoare triple {5319#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {5368#(and (or (not (= 0 _get_nondet_int_~len~1)) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1)))} is VALID [2020-07-10 15:12:42,767 INFO L280 TraceCheckUtils]: 1: Hoare triple {5368#(and (or (not (= 0 _get_nondet_int_~len~1)) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1)))} #t~short12 := ~len~1 < ~until; {5368#(and (or (not (= 0 _get_nondet_int_~len~1)) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1)))} is VALID [2020-07-10 15:12:42,768 INFO L280 TraceCheckUtils]: 2: Hoare triple {5368#(and (or (not (= 0 _get_nondet_int_~len~1)) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1)))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {5368#(and (or (not (= 0 _get_nondet_int_~len~1)) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1)))} is VALID [2020-07-10 15:12:42,769 INFO L280 TraceCheckUtils]: 3: Hoare triple {5368#(and (or (not (= 0 _get_nondet_int_~len~1)) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1)))} assume !!#t~short12;havoc #t~short12;havoc #t~nondet11;#t~post13 := ~len~1;~len~1 := 1 + #t~post13;havoc #t~post13; {5369#(or (and (<= 1 _get_nondet_int_~len~1) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (not (= 0 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:12:42,770 INFO L280 TraceCheckUtils]: 4: Hoare triple {5369#(or (and (<= 1 _get_nondet_int_~len~1) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (not (= 0 |_get_nondet_int_#in~from|)))} #t~short12 := ~len~1 < ~until; {5370#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|) (not |_get_nondet_int_#t~short12|))} is VALID [2020-07-10 15:12:42,770 INFO L280 TraceCheckUtils]: 5: Hoare triple {5370#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|) (not |_get_nondet_int_#t~short12|))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {5371#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} is VALID [2020-07-10 15:12:42,771 INFO L280 TraceCheckUtils]: 6: Hoare triple {5371#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {5371#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} is VALID [2020-07-10 15:12:42,772 INFO L280 TraceCheckUtils]: 7: Hoare triple {5371#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} #res := ~len~1; {5371#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} is VALID [2020-07-10 15:12:42,772 INFO L280 TraceCheckUtils]: 8: Hoare triple {5371#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} assume true; {5371#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} is VALID [2020-07-10 15:12:42,773 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {5371#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} {5332#(<= main_~len~2 2)} #168#return; {5320#false} is VALID [2020-07-10 15:12:42,776 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:12:42,780 INFO L280 TraceCheckUtils]: 0: Hoare triple {5319#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {5319#true} is VALID [2020-07-10 15:12:42,780 INFO L280 TraceCheckUtils]: 1: Hoare triple {5319#true} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {5319#true} is VALID [2020-07-10 15:12:42,780 INFO L280 TraceCheckUtils]: 2: Hoare triple {5319#true} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {5319#true} is VALID [2020-07-10 15:12:42,780 INFO L280 TraceCheckUtils]: 3: Hoare triple {5319#true} assume !(~head.base != 0 || ~head.offset != 0); {5319#true} is VALID [2020-07-10 15:12:42,781 INFO L280 TraceCheckUtils]: 4: Hoare triple {5319#true} #res := ~len~0; {5319#true} is VALID [2020-07-10 15:12:42,781 INFO L280 TraceCheckUtils]: 5: Hoare triple {5319#true} assume true; {5319#true} is VALID [2020-07-10 15:12:42,781 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {5319#true} {5320#false} #174#return; {5320#false} is VALID [2020-07-10 15:12:42,782 INFO L263 TraceCheckUtils]: 0: Hoare triple {5319#true} call ULTIMATE.init(); {5364#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:12:42,782 INFO L280 TraceCheckUtils]: 1: Hoare triple {5364#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {5319#true} is VALID [2020-07-10 15:12:42,783 INFO L280 TraceCheckUtils]: 2: Hoare triple {5319#true} assume true; {5319#true} is VALID [2020-07-10 15:12:42,783 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {5319#true} {5319#true} #180#return; {5319#true} is VALID [2020-07-10 15:12:42,783 INFO L263 TraceCheckUtils]: 4: Hoare triple {5319#true} call #t~ret24 := main(); {5319#true} is VALID [2020-07-10 15:12:42,783 INFO L263 TraceCheckUtils]: 5: Hoare triple {5319#true} call #t~ret14 := _get_nondet_int(2, 5); {5319#true} is VALID [2020-07-10 15:12:42,784 INFO L280 TraceCheckUtils]: 6: Hoare triple {5319#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {5365#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:12:42,785 INFO L280 TraceCheckUtils]: 7: Hoare triple {5365#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #t~short12 := ~len~1 < ~until; {5365#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:12:42,785 INFO L280 TraceCheckUtils]: 8: Hoare triple {5365#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {5365#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:12:42,786 INFO L280 TraceCheckUtils]: 9: Hoare triple {5365#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {5365#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} is VALID [2020-07-10 15:12:42,787 INFO L280 TraceCheckUtils]: 10: Hoare triple {5365#(or (= 2 _get_nondet_int_~len~1) (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|))} #res := ~len~1; {5366#(or (<= |_get_nondet_int_#res| 2) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:12:42,787 INFO L280 TraceCheckUtils]: 11: Hoare triple {5366#(or (<= |_get_nondet_int_#res| 2) (not (= 2 |_get_nondet_int_#in~from|)))} assume true; {5366#(or (<= |_get_nondet_int_#res| 2) (not (= 2 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:12:42,788 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {5366#(or (<= |_get_nondet_int_#res| 2) (not (= 2 |_get_nondet_int_#in~from|)))} {5319#true} #164#return; {5331#(<= |main_#t~ret14| 2)} is VALID [2020-07-10 15:12:42,789 INFO L280 TraceCheckUtils]: 13: Hoare triple {5331#(<= |main_#t~ret14| 2)} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {5332#(<= main_~len~2 2)} is VALID [2020-07-10 15:12:42,790 INFO L263 TraceCheckUtils]: 14: Hoare triple {5332#(<= main_~len~2 2)} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {5367#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 15:12:42,790 INFO L280 TraceCheckUtils]: 15: Hoare triple {5367#(and (= |#valid| |old(#valid)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {5319#true} is VALID [2020-07-10 15:12:42,791 INFO L280 TraceCheckUtils]: 16: Hoare triple {5319#true} #t~post2 := ~len;~len := #t~post2 - 1; {5319#true} is VALID [2020-07-10 15:12:42,791 INFO L280 TraceCheckUtils]: 17: Hoare triple {5319#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {5319#true} is VALID [2020-07-10 15:12:42,791 INFO L280 TraceCheckUtils]: 18: Hoare triple {5319#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5319#true} is VALID [2020-07-10 15:12:42,791 INFO L280 TraceCheckUtils]: 19: Hoare triple {5319#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {5319#true} is VALID [2020-07-10 15:12:42,791 INFO L280 TraceCheckUtils]: 20: Hoare triple {5319#true} #t~post2 := ~len;~len := #t~post2 - 1; {5319#true} is VALID [2020-07-10 15:12:42,792 INFO L280 TraceCheckUtils]: 21: Hoare triple {5319#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {5319#true} is VALID [2020-07-10 15:12:42,792 INFO L280 TraceCheckUtils]: 22: Hoare triple {5319#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5319#true} is VALID [2020-07-10 15:12:42,792 INFO L280 TraceCheckUtils]: 23: Hoare triple {5319#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {5319#true} is VALID [2020-07-10 15:12:42,792 INFO L280 TraceCheckUtils]: 24: Hoare triple {5319#true} #t~post2 := ~len;~len := #t~post2 - 1; {5319#true} is VALID [2020-07-10 15:12:42,792 INFO L280 TraceCheckUtils]: 25: Hoare triple {5319#true} assume !(#t~post2 > 0);havoc #t~post2; {5319#true} is VALID [2020-07-10 15:12:42,792 INFO L280 TraceCheckUtils]: 26: Hoare triple {5319#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {5319#true} is VALID [2020-07-10 15:12:42,793 INFO L280 TraceCheckUtils]: 27: Hoare triple {5319#true} assume true; {5319#true} is VALID [2020-07-10 15:12:42,793 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {5319#true} {5332#(<= main_~len~2 2)} #166#return; {5332#(<= main_~len~2 2)} is VALID [2020-07-10 15:12:42,794 INFO L280 TraceCheckUtils]: 29: Hoare triple {5332#(<= main_~len~2 2)} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {5332#(<= main_~len~2 2)} is VALID [2020-07-10 15:12:42,794 INFO L263 TraceCheckUtils]: 30: Hoare triple {5332#(<= main_~len~2 2)} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {5319#true} is VALID [2020-07-10 15:12:42,795 INFO L280 TraceCheckUtils]: 31: Hoare triple {5319#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {5368#(and (or (not (= 0 _get_nondet_int_~len~1)) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1)))} is VALID [2020-07-10 15:12:42,796 INFO L280 TraceCheckUtils]: 32: Hoare triple {5368#(and (or (not (= 0 _get_nondet_int_~len~1)) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1)))} #t~short12 := ~len~1 < ~until; {5368#(and (or (not (= 0 _get_nondet_int_~len~1)) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1)))} is VALID [2020-07-10 15:12:42,796 INFO L280 TraceCheckUtils]: 33: Hoare triple {5368#(and (or (not (= 0 _get_nondet_int_~len~1)) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1)))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {5368#(and (or (not (= 0 _get_nondet_int_~len~1)) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1)))} is VALID [2020-07-10 15:12:42,797 INFO L280 TraceCheckUtils]: 34: Hoare triple {5368#(and (or (not (= 0 _get_nondet_int_~len~1)) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (or (= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|) (= 0 _get_nondet_int_~len~1)))} assume !!#t~short12;havoc #t~short12;havoc #t~nondet11;#t~post13 := ~len~1;~len~1 := 1 + #t~post13;havoc #t~post13; {5369#(or (and (<= 1 _get_nondet_int_~len~1) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (not (= 0 |_get_nondet_int_#in~from|)))} is VALID [2020-07-10 15:12:42,798 INFO L280 TraceCheckUtils]: 35: Hoare triple {5369#(or (and (<= 1 _get_nondet_int_~len~1) (= _get_nondet_int_~until |_get_nondet_int_#in~until|)) (not (= 0 |_get_nondet_int_#in~from|)))} #t~short12 := ~len~1 < ~until; {5370#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|) (not |_get_nondet_int_#t~short12|))} is VALID [2020-07-10 15:12:42,799 INFO L280 TraceCheckUtils]: 36: Hoare triple {5370#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|) (not |_get_nondet_int_#t~short12|))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {5371#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} is VALID [2020-07-10 15:12:42,800 INFO L280 TraceCheckUtils]: 37: Hoare triple {5371#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {5371#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} is VALID [2020-07-10 15:12:42,800 INFO L280 TraceCheckUtils]: 38: Hoare triple {5371#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} #res := ~len~1; {5371#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} is VALID [2020-07-10 15:12:42,801 INFO L280 TraceCheckUtils]: 39: Hoare triple {5371#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} assume true; {5371#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} is VALID [2020-07-10 15:12:42,802 INFO L275 TraceCheckUtils]: 40: Hoare quadruple {5371#(or (not (= 0 |_get_nondet_int_#in~from|)) (<= 2 |_get_nondet_int_#in~until|))} {5332#(<= main_~len~2 2)} #168#return; {5320#false} is VALID [2020-07-10 15:12:42,802 INFO L280 TraceCheckUtils]: 41: Hoare triple {5320#false} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {5320#false} is VALID [2020-07-10 15:12:42,802 INFO L280 TraceCheckUtils]: 42: Hoare triple {5320#false} #t~short18 := ~i~0 < ~k~0; {5320#false} is VALID [2020-07-10 15:12:42,803 INFO L280 TraceCheckUtils]: 43: Hoare triple {5320#false} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {5320#false} is VALID [2020-07-10 15:12:42,803 INFO L280 TraceCheckUtils]: 44: Hoare triple {5320#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {5320#false} is VALID [2020-07-10 15:12:42,803 INFO L280 TraceCheckUtils]: 45: Hoare triple {5320#false} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {5320#false} is VALID [2020-07-10 15:12:42,803 INFO L263 TraceCheckUtils]: 46: Hoare triple {5320#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {5319#true} is VALID [2020-07-10 15:12:42,803 INFO L280 TraceCheckUtils]: 47: Hoare triple {5319#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {5319#true} is VALID [2020-07-10 15:12:42,803 INFO L280 TraceCheckUtils]: 48: Hoare triple {5319#true} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {5319#true} is VALID [2020-07-10 15:12:42,804 INFO L280 TraceCheckUtils]: 49: Hoare triple {5319#true} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {5319#true} is VALID [2020-07-10 15:12:42,804 INFO L280 TraceCheckUtils]: 50: Hoare triple {5319#true} assume !(~head.base != 0 || ~head.offset != 0); {5319#true} is VALID [2020-07-10 15:12:42,804 INFO L280 TraceCheckUtils]: 51: Hoare triple {5319#true} #res := ~len~0; {5319#true} is VALID [2020-07-10 15:12:42,804 INFO L280 TraceCheckUtils]: 52: Hoare triple {5319#true} assume true; {5319#true} is VALID [2020-07-10 15:12:42,804 INFO L275 TraceCheckUtils]: 53: Hoare quadruple {5319#true} {5320#false} #174#return; {5320#false} is VALID [2020-07-10 15:12:42,805 INFO L280 TraceCheckUtils]: 54: Hoare triple {5320#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {5320#false} is VALID [2020-07-10 15:12:42,805 INFO L280 TraceCheckUtils]: 55: Hoare triple {5320#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {5320#false} is VALID [2020-07-10 15:12:42,805 INFO L280 TraceCheckUtils]: 56: Hoare triple {5320#false} assume !false; {5320#false} is VALID [2020-07-10 15:12:42,809 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2020-07-10 15:12:42,810 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1809505255] [2020-07-10 15:12:42,810 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1925129470] [2020-07-10 15:12:42,810 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:12:42,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:12:42,914 INFO L264 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 14 conjunts are in the unsatisfiable core [2020-07-10 15:12:42,927 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:12:42,929 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 15:12:43,105 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-10 15:12:43,115 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-10 15:12:43,154 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-10 15:12:43,214 INFO L263 TraceCheckUtils]: 0: Hoare triple {5319#true} call ULTIMATE.init(); {5319#true} is VALID [2020-07-10 15:12:43,214 INFO L280 TraceCheckUtils]: 1: Hoare triple {5319#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {5319#true} is VALID [2020-07-10 15:12:43,215 INFO L280 TraceCheckUtils]: 2: Hoare triple {5319#true} assume true; {5319#true} is VALID [2020-07-10 15:12:43,215 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {5319#true} {5319#true} #180#return; {5319#true} is VALID [2020-07-10 15:12:43,215 INFO L263 TraceCheckUtils]: 4: Hoare triple {5319#true} call #t~ret24 := main(); {5319#true} is VALID [2020-07-10 15:12:43,215 INFO L263 TraceCheckUtils]: 5: Hoare triple {5319#true} call #t~ret14 := _get_nondet_int(2, 5); {5319#true} is VALID [2020-07-10 15:12:43,217 INFO L280 TraceCheckUtils]: 6: Hoare triple {5319#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {5393#(<= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} is VALID [2020-07-10 15:12:43,218 INFO L280 TraceCheckUtils]: 7: Hoare triple {5393#(<= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} #t~short12 := ~len~1 < ~until; {5393#(<= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} is VALID [2020-07-10 15:12:43,218 INFO L280 TraceCheckUtils]: 8: Hoare triple {5393#(<= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {5393#(<= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} is VALID [2020-07-10 15:12:43,219 INFO L280 TraceCheckUtils]: 9: Hoare triple {5393#(<= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {5393#(<= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} is VALID [2020-07-10 15:12:43,219 INFO L280 TraceCheckUtils]: 10: Hoare triple {5393#(<= _get_nondet_int_~len~1 |_get_nondet_int_#in~from|)} #res := ~len~1; {5406#(<= |_get_nondet_int_#res| |_get_nondet_int_#in~from|)} is VALID [2020-07-10 15:12:43,220 INFO L280 TraceCheckUtils]: 11: Hoare triple {5406#(<= |_get_nondet_int_#res| |_get_nondet_int_#in~from|)} assume true; {5406#(<= |_get_nondet_int_#res| |_get_nondet_int_#in~from|)} is VALID [2020-07-10 15:12:43,221 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {5406#(<= |_get_nondet_int_#res| |_get_nondet_int_#in~from|)} {5319#true} #164#return; {5331#(<= |main_#t~ret14| 2)} is VALID [2020-07-10 15:12:43,221 INFO L280 TraceCheckUtils]: 13: Hoare triple {5331#(<= |main_#t~ret14| 2)} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~len~2 := #t~ret14;havoc #t~ret14;call ~#s~0.base, ~#s~0.offset := #Ultimate.allocOnStack(4); {5332#(<= main_~len~2 2)} is VALID [2020-07-10 15:12:43,221 INFO L263 TraceCheckUtils]: 14: Hoare triple {5332#(<= main_~len~2 2)} call #t~ret15.base, #t~ret15.offset := sll_create(~len~2); {5319#true} is VALID [2020-07-10 15:12:43,221 INFO L280 TraceCheckUtils]: 15: Hoare triple {5319#true} ~len := #in~len;~head~0.base, ~head~0.offset := 0, 0; {5319#true} is VALID [2020-07-10 15:12:43,222 INFO L280 TraceCheckUtils]: 16: Hoare triple {5319#true} #t~post2 := ~len;~len := #t~post2 - 1; {5319#true} is VALID [2020-07-10 15:12:43,222 INFO L280 TraceCheckUtils]: 17: Hoare triple {5319#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {5319#true} is VALID [2020-07-10 15:12:43,222 INFO L280 TraceCheckUtils]: 18: Hoare triple {5319#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5319#true} is VALID [2020-07-10 15:12:43,222 INFO L280 TraceCheckUtils]: 19: Hoare triple {5319#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {5319#true} is VALID [2020-07-10 15:12:43,222 INFO L280 TraceCheckUtils]: 20: Hoare triple {5319#true} #t~post2 := ~len;~len := #t~post2 - 1; {5319#true} is VALID [2020-07-10 15:12:43,222 INFO L280 TraceCheckUtils]: 21: Hoare triple {5319#true} assume !!(#t~post2 > 0);havoc #t~post2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(4);~new_head~0.base, ~new_head~0.offset := #t~malloc3.base, #t~malloc3.offset; {5319#true} is VALID [2020-07-10 15:12:43,222 INFO L280 TraceCheckUtils]: 22: Hoare triple {5319#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {5319#true} is VALID [2020-07-10 15:12:43,222 INFO L280 TraceCheckUtils]: 23: Hoare triple {5319#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {5319#true} is VALID [2020-07-10 15:12:43,223 INFO L280 TraceCheckUtils]: 24: Hoare triple {5319#true} #t~post2 := ~len;~len := #t~post2 - 1; {5319#true} is VALID [2020-07-10 15:12:43,223 INFO L280 TraceCheckUtils]: 25: Hoare triple {5319#true} assume !(#t~post2 > 0);havoc #t~post2; {5319#true} is VALID [2020-07-10 15:12:43,223 INFO L280 TraceCheckUtils]: 26: Hoare triple {5319#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {5319#true} is VALID [2020-07-10 15:12:43,223 INFO L280 TraceCheckUtils]: 27: Hoare triple {5319#true} assume true; {5319#true} is VALID [2020-07-10 15:12:43,224 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {5319#true} {5332#(<= main_~len~2 2)} #166#return; {5332#(<= main_~len~2 2)} is VALID [2020-07-10 15:12:43,224 INFO L280 TraceCheckUtils]: 29: Hoare triple {5332#(<= main_~len~2 2)} call write~init~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset; {5332#(<= main_~len~2 2)} is VALID [2020-07-10 15:12:43,224 INFO L263 TraceCheckUtils]: 30: Hoare triple {5332#(<= main_~len~2 2)} call #t~ret16 := _get_nondet_int(0, ~len~2 - 1); {5319#true} is VALID [2020-07-10 15:12:43,225 INFO L280 TraceCheckUtils]: 31: Hoare triple {5319#true} ~from := #in~from;~until := #in~until;~len~1 := ~from; {5470#(and (<= _get_nondet_int_~until |_get_nondet_int_#in~until|) (<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1))} is VALID [2020-07-10 15:12:43,225 INFO L280 TraceCheckUtils]: 32: Hoare triple {5470#(and (<= _get_nondet_int_~until |_get_nondet_int_#in~until|) (<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1))} #t~short12 := ~len~1 < ~until; {5470#(and (<= _get_nondet_int_~until |_get_nondet_int_#in~until|) (<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1))} is VALID [2020-07-10 15:12:43,226 INFO L280 TraceCheckUtils]: 33: Hoare triple {5470#(and (<= _get_nondet_int_~until |_get_nondet_int_#in~until|) (<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {5470#(and (<= _get_nondet_int_~until |_get_nondet_int_#in~until|) (<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1))} is VALID [2020-07-10 15:12:43,226 INFO L280 TraceCheckUtils]: 34: Hoare triple {5470#(and (<= _get_nondet_int_~until |_get_nondet_int_#in~until|) (<= |_get_nondet_int_#in~from| _get_nondet_int_~len~1))} assume !!#t~short12;havoc #t~short12;havoc #t~nondet11;#t~post13 := ~len~1;~len~1 := 1 + #t~post13;havoc #t~post13; {5480#(and (<= _get_nondet_int_~until |_get_nondet_int_#in~until|) (<= (+ |_get_nondet_int_#in~from| 1) _get_nondet_int_~len~1))} is VALID [2020-07-10 15:12:43,227 INFO L280 TraceCheckUtils]: 35: Hoare triple {5480#(and (<= _get_nondet_int_~until |_get_nondet_int_#in~until|) (<= (+ |_get_nondet_int_#in~from| 1) _get_nondet_int_~len~1))} #t~short12 := ~len~1 < ~until; {5484#(or (<= (+ |_get_nondet_int_#in~from| 2) |_get_nondet_int_#in~until|) (not |_get_nondet_int_#t~short12|))} is VALID [2020-07-10 15:12:43,228 INFO L280 TraceCheckUtils]: 36: Hoare triple {5484#(or (<= (+ |_get_nondet_int_#in~from| 2) |_get_nondet_int_#in~until|) (not |_get_nondet_int_#t~short12|))} assume #t~short12;assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647;#t~short12 := 0 != #t~nondet11; {5488#(<= (+ |_get_nondet_int_#in~from| 2) |_get_nondet_int_#in~until|)} is VALID [2020-07-10 15:12:43,228 INFO L280 TraceCheckUtils]: 37: Hoare triple {5488#(<= (+ |_get_nondet_int_#in~from| 2) |_get_nondet_int_#in~until|)} assume !#t~short12;havoc #t~short12;havoc #t~nondet11; {5488#(<= (+ |_get_nondet_int_#in~from| 2) |_get_nondet_int_#in~until|)} is VALID [2020-07-10 15:12:43,229 INFO L280 TraceCheckUtils]: 38: Hoare triple {5488#(<= (+ |_get_nondet_int_#in~from| 2) |_get_nondet_int_#in~until|)} #res := ~len~1; {5488#(<= (+ |_get_nondet_int_#in~from| 2) |_get_nondet_int_#in~until|)} is VALID [2020-07-10 15:12:43,229 INFO L280 TraceCheckUtils]: 39: Hoare triple {5488#(<= (+ |_get_nondet_int_#in~from| 2) |_get_nondet_int_#in~until|)} assume true; {5488#(<= (+ |_get_nondet_int_#in~from| 2) |_get_nondet_int_#in~until|)} is VALID [2020-07-10 15:12:43,230 INFO L275 TraceCheckUtils]: 40: Hoare quadruple {5488#(<= (+ |_get_nondet_int_#in~from| 2) |_get_nondet_int_#in~until|)} {5332#(<= main_~len~2 2)} #168#return; {5320#false} is VALID [2020-07-10 15:12:43,230 INFO L280 TraceCheckUtils]: 41: Hoare triple {5320#false} assume -2147483648 <= #t~ret16 && #t~ret16 <= 2147483647;~k~0 := #t~ret16;havoc #t~ret16;~i~0 := 0; {5320#false} is VALID [2020-07-10 15:12:43,230 INFO L280 TraceCheckUtils]: 42: Hoare triple {5320#false} #t~short18 := ~i~0 < ~k~0; {5320#false} is VALID [2020-07-10 15:12:43,230 INFO L280 TraceCheckUtils]: 43: Hoare triple {5320#false} assume #t~short18;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;#t~short18 := 0 != #t~nondet17; {5320#false} is VALID [2020-07-10 15:12:43,230 INFO L280 TraceCheckUtils]: 44: Hoare triple {5320#false} assume !#t~short18;havoc #t~short18;havoc #t~nondet17; {5320#false} is VALID [2020-07-10 15:12:43,231 INFO L280 TraceCheckUtils]: 45: Hoare triple {5320#false} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4); {5320#false} is VALID [2020-07-10 15:12:43,231 INFO L263 TraceCheckUtils]: 46: Hoare triple {5320#false} call #t~ret22 := sll_length(#t~mem21.base, #t~mem21.offset); {5320#false} is VALID [2020-07-10 15:12:43,231 INFO L280 TraceCheckUtils]: 47: Hoare triple {5320#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~len~0 := 0; {5320#false} is VALID [2020-07-10 15:12:43,231 INFO L280 TraceCheckUtils]: 48: Hoare triple {5320#false} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {5320#false} is VALID [2020-07-10 15:12:43,231 INFO L280 TraceCheckUtils]: 49: Hoare triple {5320#false} assume !!(~head.base != 0 || ~head.offset != 0);#t~post4 := ~len~0;~len~0 := 1 + #t~post4;havoc #t~post4;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~head.base, ~head.offset, 4);~head.base, ~head.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset; {5320#false} is VALID [2020-07-10 15:12:43,231 INFO L280 TraceCheckUtils]: 50: Hoare triple {5320#false} assume !(~head.base != 0 || ~head.offset != 0); {5320#false} is VALID [2020-07-10 15:12:43,231 INFO L280 TraceCheckUtils]: 51: Hoare triple {5320#false} #res := ~len~0; {5320#false} is VALID [2020-07-10 15:12:43,231 INFO L280 TraceCheckUtils]: 52: Hoare triple {5320#false} assume true; {5320#false} is VALID [2020-07-10 15:12:43,232 INFO L275 TraceCheckUtils]: 53: Hoare quadruple {5320#false} {5320#false} #174#return; {5320#false} is VALID [2020-07-10 15:12:43,232 INFO L280 TraceCheckUtils]: 54: Hoare triple {5320#false} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647; {5320#false} is VALID [2020-07-10 15:12:43,232 INFO L280 TraceCheckUtils]: 55: Hoare triple {5320#false} assume ~k~0 + ~len~2 != #t~ret22;havoc #t~mem21.base, #t~mem21.offset;havoc #t~ret22; {5320#false} is VALID [2020-07-10 15:12:43,232 INFO L280 TraceCheckUtils]: 56: Hoare triple {5320#false} assume !false; {5320#false} is VALID [2020-07-10 15:12:43,237 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 1 proven. 11 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2020-07-10 15:12:43,237 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-10 15:12:43,237 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10] total 18 [2020-07-10 15:12:43,238 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [359860500] [2020-07-10 15:12:43,238 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 57 [2020-07-10 15:12:43,239 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:12:43,239 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2020-07-10 15:12:43,331 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-10 15:12:43,331 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2020-07-10 15:12:43,331 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:12:43,331 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2020-07-10 15:12:43,332 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=266, Unknown=0, NotChecked=0, Total=306 [2020-07-10 15:12:43,332 INFO L87 Difference]: Start difference. First operand 152 states and 188 transitions. Second operand 18 states. [2020-07-10 15:12:47,471 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:12:47,472 INFO L93 Difference]: Finished difference Result 315 states and 408 transitions. [2020-07-10 15:12:47,472 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2020-07-10 15:12:47,472 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 57 [2020-07-10 15:12:47,472 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:12:47,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-10 15:12:47,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 168 transitions. [2020-07-10 15:12:47,476 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-10 15:12:47,480 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 168 transitions. [2020-07-10 15:12:47,480 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 168 transitions. [2020-07-10 15:12:47,752 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 168 edges. 168 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:12:47,759 INFO L225 Difference]: With dead ends: 315 [2020-07-10 15:12:47,759 INFO L226 Difference]: Without dead ends: 214 [2020-07-10 15:12:47,763 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 60 SyntacticMatches, 0 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 109 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=203, Invalid=789, Unknown=0, NotChecked=0, Total=992 [2020-07-10 15:12:47,764 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 214 states. [2020-07-10 15:12:48,109 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 214 to 176. [2020-07-10 15:12:48,110 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:12:48,111 INFO L82 GeneralOperation]: Start isEquivalent. First operand 214 states. Second operand 176 states. [2020-07-10 15:12:48,111 INFO L74 IsIncluded]: Start isIncluded. First operand 214 states. Second operand 176 states. [2020-07-10 15:12:48,112 INFO L87 Difference]: Start difference. First operand 214 states. Second operand 176 states. [2020-07-10 15:12:48,136 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:12:48,137 INFO L93 Difference]: Finished difference Result 214 states and 283 transitions. [2020-07-10 15:12:48,137 INFO L276 IsEmpty]: Start isEmpty. Operand 214 states and 283 transitions. [2020-07-10 15:12:48,138 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:12:48,138 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:12:48,138 INFO L74 IsIncluded]: Start isIncluded. First operand 176 states. Second operand 214 states. [2020-07-10 15:12:48,138 INFO L87 Difference]: Start difference. First operand 176 states. Second operand 214 states. [2020-07-10 15:12:48,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:12:48,148 INFO L93 Difference]: Finished difference Result 214 states and 283 transitions. [2020-07-10 15:12:48,148 INFO L276 IsEmpty]: Start isEmpty. Operand 214 states and 283 transitions. [2020-07-10 15:12:48,149 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:12:48,149 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:12:48,149 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:12:48,150 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:12:48,150 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 176 states. [2020-07-10 15:12:48,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 176 states to 176 states and 223 transitions. [2020-07-10 15:12:48,155 INFO L78 Accepts]: Start accepts. Automaton has 176 states and 223 transitions. Word has length 57 [2020-07-10 15:12:48,156 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:12:48,156 INFO L479 AbstractCegarLoop]: Abstraction has 176 states and 223 transitions. [2020-07-10 15:12:48,156 INFO L480 AbstractCegarLoop]: Interpolant automaton has 18 states. [2020-07-10 15:12:48,156 INFO L276 IsEmpty]: Start isEmpty. Operand 176 states and 223 transitions. [2020-07-10 15:12:48,157 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2020-07-10 15:12:48,157 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:12:48,158 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 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] [2020-07-10 15:12:48,359 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:12:48,360 INFO L427 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:12:48,360 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:12:48,361 INFO L82 PathProgramCache]: Analyzing trace with hash 1585084831, now seen corresponding path program 1 times [2020-07-10 15:12:48,361 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:12:48,361 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [420682528] [2020-07-10 15:12:48,361 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:12:48,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-10 15:12:48,400 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-10 15:12:48,446 INFO L174 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2020-07-10 15:12:48,448 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-10 15:12:48,449 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2020-07-10 15:12:48,555 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-10 15:12:48,555 WARN L170 areAnnotationChecker]: myexitENTRY has no Hoare annotation [2020-07-10 15:12:48,555 WARN L170 areAnnotationChecker]: sll_destroyENTRY has no Hoare annotation [2020-07-10 15:12:48,556 WARN L170 areAnnotationChecker]: _get_nondet_intENTRY has no Hoare annotation [2020-07-10 15:12:48,556 WARN L170 areAnnotationChecker]: __bswap_32ENTRY has no Hoare annotation [2020-07-10 15:12:48,556 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-10 15:12:48,556 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-10 15:12:48,556 WARN L170 areAnnotationChecker]: __bswap_64ENTRY has no Hoare annotation [2020-07-10 15:12:48,556 WARN L170 areAnnotationChecker]: sll_createENTRY has no Hoare annotation [2020-07-10 15:12:48,556 WARN L170 areAnnotationChecker]: sll_insertENTRY has no Hoare annotation [2020-07-10 15:12:48,556 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-10 15:12:48,556 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-10 15:12:48,556 WARN L170 areAnnotationChecker]: sll_lengthENTRY has no Hoare annotation [2020-07-10 15:12:48,557 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-10 15:12:48,557 WARN L170 areAnnotationChecker]: L561 has no Hoare annotation [2020-07-10 15:12:48,557 WARN L170 areAnnotationChecker]: L584-2 has no Hoare annotation [2020-07-10 15:12:48,557 WARN L170 areAnnotationChecker]: L584-2 has no Hoare annotation [2020-07-10 15:12:48,557 WARN L170 areAnnotationChecker]: L584-2 has no Hoare annotation [2020-07-10 15:12:48,557 WARN L170 areAnnotationChecker]: L610-5 has no Hoare annotation [2020-07-10 15:12:48,559 WARN L170 areAnnotationChecker]: L610-5 has no Hoare annotation [2020-07-10 15:12:48,559 WARN L170 areAnnotationChecker]: __bswap_32FINAL has no Hoare annotation [2020-07-10 15:12:48,560 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-10 15:12:48,560 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-10 15:12:48,560 WARN L170 areAnnotationChecker]: __bswap_64FINAL has no Hoare annotation [2020-07-10 15:12:48,560 WARN L170 areAnnotationChecker]: L565-3 has no Hoare annotation [2020-07-10 15:12:48,560 WARN L170 areAnnotationChecker]: L565-3 has no Hoare annotation [2020-07-10 15:12:48,560 WARN L170 areAnnotationChecker]: L592 has no Hoare annotation [2020-07-10 15:12:48,560 WARN L170 areAnnotationChecker]: L592 has no Hoare annotation [2020-07-10 15:12:48,560 WARN L170 areAnnotationChecker]: L616 has no Hoare annotation [2020-07-10 15:12:48,561 WARN L170 areAnnotationChecker]: L577-2 has no Hoare annotation [2020-07-10 15:12:48,561 WARN L170 areAnnotationChecker]: L577-2 has no Hoare annotation [2020-07-10 15:12:48,561 WARN L170 areAnnotationChecker]: L577-2 has no Hoare annotation [2020-07-10 15:12:48,561 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-10 15:12:48,561 WARN L170 areAnnotationChecker]: L584-3 has no Hoare annotation [2020-07-10 15:12:48,561 WARN L170 areAnnotationChecker]: L610-6 has no Hoare annotation [2020-07-10 15:12:48,561 WARN L170 areAnnotationChecker]: L610-1 has no Hoare annotation [2020-07-10 15:12:48,561 WARN L170 areAnnotationChecker]: L610-1 has no Hoare annotation [2020-07-10 15:12:48,561 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-10 15:12:48,562 WARN L170 areAnnotationChecker]: L565-4 has no Hoare annotation [2020-07-10 15:12:48,562 WARN L170 areAnnotationChecker]: L565-1 has no Hoare annotation [2020-07-10 15:12:48,562 WARN L170 areAnnotationChecker]: L565-1 has no Hoare annotation [2020-07-10 15:12:48,562 WARN L170 areAnnotationChecker]: L593 has no Hoare annotation [2020-07-10 15:12:48,562 WARN L170 areAnnotationChecker]: L593 has no Hoare annotation [2020-07-10 15:12:48,562 WARN L170 areAnnotationChecker]: L592-1 has no Hoare annotation [2020-07-10 15:12:48,562 WARN L170 areAnnotationChecker]: L617 has no Hoare annotation [2020-07-10 15:12:48,562 WARN L170 areAnnotationChecker]: L617 has no Hoare annotation [2020-07-10 15:12:48,562 WARN L170 areAnnotationChecker]: L577-3 has no Hoare annotation [2020-07-10 15:12:48,562 WARN L170 areAnnotationChecker]: sll_destroyEXIT has no Hoare annotation [2020-07-10 15:12:48,563 WARN L170 areAnnotationChecker]: _get_nondet_intFINAL has no Hoare annotation [2020-07-10 15:12:48,563 WARN L170 areAnnotationChecker]: L610-3 has no Hoare annotation [2020-07-10 15:12:48,563 WARN L170 areAnnotationChecker]: L610-3 has no Hoare annotation [2020-07-10 15:12:48,563 WARN L170 areAnnotationChecker]: sll_createFINAL has no Hoare annotation [2020-07-10 15:12:48,563 WARN L170 areAnnotationChecker]: L567 has no Hoare annotation [2020-07-10 15:12:48,563 WARN L170 areAnnotationChecker]: L567 has no Hoare annotation [2020-07-10 15:12:48,563 WARN L170 areAnnotationChecker]: L597-3 has no Hoare annotation [2020-07-10 15:12:48,563 WARN L170 areAnnotationChecker]: L597-3 has no Hoare annotation [2020-07-10 15:12:48,564 WARN L170 areAnnotationChecker]: L617-1 has no Hoare annotation [2020-07-10 15:12:48,564 WARN L170 areAnnotationChecker]: sll_lengthFINAL has no Hoare annotation [2020-07-10 15:12:48,564 WARN L170 areAnnotationChecker]: L628-1 has no Hoare annotation [2020-07-10 15:12:48,564 WARN L170 areAnnotationChecker]: _get_nondet_intEXIT has no Hoare annotation [2020-07-10 15:12:48,564 WARN L170 areAnnotationChecker]: _get_nondet_intEXIT has no Hoare annotation [2020-07-10 15:12:48,564 WARN L170 areAnnotationChecker]: _get_nondet_intEXIT has no Hoare annotation [2020-07-10 15:12:48,564 WARN L170 areAnnotationChecker]: sll_createEXIT has no Hoare annotation [2020-07-10 15:12:48,564 WARN L170 areAnnotationChecker]: L568 has no Hoare annotation [2020-07-10 15:12:48,564 WARN L170 areAnnotationChecker]: L568 has no Hoare annotation [2020-07-10 15:12:48,565 WARN L170 areAnnotationChecker]: L567-1 has no Hoare annotation [2020-07-10 15:12:48,565 WARN L170 areAnnotationChecker]: L597-4 has no Hoare annotation [2020-07-10 15:12:48,565 WARN L170 areAnnotationChecker]: L597-1 has no Hoare annotation [2020-07-10 15:12:48,565 WARN L170 areAnnotationChecker]: L597-1 has no Hoare annotation [2020-07-10 15:12:48,565 WARN L170 areAnnotationChecker]: L618 has no Hoare annotation [2020-07-10 15:12:48,565 WARN L170 areAnnotationChecker]: L618 has no Hoare annotation [2020-07-10 15:12:48,565 WARN L170 areAnnotationChecker]: sll_lengthEXIT has no Hoare annotation [2020-07-10 15:12:48,565 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-10 15:12:48,565 WARN L170 areAnnotationChecker]: L618-1 has no Hoare annotation [2020-07-10 15:12:48,565 WARN L170 areAnnotationChecker]: L621-1 has no Hoare annotation [2020-07-10 15:12:48,566 WARN L170 areAnnotationChecker]: L602 has no Hoare annotation [2020-07-10 15:12:48,566 WARN L170 areAnnotationChecker]: L602 has no Hoare annotation [2020-07-10 15:12:48,566 WARN L170 areAnnotationChecker]: L625-1 has no Hoare annotation [2020-07-10 15:12:48,566 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-10 15:12:48,566 WARN L170 areAnnotationChecker]: L620-5 has no Hoare annotation [2020-07-10 15:12:48,566 WARN L170 areAnnotationChecker]: L620-5 has no Hoare annotation [2020-07-10 15:12:48,566 WARN L170 areAnnotationChecker]: L622 has no Hoare annotation [2020-07-10 15:12:48,566 WARN L170 areAnnotationChecker]: L622 has no Hoare annotation [2020-07-10 15:12:48,566 WARN L170 areAnnotationChecker]: L602-2 has no Hoare annotation [2020-07-10 15:12:48,566 WARN L170 areAnnotationChecker]: L625-2 has no Hoare annotation [2020-07-10 15:12:48,567 WARN L170 areAnnotationChecker]: L625-2 has no Hoare annotation [2020-07-10 15:12:48,567 WARN L170 areAnnotationChecker]: L620-6 has no Hoare annotation [2020-07-10 15:12:48,567 WARN L170 areAnnotationChecker]: L620-1 has no Hoare annotation [2020-07-10 15:12:48,567 WARN L170 areAnnotationChecker]: L620-1 has no Hoare annotation [2020-07-10 15:12:48,567 WARN L170 areAnnotationChecker]: L622-1 has no Hoare annotation [2020-07-10 15:12:48,567 WARN L170 areAnnotationChecker]: sll_insertEXIT has no Hoare annotation [2020-07-10 15:12:48,567 WARN L170 areAnnotationChecker]: L626 has no Hoare annotation [2020-07-10 15:12:48,567 WARN L170 areAnnotationChecker]: L626 has no Hoare annotation [2020-07-10 15:12:48,567 WARN L170 areAnnotationChecker]: L628 has no Hoare annotation [2020-07-10 15:12:48,568 WARN L170 areAnnotationChecker]: L628 has no Hoare annotation [2020-07-10 15:12:48,568 WARN L170 areAnnotationChecker]: L625 has no Hoare annotation [2020-07-10 15:12:48,568 WARN L170 areAnnotationChecker]: L625 has no Hoare annotation [2020-07-10 15:12:48,568 WARN L170 areAnnotationChecker]: L620-3 has no Hoare annotation [2020-07-10 15:12:48,568 WARN L170 areAnnotationChecker]: L620-3 has no Hoare annotation [2020-07-10 15:12:48,568 WARN L170 areAnnotationChecker]: L621 has no Hoare annotation [2020-07-10 15:12:48,568 WARN L170 areAnnotationChecker]: L621 has no Hoare annotation [2020-07-10 15:12:48,568 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-10 15:12:48,571 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 10.07 03:12:48 BoogieIcfgContainer [2020-07-10 15:12:48,571 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-10 15:12:48,574 INFO L168 Benchmark]: Toolchain (without parser) took 148431.63 ms. Allocated memory was 144.2 MB in the beginning and 399.0 MB in the end (delta: 254.8 MB). Free memory was 100.5 MB in the beginning and 215.6 MB in the end (delta: -115.1 MB). Peak memory consumption was 139.7 MB. Max. memory is 7.1 GB. [2020-07-10 15:12:48,575 INFO L168 Benchmark]: CDTParser took 0.25 ms. Allocated memory is still 144.2 MB. Free memory was 120.4 MB in the beginning and 120.2 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. [2020-07-10 15:12:48,575 INFO L168 Benchmark]: CACSL2BoogieTranslator took 766.84 ms. Allocated memory was 144.2 MB in the beginning and 200.3 MB in the end (delta: 56.1 MB). Free memory was 100.3 MB in the beginning and 164.4 MB in the end (delta: -64.1 MB). Peak memory consumption was 22.0 MB. Max. memory is 7.1 GB. [2020-07-10 15:12:48,576 INFO L168 Benchmark]: Boogie Preprocessor took 80.82 ms. Allocated memory is still 200.3 MB. Free memory was 164.4 MB in the beginning and 160.9 MB in the end (delta: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 7.1 GB. [2020-07-10 15:12:48,576 INFO L168 Benchmark]: RCFGBuilder took 904.89 ms. Allocated memory is still 200.3 MB. Free memory was 160.9 MB in the beginning and 91.2 MB in the end (delta: 69.8 MB). Peak memory consumption was 69.8 MB. Max. memory is 7.1 GB. [2020-07-10 15:12:48,577 INFO L168 Benchmark]: TraceAbstraction took 146672.84 ms. Allocated memory was 200.3 MB in the beginning and 399.0 MB in the end (delta: 198.7 MB). Free memory was 90.5 MB in the beginning and 215.6 MB in the end (delta: -125.1 MB). Peak memory consumption was 73.6 MB. Max. memory is 7.1 GB. [2020-07-10 15:12:48,579 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.25 ms. Allocated memory is still 144.2 MB. Free memory was 120.4 MB in the beginning and 120.2 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 766.84 ms. Allocated memory was 144.2 MB in the beginning and 200.3 MB in the end (delta: 56.1 MB). Free memory was 100.3 MB in the beginning and 164.4 MB in the end (delta: -64.1 MB). Peak memory consumption was 22.0 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 80.82 ms. Allocated memory is still 200.3 MB. Free memory was 164.4 MB in the beginning and 160.9 MB in the end (delta: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 7.1 GB. * RCFGBuilder took 904.89 ms. Allocated memory is still 200.3 MB. Free memory was 160.9 MB in the beginning and 91.2 MB in the end (delta: 69.8 MB). Peak memory consumption was 69.8 MB. Max. memory is 7.1 GB. * TraceAbstraction took 146672.84 ms. Allocated memory was 200.3 MB in the beginning and 399.0 MB in the end (delta: 198.7 MB). Free memory was 90.5 MB in the beginning and 215.6 MB in the end (delta: -125.1 MB). Peak memory consumption was 73.6 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 630]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L616] CALL, EXPR _get_nondet_int(2, 5) VAL [\old(from)=2, \old(until)=5] [L609] int len = from; VAL [\old(from)=2, \old(until)=5, from=2, len=2, until=5] [L610] len < until && __VERIFIER_nondet_int() [L610] len < until && __VERIFIER_nondet_int() VAL [\old(from)=2, \old(until)=5, __VERIFIER_nondet_int()=0, from=2, len=2, len < until && __VERIFIER_nondet_int()=0, until=5] [L610] COND FALSE !(len < until && __VERIFIER_nondet_int()) [L613] return len; VAL [\old(from)=2, \old(until)=5, \result=2, from=2, len=2, until=5] [L616] RET, EXPR _get_nondet_int(2, 5) VAL [_get_nondet_int(2, 5)=2] [L616] const int len = _get_nondet_int(2, 5); [L617] SLL s = sll_create(len); VAL [len=2, s={2:0}] [L617] CALL, EXPR sll_create(len) VAL [\old(len)=2] [L564] SLL head = ((void *)0); VAL [\old(len)=2, head={0:0}, len=2] [L565] EXPR len-- VAL [\old(len)=2, head={0:0}, len=1, len--=2] [L565] COND TRUE len-- > 0 [L566] SLL new_head = (SLL) malloc(sizeof(struct node)); VAL [\old(len)=2, head={0:0}, len=1, malloc(sizeof(struct node))={-1:0}, new_head={-1:0}] [L567] COND FALSE !(((void *)0) == new_head) VAL [\old(len)=2, head={0:0}, len=1, malloc(sizeof(struct node))={-1:0}, new_head={-1:0}] [L570] new_head->next = head [L571] head = new_head VAL [\old(len)=2, head={-1:0}, len=1, malloc(sizeof(struct node))={-1:0}, new_head={-1:0}] [L565] EXPR len-- VAL [\old(len)=2, head={-1:0}, len=0, len--=1, malloc(sizeof(struct node))={-1:0}, new_head={-1:0}] [L565] COND TRUE len-- > 0 [L566] SLL new_head = (SLL) malloc(sizeof(struct node)); VAL [\old(len)=2, head={-1:0}, len=0, malloc(sizeof(struct node))={-2:0}, new_head={-2:0}] [L567] COND FALSE !(((void *)0) == new_head) VAL [\old(len)=2, head={-1:0}, len=0, malloc(sizeof(struct node))={-2:0}, new_head={-2:0}] [L570] new_head->next = head [L571] head = new_head VAL [\old(len)=2, head={-2:0}, len=0, malloc(sizeof(struct node))={-2:0}, new_head={-2:0}] [L565] EXPR len-- VAL [\old(len)=2, head={-2:0}, len=-1, len--=0, malloc(sizeof(struct node))={-2:0}, new_head={-2:0}] [L565] COND FALSE !(len-- > 0) [L573] return head; VAL [\old(len)=2, \result={-2:0}, head={-2:0}, len=-1, malloc(sizeof(struct node))={-2:0}, new_head={-2:0}] [L617] RET, EXPR sll_create(len) VAL [len=2, s={2:0}, sll_create(len)={-2:0}] [L617] SLL s = sll_create(len); [L618] CALL, EXPR _get_nondet_int(0, len - 1) VAL [\old(from)=0, \old(until)=1] [L609] int len = from; VAL [\old(from)=0, \old(until)=1, from=0, len=0, until=1] [L610] len < until && __VERIFIER_nondet_int() [L610] len < until && __VERIFIER_nondet_int() VAL [\old(from)=0, \old(until)=1, __VERIFIER_nondet_int()=3, from=0, len=0, len < until && __VERIFIER_nondet_int()=1, until=1] [L610] COND TRUE len < until && __VERIFIER_nondet_int() [L611] len++ VAL [\old(from)=0, \old(until)=1, from=0, len=1, until=1] [L610] len < until && __VERIFIER_nondet_int() VAL [\old(from)=0, \old(until)=1, from=0, len=1, len < until && __VERIFIER_nondet_int()=0, until=1] [L610] COND FALSE !(len < until && __VERIFIER_nondet_int()) [L613] return len; VAL [\old(from)=0, \old(until)=1, \result=1, from=0, len=1, until=1] [L618] RET, EXPR _get_nondet_int(0, len - 1) VAL [_get_nondet_int(0, len - 1)=1, len=2, s={2:0}] [L618] const int k = _get_nondet_int(0, len - 1); [L619] int i = 0; VAL [i=0, k=1, len=2, s={2:0}] [L620] i < k && __VERIFIER_nondet_int() [L620] i < k && __VERIFIER_nondet_int() VAL [__VERIFIER_nondet_int()=0, i=0, i < k && __VERIFIER_nondet_int()=0, k=1, len=2, s={2:0}] [L620] COND FALSE !(i < k && __VERIFIER_nondet_int()) [L625] EXPR \read(s) VAL [\read(s)={-2:0}, i=0, k=1, len=2, s={2:0}] [L625] CALL, EXPR sll_length(s) VAL [head={-2:0}] [L576] int len = 0; VAL [head={-2:0}, head={-2:0}, len=0] [L577] COND TRUE \read(head) [L578] len++ [L579] EXPR head->next [L579] head = head->next [L577] COND TRUE \read(head) [L578] len++ [L579] EXPR head->next [L579] head = head->next [L577] COND FALSE !(\read(head)) VAL [head={-2:0}, head={0:0}, len=2] [L581] return len; VAL [\result=2, head={0:0}, head={-2:0}, len=2] [L625] RET, EXPR sll_length(s) VAL [\read(s)={-2:0}, i=0, k=1, len=2, s={2:0}, sll_length(s)=2] [L625] COND TRUE k + len != sll_length(s) [L630] __VERIFIER_error() VAL [i=0, k=1, len=2, s={2:0}] - StatisticsResult: Ultimate Automizer benchmark data CFG has 11 procedures, 74 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: UNSAFE, OverallTime: 146.4s, OverallIterations: 10, TraceHistogramMax: 3, AutomataDifference: 127.9s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 527 SDtfs, 774 SDslu, 3358 SDs, 0 SdLazy, 4586 SolverSat, 351 SolverUnsat, 6 SolverUnknown, 0 SolverNotchecked, 21.3s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 580 GetRequests, 361 SyntacticMatches, 9 SemanticMatches, 210 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 999 ImplicationChecksByTransitivity, 13.5s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=176occurred in iteration=9, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.3s AutomataMinimizationTime, 9 MinimizatonAttempts, 190 StatesRemovedByMinimization, 8 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.4s SatisfiabilityAnalysisTime, 13.7s InterpolantComputationTime, 821 NumberOfCodeBlocks, 821 NumberOfCodeBlocksAsserted, 20 NumberOfCheckSat, 749 ConstructedInterpolants, 30 QuantifiedInterpolants, 303505 SizeOfPredicates, 51 NumberOfNonLiveVariables, 1249 ConjunctsInSsa, 178 ConjunctsInUnsatCore, 15 InterpolantComputations, 4 PerfectInterpolantSequences, 138/226 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! [MP z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forcibly destroying the process Received shutdown request...