java -Xmx6000000000 -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data ./data --generate-csv --csv-dir ../../../releaseScripts/default/UAutomizer-linux/csv -tc ../../../trunk/examples/toolchains/AutomizerCTransformed.xml -s ../../../trunk/examples/settings/ai/eq-bench/svcomp-DerefFreeMemtrack-32bit-Automizer_Fixed_noBitfields+AI_EQ_SS.epf -i ../../../trunk/examples/svcomp/array-memsafety/cstrcat_unsafe_false-valid-deref.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-8168ed2-m [2018-04-12 00:29:50,960 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-04-12 00:29:50,962 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-04-12 00:29:50,976 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-04-12 00:29:50,976 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-04-12 00:29:50,977 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-04-12 00:29:50,978 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-04-12 00:29:50,980 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-04-12 00:29:50,982 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-04-12 00:29:50,983 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-04-12 00:29:50,984 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-04-12 00:29:50,984 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-04-12 00:29:50,985 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-04-12 00:29:50,986 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-04-12 00:29:50,987 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-04-12 00:29:50,989 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-04-12 00:29:50,991 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-04-12 00:29:50,993 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-04-12 00:29:50,994 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-04-12 00:29:50,995 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-04-12 00:29:50,997 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-04-12 00:29:50,998 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-04-12 00:29:50,998 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-04-12 00:29:50,999 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-04-12 00:29:51,000 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-04-12 00:29:51,001 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-04-12 00:29:51,001 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-04-12 00:29:51,002 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-04-12 00:29:51,003 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-04-12 00:29:51,003 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-04-12 00:29:51,004 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-04-12 00:29:51,004 INFO L98 SettingsManager]: Beginning loading settings from /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/ai/eq-bench/svcomp-DerefFreeMemtrack-32bit-Automizer_Fixed_noBitfields+AI_EQ_SS.epf [2018-04-12 00:29:51,025 INFO L110 SettingsManager]: Loading preferences was successful [2018-04-12 00:29:51,025 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-04-12 00:29:51,025 INFO L131 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2018-04-12 00:29:51,026 INFO L133 SettingsManager]: * ultimate.logging.details=de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation=DEBUG; [2018-04-12 00:29:51,026 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-04-12 00:29:51,026 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-04-12 00:29:51,026 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-04-12 00:29:51,026 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=VPDomain [2018-04-12 00:29:51,027 INFO L133 SettingsManager]: * Parallel states before merging=1 [2018-04-12 00:29:51,027 INFO L133 SettingsManager]: * Use the RCFG-of-the-future interface=true [2018-04-12 00:29:51,027 INFO L131 SettingsManager]: Preferences of LTL2Aut differ from their defaults: [2018-04-12 00:29:51,027 INFO L133 SettingsManager]: * Property to check=[] a a: x > 42 [2018-04-12 00:29:51,027 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-04-12 00:29:51,027 INFO L133 SettingsManager]: * sizeof long=4 [2018-04-12 00:29:51,028 INFO L133 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2018-04-12 00:29:51,028 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-04-12 00:29:51,028 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-04-12 00:29:51,028 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-04-12 00:29:51,028 INFO L133 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2018-04-12 00:29:51,028 INFO L133 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2018-04-12 00:29:51,028 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-04-12 00:29:51,029 INFO L133 SettingsManager]: * sizeof long double=12 [2018-04-12 00:29:51,029 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-04-12 00:29:51,029 INFO L133 SettingsManager]: * Size of a code block=SingleStatement [2018-04-12 00:29:51,029 INFO L133 SettingsManager]: * Add additional assume for each assert=false [2018-04-12 00:29:51,029 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-04-12 00:29:51,030 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-04-12 00:29:51,030 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-04-12 00:29:51,030 INFO L133 SettingsManager]: * Interpolant automaton=TWOTRACK [2018-04-12 00:29:51,030 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-04-12 00:29:51,030 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-04-12 00:29:51,030 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-04-12 00:29:51,030 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-04-12 00:29:51,031 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-04-12 00:29:51,031 INFO L131 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2018-04-12 00:29:51,032 INFO L133 SettingsManager]: * TransformationType=HEAP_SEPARATOR [2018-04-12 00:29:51,032 INFO L131 SettingsManager]: Preferences of Boogie Printer differ from their defaults: [2018-04-12 00:29:51,032 INFO L133 SettingsManager]: * Dump path:=C:\Users\alex\AppData\Local\Temp\ [2018-04-12 00:29:51,064 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-04-12 00:29:51,074 INFO L266 ainManager$Toolchain]: [Toolchain 1]: Parser(s) successfully (re)initialized [2018-04-12 00:29:51,077 INFO L222 ainManager$Toolchain]: [Toolchain 1]: Toolchain data selected. [2018-04-12 00:29:51,078 INFO L271 PluginConnector]: Initializing CDTParser... [2018-04-12 00:29:51,079 INFO L276 PluginConnector]: CDTParser initialized [2018-04-12 00:29:51,079 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-memsafety/cstrcat_unsafe_false-valid-deref.i [2018-04-12 00:29:51,391 INFO L225 CDTParser]: Created temporary CDT project at /storage/ultimate/releaseScripts/default/UAutomizer-linux/data/FLAGbf6ebba7a [2018-04-12 00:29:51,511 INFO L287 CDTParser]: IsIndexed: true [2018-04-12 00:29:51,511 INFO L288 CDTParser]: Found 1 translation units. [2018-04-12 00:29:51,511 INFO L168 CDTParser]: Scanning cstrcat_unsafe_false-valid-deref.i [2018-04-12 00:29:51,512 INFO L210 ultiparseSymbolTable]: Include resolver: [2018-04-12 00:29:51,512 INFO L215 ultiparseSymbolTable]: [2018-04-12 00:29:51,512 INFO L218 ultiparseSymbolTable]: Function table: [2018-04-12 00:29:51,512 INFO L221 ultiparseSymbolTable]: Function definition of null ('main') in cstrcat_unsafe_false-valid-deref.i [2018-04-12 00:29:51,512 INFO L221 ultiparseSymbolTable]: Function definition of __U_MULTI_fcstrcat_unsafe_false_valid_deref_i__ ('') in cstrcat_unsafe_false-valid-deref.i [2018-04-12 00:29:51,512 INFO L227 ultiparseSymbolTable]: Global variable table: [2018-04-12 00:29:51,512 INFO L233 ultiparseSymbolTable]: [2018-04-12 00:29:51,526 INFO L330 CDTParser]: Deleted temporary CDT project at /storage/ultimate/releaseScripts/default/UAutomizer-linux/data/FLAGbf6ebba7a [2018-04-12 00:29:51,530 INFO L304 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-04-12 00:29:51,533 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2018-04-12 00:29:51,534 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-04-12 00:29:51,534 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-04-12 00:29:51,539 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-04-12 00:29:51,539 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 12.04 12:29:51" (1/1) ... [2018-04-12 00:29:51,541 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@45130e33 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.04 12:29:51, skipping insertion in model container [2018-04-12 00:29:51,542 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 12.04 12:29:51" (1/1) ... [2018-04-12 00:29:51,555 INFO L167 Dispatcher]: Using SV-COMP mode [2018-04-12 00:29:51,566 INFO L167 Dispatcher]: Using SV-COMP mode [2018-04-12 00:29:51,688 INFO L175 PostProcessor]: Settings: Checked method=main [2018-04-12 00:29:51,709 INFO L175 PostProcessor]: Settings: Checked method=main [2018-04-12 00:29:51,714 INFO L100 SccComputation]: Graph consists of 0 InCaSumBalls and 8 non ball SCCs. Number of states in SCCs 8. [2018-04-12 00:29:51,722 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.04 12:29:51 WrapperNode [2018-04-12 00:29:51,722 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-04-12 00:29:51,723 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-04-12 00:29:51,723 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-04-12 00:29:51,723 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-04-12 00:29:51,732 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.04 12:29:51" (1/1) ... [2018-04-12 00:29:51,732 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.04 12:29:51" (1/1) ... [2018-04-12 00:29:51,739 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.04 12:29:51" (1/1) ... [2018-04-12 00:29:51,739 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.04 12:29:51" (1/1) ... [2018-04-12 00:29:51,743 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.04 12:29:51" (1/1) ... [2018-04-12 00:29:51,747 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.04 12:29:51" (1/1) ... [2018-04-12 00:29:51,748 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.04 12:29:51" (1/1) ... [2018-04-12 00:29:51,750 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-04-12 00:29:51,750 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-04-12 00:29:51,750 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-04-12 00:29:51,750 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-04-12 00:29:51,752 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.04 12:29:51" (1/1) ... No working directory specified, using /storage/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 [2018-04-12 00:29:51,800 INFO L136 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-04-12 00:29:51,800 INFO L136 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-04-12 00:29:51,801 INFO L136 BoogieDeclarations]: Found implementation of procedure cstrcat [2018-04-12 00:29:51,801 INFO L136 BoogieDeclarations]: Found implementation of procedure main [2018-04-12 00:29:51,801 INFO L128 BoogieDeclarations]: Found specification of procedure cstrcat [2018-04-12 00:29:51,801 INFO L128 BoogieDeclarations]: Found specification of procedure read~int [2018-04-12 00:29:51,801 INFO L128 BoogieDeclarations]: Found specification of procedure write~int [2018-04-12 00:29:51,801 INFO L128 BoogieDeclarations]: Found specification of procedure main [2018-04-12 00:29:51,801 INFO L128 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-04-12 00:29:51,801 INFO L128 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-04-12 00:29:51,801 INFO L128 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2018-04-12 00:29:51,802 INFO L128 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-04-12 00:29:52,044 INFO L259 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-04-12 00:29:52,044 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 12.04 12:29:52 BoogieIcfgContainer [2018-04-12 00:29:52,045 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-04-12 00:29:52,045 INFO L113 PluginConnector]: ------------------------IcfgTransformer---------------------------- [2018-04-12 00:29:52,045 INFO L271 PluginConnector]: Initializing IcfgTransformer... [2018-04-12 00:29:52,046 INFO L276 PluginConnector]: IcfgTransformer initialized [2018-04-12 00:29:52,048 INFO L185 PluginConnector]: Executing the observer IcfgTransformationObserver from plugin IcfgTransformer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 12.04 12:29:52" (1/1) ... [2018-04-12 00:29:52,054 INFO L139 apSepIcfgTransformer]: HeapSepIcfgTransformer: Starting heap partitioning [2018-04-12 00:29:52,054 INFO L140 apSepIcfgTransformer]: To be partitioned heap arrays found [#memory_int] [2018-04-12 00:29:52,070 INFO L299 apSepIcfgTransformer]: Heap separator: starting memloc-array-style preprocessing [2018-04-12 00:29:52,088 INFO L100 SccComputation]: Graph consists of 0 InCaSumBalls and 8 non ball SCCs. Number of states in SCCs 8. [2018-04-12 00:29:52,089 INFO L332 apSepIcfgTransformer]: finished MemlocArrayUpdater, created 2 location literals (each corresponds to one heap write) [2018-04-12 00:29:52,097 INFO L100 SccComputation]: Graph consists of 0 InCaSumBalls and 8 non ball SCCs. Number of states in SCCs 8. [2018-04-12 00:29:52,101 INFO L412 apSepIcfgTransformer]: finished preprocessing for the equality analysis [2018-04-12 00:29:52,102 DEBUG L416 apSepIcfgTransformer]: storeIndexInfoToLocLiteral: Map: (Store [1] at(SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') with |v_cstrcat_#t~post2.base_3|) : |mll_L6'''''_1| (Store [0] at(SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') with |v_cstrcat_#t~post2.offset_3|) : |mll_L6'''''_0| [2018-04-12 00:29:52,104 DEBUG L418 apSepIcfgTransformer]: edgeToIndexToStoreIndexInfo: NestedMap2: (SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') : |v_cstrcat_#t~post2.offset_3| : (Store [0] at(SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') with |v_cstrcat_#t~post2.offset_3|) (SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') : |v_cstrcat_#t~post2.base_3| : (Store [1] at(SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') with |v_cstrcat_#t~post2.base_3|) [2018-04-12 00:29:52,153 INFO L101 FixpointEngine]: Starting fixpoint engine with domain VPDomain (maxUnwinding=3, maxParallelStates=1) [2018-04-12 00:30:12,233 INFO L314 AbstractInterpreter]: Visited 54 different actions 193 times. Merged at 37 different actions 117 times. Widened at 1 different actions 2 times. Found 9 fixpoints after 5 different actions. Largest state had 38 variables. [2018-04-12 00:30:12,235 INFO L424 apSepIcfgTransformer]: finished equality analysis [2018-04-12 00:30:12,241 INFO L195 HeapSepPreAnalysis]: Number of read from array group [#memory_int] : 3 [2018-04-12 00:30:12,242 INFO L434 apSepIcfgTransformer]: Finished pre analysis before partitioning [2018-04-12 00:30:12,242 INFO L435 apSepIcfgTransformer]: array groups: Set: [#memory_int] [2018-04-12 00:30:12,242 INFO L437 apSepIcfgTransformer]: select infos: Set: ((select (select |v_#memory_int_2| |v_cstrcat_#t~post3.base_3|) |v_cstrcat_#t~post3.offset_3|), at (SUMMARY for call #t~mem4 := read~int(#t~post3.base, #t~post3.offset, 1); srcloc: L6'''')) ((select |v_#memory_int_4| |v_cstrcat_#t~post2.base_3|), at (SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''')) ((select (select |v_#memory_int_1| v_cstrcat_~s~0.base_2) v_cstrcat_~s~0.offset_2), at (SUMMARY for call #t~mem0 := read~int(~s~0.base, ~s~0.offset, 1); srcloc: L4)) [2018-04-12 00:30:12,247 DEBUG L373 HeapPartitionManager]: creating LocationBlock locs_32 [2018-04-12 00:30:12,247 DEBUG L374 HeapPartitionManager]: with contents [(Store [1] at(SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') with |v_cstrcat_#t~post2.base_3|)] [2018-04-12 00:30:12,247 DEBUG L323 HeapPartitionManager]: adding LocationBlock locs_32 [2018-04-12 00:30:12,248 DEBUG L324 HeapPartitionManager]: at dimension 0 for ((select (select |v_#memory_int_2| |v_cstrcat_#t~post3.base_3|) |v_cstrcat_#t~post3.offset_3|), at (SUMMARY for call #t~mem4 := read~int(#t~post3.base, #t~post3.offset, 1); srcloc: L6'''')) [2018-04-12 00:30:12,248 DEBUG L325 HeapPartitionManager]: write locations: [(Store [1] at(SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') with |v_cstrcat_#t~post2.base_3|)] [2018-04-12 00:30:12,248 DEBUG L373 HeapPartitionManager]: creating LocationBlock locs_31 [2018-04-12 00:30:12,248 DEBUG L374 HeapPartitionManager]: with contents [(Store [0] at(SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') with |v_cstrcat_#t~post2.offset_3|)] [2018-04-12 00:30:12,248 DEBUG L323 HeapPartitionManager]: adding LocationBlock locs_31 [2018-04-12 00:30:12,248 DEBUG L324 HeapPartitionManager]: at dimension 1 for ((select (select |v_#memory_int_2| |v_cstrcat_#t~post3.base_3|) |v_cstrcat_#t~post3.offset_3|), at (SUMMARY for call #t~mem4 := read~int(#t~post3.base, #t~post3.offset, 1); srcloc: L6'''')) [2018-04-12 00:30:12,248 DEBUG L325 HeapPartitionManager]: write locations: [(Store [0] at(SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') with |v_cstrcat_#t~post2.offset_3|)] [2018-04-12 00:30:12,248 DEBUG L323 HeapPartitionManager]: adding LocationBlock locs_32 [2018-04-12 00:30:12,249 DEBUG L324 HeapPartitionManager]: at dimension 0 for ((select |v_#memory_int_4| |v_cstrcat_#t~post2.base_3|), at (SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''')) [2018-04-12 00:30:12,249 DEBUG L325 HeapPartitionManager]: write locations: [(Store [1] at(SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') with |v_cstrcat_#t~post2.base_3|)] [2018-04-12 00:30:12,249 DEBUG L373 HeapPartitionManager]: creating LocationBlock locs_30 [2018-04-12 00:30:12,249 DEBUG L374 HeapPartitionManager]: with contents [NoStoreIndexInfo] [2018-04-12 00:30:12,249 DEBUG L323 HeapPartitionManager]: adding LocationBlock locs_30 [2018-04-12 00:30:12,249 DEBUG L324 HeapPartitionManager]: at dimension 0 for ((select (select |v_#memory_int_1| v_cstrcat_~s~0.base_2) v_cstrcat_~s~0.offset_2), at (SUMMARY for call #t~mem0 := read~int(~s~0.base, ~s~0.offset, 1); srcloc: L4)) [2018-04-12 00:30:12,249 DEBUG L325 HeapPartitionManager]: write locations: [NoStoreIndexInfo] [2018-04-12 00:30:12,250 DEBUG L373 HeapPartitionManager]: creating LocationBlock locs_30 [2018-04-12 00:30:12,250 DEBUG L374 HeapPartitionManager]: with contents [NoStoreIndexInfo] [2018-04-12 00:30:12,250 DEBUG L323 HeapPartitionManager]: adding LocationBlock locs_30 [2018-04-12 00:30:12,250 DEBUG L324 HeapPartitionManager]: at dimension 1 for ((select (select |v_#memory_int_1| v_cstrcat_~s~0.base_2) v_cstrcat_~s~0.offset_2), at (SUMMARY for call #t~mem0 := read~int(~s~0.base, ~s~0.offset, 1); srcloc: L4)) [2018-04-12 00:30:12,250 DEBUG L325 HeapPartitionManager]: write locations: [NoStoreIndexInfo] [2018-04-12 00:30:12,250 INFO L330 HeapPartitionManager]: partitioning result: [2018-04-12 00:30:12,250 INFO L335 HeapPartitionManager]: location blocks for array group [#memory_int] [2018-04-12 00:30:12,250 INFO L344 HeapPartitionManager]: at dimension 0 [2018-04-12 00:30:12,251 INFO L345 HeapPartitionManager]: # array writes (possibly including 1 dummy write/NoStoreIndexInfo) : 2 [2018-04-12 00:30:12,251 INFO L346 HeapPartitionManager]: # location blocks :2 [2018-04-12 00:30:12,251 DEBUG L353 HeapPartitionManager]: location block contents: [2018-04-12 00:30:12,251 DEBUG L356 HeapPartitionManager]: [(Store [1] at(SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') with |v_cstrcat_#t~post2.base_3|)] [2018-04-12 00:30:12,251 DEBUG L356 HeapPartitionManager]: [NoStoreIndexInfo] [2018-04-12 00:30:12,251 INFO L344 HeapPartitionManager]: at dimension 1 [2018-04-12 00:30:12,251 INFO L345 HeapPartitionManager]: # array writes (possibly including 1 dummy write/NoStoreIndexInfo) : 2 [2018-04-12 00:30:12,251 INFO L346 HeapPartitionManager]: # location blocks :2 [2018-04-12 00:30:12,251 DEBUG L353 HeapPartitionManager]: location block contents: [2018-04-12 00:30:12,252 DEBUG L356 HeapPartitionManager]: [NoStoreIndexInfo] [2018-04-12 00:30:12,252 DEBUG L356 HeapPartitionManager]: [(Store [0] at(SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') with |v_cstrcat_#t~post2.offset_3|)] [2018-04-12 00:30:12,253 INFO L134 ransitionTransformer]: executing heap partitioning transformation [2018-04-12 00:30:12,257 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,258 DEBUG L331 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,258 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,258 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,259 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,259 DEBUG L331 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,259 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,259 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,260 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,260 DEBUG L331 ransitionTransformer]: Formula: (and (= |v_#NULL.offset_1| 0) (= |v_#NULL.base_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] [2018-04-12 00:30:12,260 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,260 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,261 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,261 DEBUG L331 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,261 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,261 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,261 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,262 DEBUG L331 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,262 DEBUG L354 ransitionTransformer]: outvars have changed [2018-04-12 00:30:12,262 DEBUG L355 ransitionTransformer]: old outvars: [2018-04-12 00:30:12,262 DEBUG L356 ransitionTransformer]: {main_~s1~0.offset=v_main_~s1~0.offset_1, main_~s1~0.base=v_main_~s1~0.base_1} [2018-04-12 00:30:12,262 DEBUG L357 ransitionTransformer]: new outvars: [2018-04-12 00:30:12,262 DEBUG L358 ransitionTransformer]: {} [2018-04-12 00:30:12,263 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,263 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,263 DEBUG L331 ransitionTransformer]: Formula: (= |v_#valid_1| (store |v_#valid_2| 0 0)) InVars {#valid=|v_#valid_2|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[#valid] [2018-04-12 00:30:12,263 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,263 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,264 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,264 DEBUG L331 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,264 DEBUG L354 ransitionTransformer]: outvars have changed [2018-04-12 00:30:12,264 DEBUG L355 ransitionTransformer]: old outvars: [2018-04-12 00:30:12,264 DEBUG L356 ransitionTransformer]: {main_~s2~0.base=v_main_~s2~0.base_1, main_~s2~0.offset=v_main_~s2~0.offset_1} [2018-04-12 00:30:12,265 DEBUG L357 ransitionTransformer]: new outvars: [2018-04-12 00:30:12,265 DEBUG L358 ransitionTransformer]: {} [2018-04-12 00:30:12,265 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,265 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,265 DEBUG L331 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,265 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,266 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,266 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,266 DEBUG L331 ransitionTransformer]: Formula: (and (= |v_cstrcat_#in~s1.baseInParam_1| v_main_~s1~0.base_3) (= |v_cstrcat_#in~s2.offsetInParam_1| v_main_~s2~0.offset_3) (= |v_cstrcat_#in~s2.baseInParam_1| v_main_~s2~0.base_3) (= |v_cstrcat_#in~s1.offsetInParam_1| v_main_~s1~0.offset_3)) InVars {main_~s2~0.offset=v_main_~s2~0.offset_3, main_~s1~0.offset=v_main_~s1~0.offset_3, main_~s2~0.base=v_main_~s2~0.base_3, main_~s1~0.base=v_main_~s1~0.base_3} OutVars{cstrcat_#in~s1.base=|v_cstrcat_#in~s1.baseInParam_1|, cstrcat_#in~s2.base=|v_cstrcat_#in~s2.baseInParam_1|, cstrcat_#in~s1.offset=|v_cstrcat_#in~s1.offsetInParam_1|, main_~s2~0.base=v_main_~s2~0.base_3, main_~s2~0.offset=v_main_~s2~0.offset_3, cstrcat_#in~s2.offset=|v_cstrcat_#in~s2.offsetInParam_1|, main_~s1~0.offset=v_main_~s1~0.offset_3, main_~s1~0.base=v_main_~s1~0.base_3} AuxVars[] AssignedVars[cstrcat_#in~s1.base, cstrcat_#in~s2.base, cstrcat_#in~s1.offset, cstrcat_#in~s2.offset] [2018-04-12 00:30:12,266 DEBUG L354 ransitionTransformer]: outvars have changed [2018-04-12 00:30:12,266 DEBUG L355 ransitionTransformer]: old outvars: [2018-04-12 00:30:12,267 DEBUG L356 ransitionTransformer]: {cstrcat_#in~s1.base=|v_cstrcat_#in~s1.baseInParam_1|, cstrcat_#in~s2.base=|v_cstrcat_#in~s2.baseInParam_1|, cstrcat_#in~s1.offset=|v_cstrcat_#in~s1.offsetInParam_1|, cstrcat_#in~s2.offset=|v_cstrcat_#in~s2.offsetInParam_1|} [2018-04-12 00:30:12,267 DEBUG L357 ransitionTransformer]: new outvars: [2018-04-12 00:30:12,267 DEBUG L358 ransitionTransformer]: {cstrcat_#in~s1.base=|v_cstrcat_#in~s1.baseInParam_1|, cstrcat_#in~s2.base=|v_cstrcat_#in~s2.baseInParam_1|, cstrcat_#in~s1.offset=|v_cstrcat_#in~s1.offsetInParam_1|, main_~s2~0.base=v_main_~s2~0.base_3, main_~s2~0.offset=v_main_~s2~0.offset_3, cstrcat_#in~s2.offset=|v_cstrcat_#in~s2.offsetInParam_1|, main_~s1~0.offset=v_main_~s1~0.offset_3, main_~s1~0.base=v_main_~s1~0.base_3} [2018-04-12 00:30:12,267 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,267 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,268 DEBUG L331 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,268 DEBUG L354 ransitionTransformer]: outvars have changed [2018-04-12 00:30:12,268 DEBUG L355 ransitionTransformer]: old outvars: [2018-04-12 00:30:12,268 DEBUG L356 ransitionTransformer]: {main_#t~ret5.offset=|v_main_#t~ret5.offset_2|, main_#t~ret5.base=|v_main_#t~ret5.base_2|} [2018-04-12 00:30:12,268 DEBUG L357 ransitionTransformer]: new outvars: [2018-04-12 00:30:12,268 DEBUG L358 ransitionTransformer]: {} [2018-04-12 00:30:12,269 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,269 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,269 DEBUG L331 ransitionTransformer]: Formula: (and (= v_cstrcat_~s1.base_1 |v_cstrcat_#in~s1.base_1|) (= v_cstrcat_~s1.offset_1 |v_cstrcat_#in~s1.offset_1|)) InVars {cstrcat_#in~s1.offset=|v_cstrcat_#in~s1.offset_1|, cstrcat_#in~s1.base=|v_cstrcat_#in~s1.base_1|} OutVars{cstrcat_~s1.offset=v_cstrcat_~s1.offset_1, cstrcat_#in~s1.base=|v_cstrcat_#in~s1.base_1|, cstrcat_#in~s1.offset=|v_cstrcat_#in~s1.offset_1|, cstrcat_~s1.base=v_cstrcat_~s1.base_1} AuxVars[] AssignedVars[cstrcat_~s1.offset, cstrcat_~s1.base] [2018-04-12 00:30:12,269 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,270 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,270 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,270 DEBUG L331 ransitionTransformer]: Formula: (= |v_main_#res_1| 0) InVars {} OutVars{main_#res=|v_main_#res_1|} AuxVars[] AssignedVars[main_#res] [2018-04-12 00:30:12,270 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,270 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,271 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,271 DEBUG L331 ransitionTransformer]: Formula: (and (= v_cstrcat_~s2.base_1 |v_cstrcat_#in~s2.base_1|) (= v_cstrcat_~s2.offset_1 |v_cstrcat_#in~s2.offset_1|)) InVars {cstrcat_#in~s2.offset=|v_cstrcat_#in~s2.offset_1|, cstrcat_#in~s2.base=|v_cstrcat_#in~s2.base_1|} OutVars{cstrcat_~s2.offset=v_cstrcat_~s2.offset_1, cstrcat_#in~s2.base=|v_cstrcat_#in~s2.base_1|, cstrcat_#in~s2.offset=|v_cstrcat_#in~s2.offset_1|, cstrcat_~s2.base=v_cstrcat_~s2.base_1} AuxVars[] AssignedVars[cstrcat_~s2.base, cstrcat_~s2.offset] [2018-04-12 00:30:12,271 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,271 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,271 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,272 DEBUG L331 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,272 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,272 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,272 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,272 DEBUG L331 ransitionTransformer]: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,272 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,273 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,273 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,273 DEBUG L331 ransitionTransformer]: Formula: (and (= v_cstrcat_~s~0.base_1 v_cstrcat_~s1.base_2) (= v_cstrcat_~s~0.offset_1 v_cstrcat_~s1.offset_2)) InVars {cstrcat_~s1.offset=v_cstrcat_~s1.offset_2, cstrcat_~s1.base=v_cstrcat_~s1.base_2} OutVars{cstrcat_~s~0.base=v_cstrcat_~s~0.base_1, cstrcat_~s1.offset=v_cstrcat_~s1.offset_2, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_1, cstrcat_~s1.base=v_cstrcat_~s1.base_2} AuxVars[] AssignedVars[cstrcat_~s~0.base, cstrcat_~s~0.offset] [2018-04-12 00:30:12,273 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,273 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,274 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,274 DEBUG L331 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,274 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,274 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,275 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,275 DEBUG L331 ransitionTransformer]: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,275 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,275 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,278 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,278 DEBUG L331 ransitionTransformer]: Formula: (and (= (select (select |v_#memory_int_part_locs_30_locs_30_1| v_cstrcat_~s~0.base_2) v_cstrcat_~s~0.offset_2) |v_cstrcat_#t~mem0_1|) (<= 0 v_cstrcat_~s~0.offset_2) (= (select |v_#valid_3| v_cstrcat_~s~0.base_2) 1) (<= (+ v_cstrcat_~s~0.offset_2 1) (select |v_#length_1| v_cstrcat_~s~0.base_2))) InVars {cstrcat_~s~0.base=v_cstrcat_~s~0.base_2, #length=|v_#length_1|, #memory_int_part_locs_30_locs_30=|v_#memory_int_part_locs_30_locs_30_1|, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_2, #valid=|v_#valid_3|} OutVars{cstrcat_~s~0.base=v_cstrcat_~s~0.base_2, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_2, #valid=|v_#valid_3|, #length=|v_#length_1|, #memory_int_part_locs_30_locs_30=|v_#memory_int_part_locs_30_locs_30_1|, cstrcat_#t~mem0=|v_cstrcat_#t~mem0_1|} AuxVars[] AssignedVars[cstrcat_#t~mem0] [2018-04-12 00:30:12,278 DEBUG L338 ransitionTransformer]: formula has changed [2018-04-12 00:30:12,278 DEBUG L339 ransitionTransformer]: old formula: [2018-04-12 00:30:12,278 DEBUG L340 ransitionTransformer]: (and (= (select (select |v_#memory_int_1| v_cstrcat_~s~0.base_2) v_cstrcat_~s~0.offset_2) |v_cstrcat_#t~mem0_1|) (<= 0 v_cstrcat_~s~0.offset_2) (= (select |v_#valid_3| v_cstrcat_~s~0.base_2) 1) (<= (+ v_cstrcat_~s~0.offset_2 1) (select |v_#length_1| v_cstrcat_~s~0.base_2))) [2018-04-12 00:30:12,279 DEBUG L341 ransitionTransformer]: new formula: [2018-04-12 00:30:12,279 DEBUG L342 ransitionTransformer]: (and (= (select (select |v_#memory_int_part_locs_30_locs_30_1| v_cstrcat_~s~0.base_2) v_cstrcat_~s~0.offset_2) |v_cstrcat_#t~mem0_1|) (<= 0 v_cstrcat_~s~0.offset_2) (= (select |v_#valid_3| v_cstrcat_~s~0.base_2) 1) (<= (+ v_cstrcat_~s~0.offset_2 1) (select |v_#length_1| v_cstrcat_~s~0.base_2))) [2018-04-12 00:30:12,279 DEBUG L346 ransitionTransformer]: invars have changed [2018-04-12 00:30:12,279 DEBUG L347 ransitionTransformer]: old invars: [2018-04-12 00:30:12,279 DEBUG L348 ransitionTransformer]: {cstrcat_~s~0.base=v_cstrcat_~s~0.base_2, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_2, #valid=|v_#valid_3|, #memory_int=|v_#memory_int_1|, #length=|v_#length_1|} [2018-04-12 00:30:12,279 DEBUG L349 ransitionTransformer]: new invars: [2018-04-12 00:30:12,280 DEBUG L350 ransitionTransformer]: {cstrcat_~s~0.base=v_cstrcat_~s~0.base_2, #length=|v_#length_1|, #memory_int_part_locs_30_locs_30=|v_#memory_int_part_locs_30_locs_30_1|, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_2, #valid=|v_#valid_3|} [2018-04-12 00:30:12,280 DEBUG L354 ransitionTransformer]: outvars have changed [2018-04-12 00:30:12,280 DEBUG L355 ransitionTransformer]: old outvars: [2018-04-12 00:30:12,280 DEBUG L356 ransitionTransformer]: {cstrcat_~s~0.base=v_cstrcat_~s~0.base_2, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_2, #valid=|v_#valid_3|, #memory_int=|v_#memory_int_1|, #length=|v_#length_1|, cstrcat_#t~mem0=|v_cstrcat_#t~mem0_1|} [2018-04-12 00:30:12,280 DEBUG L357 ransitionTransformer]: new outvars: [2018-04-12 00:30:12,280 DEBUG L358 ransitionTransformer]: {cstrcat_~s~0.base=v_cstrcat_~s~0.base_2, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_2, #valid=|v_#valid_3|, #length=|v_#length_1|, #memory_int_part_locs_30_locs_30=|v_#memory_int_part_locs_30_locs_30_1|, cstrcat_#t~mem0=|v_cstrcat_#t~mem0_1|} [2018-04-12 00:30:12,281 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,281 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,281 DEBUG L331 ransitionTransformer]: Formula: (not (= 1 (select |v_#valid_4| v_cstrcat_~s~0.base_3))) InVars {cstrcat_~s~0.base=v_cstrcat_~s~0.base_3, #valid=|v_#valid_4|} OutVars{cstrcat_~s~0.base=v_cstrcat_~s~0.base_3, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,281 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,281 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,282 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,282 DEBUG L331 ransitionTransformer]: Formula: (or (not (<= (+ v_cstrcat_~s~0.offset_3 1) (select |v_#length_2| v_cstrcat_~s~0.base_4))) (not (<= 0 v_cstrcat_~s~0.offset_3))) InVars {cstrcat_~s~0.base=v_cstrcat_~s~0.base_4, #length=|v_#length_2|, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_3} OutVars{cstrcat_~s~0.base=v_cstrcat_~s~0.base_4, #length=|v_#length_2|, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_3} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,282 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,282 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,282 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,283 DEBUG L331 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,283 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,283 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,283 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,283 DEBUG L331 ransitionTransformer]: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,283 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,284 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,284 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,284 DEBUG L331 ransitionTransformer]: Formula: (= |v_cstrcat_#t~mem0_2| 0) InVars {cstrcat_#t~mem0=|v_cstrcat_#t~mem0_2|} OutVars{cstrcat_#t~mem0=|v_cstrcat_#t~mem0_2|} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,284 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,284 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,285 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,285 DEBUG L331 ransitionTransformer]: Formula: (not (= |v_cstrcat_#t~mem0_4| 0)) InVars {cstrcat_#t~mem0=|v_cstrcat_#t~mem0_4|} OutVars{cstrcat_#t~mem0=|v_cstrcat_#t~mem0_4|} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,285 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,285 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,285 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,286 DEBUG L331 ransitionTransformer]: Formula: (and (= |v_cstrcat_#t~post2.base_1| v_cstrcat_~s~0.base_7) (= |v_cstrcat_#t~post2.offset_1| v_cstrcat_~s~0.offset_6)) InVars {cstrcat_~s~0.base=v_cstrcat_~s~0.base_7, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_6} OutVars{cstrcat_~s~0.base=v_cstrcat_~s~0.base_7, cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_1|, cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_1|, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_6} AuxVars[] AssignedVars[cstrcat_#t~post2.base, cstrcat_#t~post2.offset] [2018-04-12 00:30:12,286 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,286 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,286 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,286 DEBUG L331 ransitionTransformer]: Formula: (and (= |v_cstrcat_#res.offset_1| v_cstrcat_~s1.offset_3) (= |v_cstrcat_#res.base_1| v_cstrcat_~s1.base_3)) InVars {cstrcat_~s1.offset=v_cstrcat_~s1.offset_3, cstrcat_~s1.base=v_cstrcat_~s1.base_3} OutVars{cstrcat_#res.base=|v_cstrcat_#res.base_1|, cstrcat_~s1.offset=v_cstrcat_~s1.offset_3, cstrcat_~s1.base=v_cstrcat_~s1.base_3, cstrcat_#res.offset=|v_cstrcat_#res.offset_1|} AuxVars[] AssignedVars[cstrcat_#res.base, cstrcat_#res.offset] [2018-04-12 00:30:12,287 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,287 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,287 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,287 DEBUG L331 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,287 DEBUG L354 ransitionTransformer]: outvars have changed [2018-04-12 00:30:12,287 DEBUG L355 ransitionTransformer]: old outvars: [2018-04-12 00:30:12,288 DEBUG L356 ransitionTransformer]: {cstrcat_#t~mem0=|v_cstrcat_#t~mem0_3|} [2018-04-12 00:30:12,288 DEBUG L357 ransitionTransformer]: new outvars: [2018-04-12 00:30:12,288 DEBUG L358 ransitionTransformer]: {} [2018-04-12 00:30:12,288 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,288 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,289 DEBUG L331 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,289 DEBUG L354 ransitionTransformer]: outvars have changed [2018-04-12 00:30:12,289 DEBUG L355 ransitionTransformer]: old outvars: [2018-04-12 00:30:12,289 DEBUG L356 ransitionTransformer]: {cstrcat_#t~mem0=|v_cstrcat_#t~mem0_5|} [2018-04-12 00:30:12,289 DEBUG L357 ransitionTransformer]: new outvars: [2018-04-12 00:30:12,289 DEBUG L358 ransitionTransformer]: {} [2018-04-12 00:30:12,289 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,290 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,290 DEBUG L331 ransitionTransformer]: Formula: (and (= v_cstrcat_~s~0.offset_7 (+ |v_cstrcat_#t~post2.offset_2| 1)) (= v_cstrcat_~s~0.base_8 |v_cstrcat_#t~post2.base_2|)) InVars {cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_2|, cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_2|} OutVars{cstrcat_~s~0.base=v_cstrcat_~s~0.base_8, cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_2|, cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_2|, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_7} AuxVars[] AssignedVars[cstrcat_~s~0.base, cstrcat_~s~0.offset] [2018-04-12 00:30:12,290 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,290 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,291 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,291 DEBUG L331 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,291 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,291 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,291 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,292 DEBUG L331 ransitionTransformer]: Formula: (and (= |v_cstrcat_#t~post1.base_1| v_cstrcat_~s~0.base_5) (= |v_cstrcat_#t~post1.offset_1| v_cstrcat_~s~0.offset_4)) InVars {cstrcat_~s~0.base=v_cstrcat_~s~0.base_5, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_4} OutVars{cstrcat_#t~post1.base=|v_cstrcat_#t~post1.base_1|, cstrcat_~s~0.base=v_cstrcat_~s~0.base_5, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_4, cstrcat_#t~post1.offset=|v_cstrcat_#t~post1.offset_1|} AuxVars[] AssignedVars[cstrcat_#t~post1.base, cstrcat_#t~post1.offset] [2018-04-12 00:30:12,292 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,292 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,292 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,292 DEBUG L331 ransitionTransformer]: Formula: (and (= |v_cstrcat_#t~post3.base_1| v_cstrcat_~s2.base_2) (= |v_cstrcat_#t~post3.offset_1| v_cstrcat_~s2.offset_2)) InVars {cstrcat_~s2.offset=v_cstrcat_~s2.offset_2, cstrcat_~s2.base=v_cstrcat_~s2.base_2} OutVars{cstrcat_~s2.offset=v_cstrcat_~s2.offset_2, cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_1|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_1|, cstrcat_~s2.base=v_cstrcat_~s2.base_2} AuxVars[] AssignedVars[cstrcat_#t~post3.base, cstrcat_#t~post3.offset] [2018-04-12 00:30:12,292 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,293 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,293 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,293 DEBUG L331 ransitionTransformer]: Formula: (and (= v_cstrcat_~s~0.offset_5 (+ |v_cstrcat_#t~post1.offset_2| 1)) (= v_cstrcat_~s~0.base_6 |v_cstrcat_#t~post1.base_2|)) InVars {cstrcat_#t~post1.base=|v_cstrcat_#t~post1.base_2|, cstrcat_#t~post1.offset=|v_cstrcat_#t~post1.offset_2|} OutVars{cstrcat_~s~0.base=v_cstrcat_~s~0.base_6, cstrcat_#t~post1.base=|v_cstrcat_#t~post1.base_2|, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_5, cstrcat_#t~post1.offset=|v_cstrcat_#t~post1.offset_2|} AuxVars[] AssignedVars[cstrcat_~s~0.base, cstrcat_~s~0.offset] [2018-04-12 00:30:12,293 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,293 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,294 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,294 DEBUG L331 ransitionTransformer]: Formula: (and (= v_cstrcat_~s2.base_3 |v_cstrcat_#t~post3.base_2|) (= v_cstrcat_~s2.offset_3 (+ |v_cstrcat_#t~post3.offset_2| 1))) InVars {cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_2|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_2|} OutVars{cstrcat_~s2.offset=v_cstrcat_~s2.offset_3, cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_2|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_2|, cstrcat_~s2.base=v_cstrcat_~s2.base_3} AuxVars[] AssignedVars[cstrcat_~s2.base, cstrcat_~s2.offset] [2018-04-12 00:30:12,294 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,294 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,294 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,295 DEBUG L331 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,295 DEBUG L354 ransitionTransformer]: outvars have changed [2018-04-12 00:30:12,295 DEBUG L355 ransitionTransformer]: old outvars: [2018-04-12 00:30:12,295 DEBUG L356 ransitionTransformer]: {cstrcat_#t~post1.base=|v_cstrcat_#t~post1.base_3|, cstrcat_#t~post1.offset=|v_cstrcat_#t~post1.offset_3|} [2018-04-12 00:30:12,295 DEBUG L357 ransitionTransformer]: new outvars: [2018-04-12 00:30:12,295 DEBUG L358 ransitionTransformer]: {} [2018-04-12 00:30:12,296 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,297 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,297 DEBUG L331 ransitionTransformer]: Formula: (and (= (select (select |v_#memory_int_part_locs_32_locs_31_1| |v_cstrcat_#t~post3.base_3|) |v_cstrcat_#t~post3.offset_3|) |v_cstrcat_#t~mem4_1|) (= 1 (select |v_#valid_5| |v_cstrcat_#t~post3.base_3|)) (<= (+ |v_cstrcat_#t~post3.offset_3| 1) (select |v_#length_3| |v_cstrcat_#t~post3.base_3|)) (<= 0 |v_cstrcat_#t~post3.offset_3|)) InVars {#memory_int_part_locs_32_locs_31=|v_#memory_int_part_locs_32_locs_31_1|, #length=|v_#length_3|, cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_3|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_3|, #valid=|v_#valid_5|} OutVars{cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_3|, #valid=|v_#valid_5|, #memory_int_part_locs_32_locs_31=|v_#memory_int_part_locs_32_locs_31_1|, #length=|v_#length_3|, cstrcat_#t~mem4=|v_cstrcat_#t~mem4_1|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_3|} AuxVars[] AssignedVars[cstrcat_#t~mem4] [2018-04-12 00:30:12,297 DEBUG L338 ransitionTransformer]: formula has changed [2018-04-12 00:30:12,297 DEBUG L339 ransitionTransformer]: old formula: [2018-04-12 00:30:12,297 DEBUG L340 ransitionTransformer]: (and (= (select (select |v_#memory_int_2| |v_cstrcat_#t~post3.base_3|) |v_cstrcat_#t~post3.offset_3|) |v_cstrcat_#t~mem4_1|) (= 1 (select |v_#valid_5| |v_cstrcat_#t~post3.base_3|)) (<= (+ |v_cstrcat_#t~post3.offset_3| 1) (select |v_#length_3| |v_cstrcat_#t~post3.base_3|)) (<= 0 |v_cstrcat_#t~post3.offset_3|)) [2018-04-12 00:30:12,298 DEBUG L341 ransitionTransformer]: new formula: [2018-04-12 00:30:12,298 DEBUG L342 ransitionTransformer]: (and (= (select (select |v_#memory_int_part_locs_32_locs_31_1| |v_cstrcat_#t~post3.base_3|) |v_cstrcat_#t~post3.offset_3|) |v_cstrcat_#t~mem4_1|) (= 1 (select |v_#valid_5| |v_cstrcat_#t~post3.base_3|)) (<= (+ |v_cstrcat_#t~post3.offset_3| 1) (select |v_#length_3| |v_cstrcat_#t~post3.base_3|)) (<= 0 |v_cstrcat_#t~post3.offset_3|)) [2018-04-12 00:30:12,298 DEBUG L346 ransitionTransformer]: invars have changed [2018-04-12 00:30:12,298 DEBUG L347 ransitionTransformer]: old invars: [2018-04-12 00:30:12,298 DEBUG L348 ransitionTransformer]: {cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_3|, #valid=|v_#valid_5|, #memory_int=|v_#memory_int_2|, #length=|v_#length_3|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_3|} [2018-04-12 00:30:12,299 DEBUG L349 ransitionTransformer]: new invars: [2018-04-12 00:30:12,299 DEBUG L350 ransitionTransformer]: {#memory_int_part_locs_32_locs_31=|v_#memory_int_part_locs_32_locs_31_1|, #length=|v_#length_3|, cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_3|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_3|, #valid=|v_#valid_5|} [2018-04-12 00:30:12,299 DEBUG L354 ransitionTransformer]: outvars have changed [2018-04-12 00:30:12,299 DEBUG L355 ransitionTransformer]: old outvars: [2018-04-12 00:30:12,299 DEBUG L356 ransitionTransformer]: {cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_3|, #valid=|v_#valid_5|, #memory_int=|v_#memory_int_2|, #length=|v_#length_3|, cstrcat_#t~mem4=|v_cstrcat_#t~mem4_1|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_3|} [2018-04-12 00:30:12,299 DEBUG L357 ransitionTransformer]: new outvars: [2018-04-12 00:30:12,300 DEBUG L358 ransitionTransformer]: {cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_3|, #valid=|v_#valid_5|, #memory_int_part_locs_32_locs_31=|v_#memory_int_part_locs_32_locs_31_1|, #length=|v_#length_3|, cstrcat_#t~mem4=|v_cstrcat_#t~mem4_1|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_3|} [2018-04-12 00:30:12,300 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,300 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,300 DEBUG L331 ransitionTransformer]: Formula: (not (= (select |v_#valid_6| |v_cstrcat_#t~post3.base_4|) 1)) InVars {cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_4|, #valid=|v_#valid_6|} OutVars{cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_4|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,301 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,301 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,301 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,301 DEBUG L331 ransitionTransformer]: Formula: (or (not (<= (+ |v_cstrcat_#t~post3.offset_4| 1) (select |v_#length_4| |v_cstrcat_#t~post3.base_5|))) (not (<= 0 |v_cstrcat_#t~post3.offset_4|))) InVars {#length=|v_#length_4|, cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_5|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_4|} OutVars{#length=|v_#length_4|, cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_5|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_4|} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,301 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,302 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,305 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,305 DEBUG L331 ransitionTransformer]: Formula: (and (<= 0 |v_cstrcat_#t~post2.offset_3|) (= |v_#memory_int_part_locs_32_locs_30_1| (store |v_#memory_int_part_locs_32_locs_30_2| |v_cstrcat_#t~post2.base_3| (select |v_#memory_int_part_locs_32_locs_30_2| |v_cstrcat_#t~post2.base_3|))) (= |v_#memory_int_part_locs_32_locs_31_2| (store |v_#memory_int_part_locs_32_locs_31_3| |v_cstrcat_#t~post2.base_3| (store (select |v_#memory_int_part_locs_32_locs_31_3| |v_cstrcat_#t~post2.base_3|) |v_cstrcat_#t~post2.offset_3| |v_cstrcat_#t~mem4_2|))) (= 1 (select |v_#valid_7| |v_cstrcat_#t~post2.base_3|)) (<= (+ |v_cstrcat_#t~post2.offset_3| 1) (select |v_#length_5| |v_cstrcat_#t~post2.base_3|))) InVars {cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_3|, cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_3|, #valid=|v_#valid_7|, #memory_int_part_locs_32_locs_30=|v_#memory_int_part_locs_32_locs_30_2|, #memory_int_part_locs_32_locs_31=|v_#memory_int_part_locs_32_locs_31_3|, #length=|v_#length_5|, cstrcat_#t~mem4=|v_cstrcat_#t~mem4_2|} OutVars{cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_3|, cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_3|, #valid=|v_#valid_7|, #memory_int_part_locs_32_locs_30=|v_#memory_int_part_locs_32_locs_30_1|, #memory_int_part_locs_32_locs_31=|v_#memory_int_part_locs_32_locs_31_2|, #length=|v_#length_5|, cstrcat_#t~mem4=|v_cstrcat_#t~mem4_2|} AuxVars[] AssignedVars[#memory_int_part_locs_32_locs_30, #memory_int_part_locs_32_locs_31] [2018-04-12 00:30:12,305 DEBUG L338 ransitionTransformer]: formula has changed [2018-04-12 00:30:12,306 DEBUG L339 ransitionTransformer]: old formula: [2018-04-12 00:30:12,306 DEBUG L340 ransitionTransformer]: (and (<= 0 |v_cstrcat_#t~post2.offset_3|) (= 1 (select |v_#valid_7| |v_cstrcat_#t~post2.base_3|)) (<= (+ |v_cstrcat_#t~post2.offset_3| 1) (select |v_#length_5| |v_cstrcat_#t~post2.base_3|)) (= |v_#memory_int_3| (store |v_#memory_int_4| |v_cstrcat_#t~post2.base_3| (store (select |v_#memory_int_4| |v_cstrcat_#t~post2.base_3|) |v_cstrcat_#t~post2.offset_3| |v_cstrcat_#t~mem4_2|)))) [2018-04-12 00:30:12,306 DEBUG L341 ransitionTransformer]: new formula: [2018-04-12 00:30:12,306 DEBUG L342 ransitionTransformer]: (and (<= 0 |v_cstrcat_#t~post2.offset_3|) (= |v_#memory_int_part_locs_32_locs_30_1| (store |v_#memory_int_part_locs_32_locs_30_2| |v_cstrcat_#t~post2.base_3| (select |v_#memory_int_part_locs_32_locs_30_2| |v_cstrcat_#t~post2.base_3|))) (= |v_#memory_int_part_locs_32_locs_31_2| (store |v_#memory_int_part_locs_32_locs_31_3| |v_cstrcat_#t~post2.base_3| (store (select |v_#memory_int_part_locs_32_locs_31_3| |v_cstrcat_#t~post2.base_3|) |v_cstrcat_#t~post2.offset_3| |v_cstrcat_#t~mem4_2|))) (= 1 (select |v_#valid_7| |v_cstrcat_#t~post2.base_3|)) (<= (+ |v_cstrcat_#t~post2.offset_3| 1) (select |v_#length_5| |v_cstrcat_#t~post2.base_3|))) [2018-04-12 00:30:12,306 DEBUG L346 ransitionTransformer]: invars have changed [2018-04-12 00:30:12,306 DEBUG L347 ransitionTransformer]: old invars: [2018-04-12 00:30:12,307 DEBUG L348 ransitionTransformer]: {cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_3|, cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_3|, #valid=|v_#valid_7|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, cstrcat_#t~mem4=|v_cstrcat_#t~mem4_2|} [2018-04-12 00:30:12,307 DEBUG L349 ransitionTransformer]: new invars: [2018-04-12 00:30:12,307 DEBUG L350 ransitionTransformer]: {cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_3|, cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_3|, #valid=|v_#valid_7|, #memory_int_part_locs_32_locs_30=|v_#memory_int_part_locs_32_locs_30_2|, #memory_int_part_locs_32_locs_31=|v_#memory_int_part_locs_32_locs_31_3|, #length=|v_#length_5|, cstrcat_#t~mem4=|v_cstrcat_#t~mem4_2|} [2018-04-12 00:30:12,307 DEBUG L354 ransitionTransformer]: outvars have changed [2018-04-12 00:30:12,307 DEBUG L355 ransitionTransformer]: old outvars: [2018-04-12 00:30:12,307 DEBUG L356 ransitionTransformer]: {cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_3|, cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_3|, #valid=|v_#valid_7|, #memory_int=|v_#memory_int_3|, #length=|v_#length_5|, cstrcat_#t~mem4=|v_cstrcat_#t~mem4_2|} [2018-04-12 00:30:12,307 DEBUG L357 ransitionTransformer]: new outvars: [2018-04-12 00:30:12,308 DEBUG L358 ransitionTransformer]: {cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_3|, cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_3|, #valid=|v_#valid_7|, #memory_int_part_locs_32_locs_30=|v_#memory_int_part_locs_32_locs_30_1|, #memory_int_part_locs_32_locs_31=|v_#memory_int_part_locs_32_locs_31_2|, #length=|v_#length_5|, cstrcat_#t~mem4=|v_cstrcat_#t~mem4_2|} [2018-04-12 00:30:12,308 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,308 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,308 DEBUG L331 ransitionTransformer]: Formula: (not (= 1 (select |v_#valid_8| |v_cstrcat_#t~post2.base_4|))) InVars {cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_4|, #valid=|v_#valid_8|} OutVars{cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_4|, #valid=|v_#valid_8|} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,308 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,309 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,309 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,309 DEBUG L331 ransitionTransformer]: Formula: (or (not (<= (+ |v_cstrcat_#t~post2.offset_4| 1) (select |v_#length_6| |v_cstrcat_#t~post2.base_5|))) (not (<= 0 |v_cstrcat_#t~post2.offset_4|))) InVars {cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_5|, #length=|v_#length_6|, cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_4|} OutVars{cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_5|, #length=|v_#length_6|, cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_4|} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,309 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,309 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,310 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,310 DEBUG L331 ransitionTransformer]: Formula: (= |v_cstrcat_#t~mem4_3| 0) InVars {cstrcat_#t~mem4=|v_cstrcat_#t~mem4_3|} OutVars{cstrcat_#t~mem4=|v_cstrcat_#t~mem4_3|} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,310 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,310 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,310 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,311 DEBUG L331 ransitionTransformer]: Formula: (not (= |v_cstrcat_#t~mem4_5| 0)) InVars {cstrcat_#t~mem4=|v_cstrcat_#t~mem4_5|} OutVars{cstrcat_#t~mem4=|v_cstrcat_#t~mem4_5|} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,311 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,311 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,311 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,311 DEBUG L331 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,311 DEBUG L354 ransitionTransformer]: outvars have changed [2018-04-12 00:30:12,311 DEBUG L355 ransitionTransformer]: old outvars: [2018-04-12 00:30:12,312 DEBUG L356 ransitionTransformer]: {cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_6|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_5|} [2018-04-12 00:30:12,312 DEBUG L357 ransitionTransformer]: new outvars: [2018-04-12 00:30:12,312 DEBUG L358 ransitionTransformer]: {} [2018-04-12 00:30:12,312 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,312 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,312 DEBUG L331 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,313 DEBUG L354 ransitionTransformer]: outvars have changed [2018-04-12 00:30:12,313 DEBUG L355 ransitionTransformer]: old outvars: [2018-04-12 00:30:12,313 DEBUG L356 ransitionTransformer]: {cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_7|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_6|} [2018-04-12 00:30:12,313 DEBUG L357 ransitionTransformer]: new outvars: [2018-04-12 00:30:12,313 DEBUG L358 ransitionTransformer]: {} [2018-04-12 00:30:12,313 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,314 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,314 DEBUG L331 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,314 DEBUG L354 ransitionTransformer]: outvars have changed [2018-04-12 00:30:12,314 DEBUG L355 ransitionTransformer]: old outvars: [2018-04-12 00:30:12,314 DEBUG L356 ransitionTransformer]: {cstrcat_#t~mem4=|v_cstrcat_#t~mem4_4|} [2018-04-12 00:30:12,314 DEBUG L357 ransitionTransformer]: new outvars: [2018-04-12 00:30:12,315 DEBUG L358 ransitionTransformer]: {} [2018-04-12 00:30:12,315 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,315 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,315 DEBUG L331 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,315 DEBUG L354 ransitionTransformer]: outvars have changed [2018-04-12 00:30:12,315 DEBUG L355 ransitionTransformer]: old outvars: [2018-04-12 00:30:12,315 DEBUG L356 ransitionTransformer]: {cstrcat_#t~mem4=|v_cstrcat_#t~mem4_6|} [2018-04-12 00:30:12,316 DEBUG L357 ransitionTransformer]: new outvars: [2018-04-12 00:30:12,316 DEBUG L358 ransitionTransformer]: {} [2018-04-12 00:30:12,316 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,316 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,316 DEBUG L331 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,316 DEBUG L354 ransitionTransformer]: outvars have changed [2018-04-12 00:30:12,317 DEBUG L355 ransitionTransformer]: old outvars: [2018-04-12 00:30:12,317 DEBUG L356 ransitionTransformer]: {cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_6|, cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_5|} [2018-04-12 00:30:12,317 DEBUG L357 ransitionTransformer]: new outvars: [2018-04-12 00:30:12,317 DEBUG L358 ransitionTransformer]: {} [2018-04-12 00:30:12,317 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,317 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,318 DEBUG L331 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,318 DEBUG L354 ransitionTransformer]: outvars have changed [2018-04-12 00:30:12,318 DEBUG L355 ransitionTransformer]: old outvars: [2018-04-12 00:30:12,318 DEBUG L356 ransitionTransformer]: {cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_7|, cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_6|} [2018-04-12 00:30:12,318 DEBUG L357 ransitionTransformer]: new outvars: [2018-04-12 00:30:12,318 DEBUG L358 ransitionTransformer]: {} [2018-04-12 00:30:12,318 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,319 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,319 DEBUG L331 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-12 00:30:12,319 DEBUG L334 ransitionTransformer]: transformula unchanged [2018-04-12 00:30:12,319 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,319 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,319 DEBUG L331 ransitionTransformer]: Formula: (= |v_ULTIMATE.start_#t~ret6_2| |v_main_#resOutParam_1|) InVars {main_#res=|v_main_#resOutParam_1|} OutVars{ULTIMATE.start_#t~ret6=|v_ULTIMATE.start_#t~ret6_2|, main_#res=|v_main_#resOutParam_1|} AuxVars[] AssignedVars[ULTIMATE.start_#t~ret6] [2018-04-12 00:30:12,320 DEBUG L354 ransitionTransformer]: outvars have changed [2018-04-12 00:30:12,320 DEBUG L355 ransitionTransformer]: old outvars: [2018-04-12 00:30:12,320 DEBUG L356 ransitionTransformer]: {ULTIMATE.start_#t~ret6=|v_ULTIMATE.start_#t~ret6_2|} [2018-04-12 00:30:12,320 DEBUG L357 ransitionTransformer]: new outvars: [2018-04-12 00:30:12,320 DEBUG L358 ransitionTransformer]: {ULTIMATE.start_#t~ret6=|v_ULTIMATE.start_#t~ret6_2|, main_#res=|v_main_#resOutParam_1|} [2018-04-12 00:30:12,320 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,321 DEBUG L330 ransitionTransformer]: transformed transition [2018-04-12 00:30:12,321 DEBUG L331 ransitionTransformer]: Formula: (and (= |v_main_#t~ret5.base_3| |v_cstrcat_#res.baseOutParam_1|) (= |v_main_#t~ret5.offset_3| |v_cstrcat_#res.offsetOutParam_1|)) InVars {cstrcat_#res.base=|v_cstrcat_#res.baseOutParam_1|, cstrcat_#res.offset=|v_cstrcat_#res.offsetOutParam_1|} OutVars{main_#t~ret5.offset=|v_main_#t~ret5.offset_3|, cstrcat_#res.base=|v_cstrcat_#res.baseOutParam_1|, main_#t~ret5.base=|v_main_#t~ret5.base_3|, cstrcat_#res.offset=|v_cstrcat_#res.offsetOutParam_1|} AuxVars[] AssignedVars[main_#t~ret5.offset, main_#t~ret5.base] [2018-04-12 00:30:12,321 DEBUG L354 ransitionTransformer]: outvars have changed [2018-04-12 00:30:12,321 DEBUG L355 ransitionTransformer]: old outvars: [2018-04-12 00:30:12,321 DEBUG L356 ransitionTransformer]: {main_#t~ret5.offset=|v_main_#t~ret5.offset_3|, main_#t~ret5.base=|v_main_#t~ret5.base_3|} [2018-04-12 00:30:12,321 DEBUG L357 ransitionTransformer]: new outvars: [2018-04-12 00:30:12,322 DEBUG L358 ransitionTransformer]: {main_#t~ret5.offset=|v_main_#t~ret5.offset_3|, cstrcat_#res.base=|v_cstrcat_#res.baseOutParam_1|, main_#t~ret5.base=|v_main_#t~ret5.base_3|, cstrcat_#res.offset=|v_cstrcat_#res.offsetOutParam_1|} [2018-04-12 00:30:12,322 DEBUG L360 ransitionTransformer]: [2018-04-12 00:30:12,322 INFO L100 SccComputation]: Graph consists of 0 InCaSumBalls and 8 non ball SCCs. Number of states in SCCs 8. [2018-04-12 00:30:12,324 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 12.04 12:30:12 BasicIcfg [2018-04-12 00:30:12,324 INFO L132 PluginConnector]: ------------------------ END IcfgTransformer---------------------------- [2018-04-12 00:30:12,325 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-04-12 00:30:12,325 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-04-12 00:30:12,327 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-04-12 00:30:12,327 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 12.04 12:29:51" (1/4) ... [2018-04-12 00:30:12,328 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@43947d61 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 12.04 12:30:12, skipping insertion in model container [2018-04-12 00:30:12,328 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 12.04 12:29:51" (2/4) ... [2018-04-12 00:30:12,328 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@43947d61 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 12.04 12:30:12, skipping insertion in model container [2018-04-12 00:30:12,328 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 12.04 12:29:52" (3/4) ... [2018-04-12 00:30:12,328 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@43947d61 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 12.04 12:30:12, skipping insertion in model container [2018-04-12 00:30:12,329 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 12.04 12:30:12" (4/4) ... [2018-04-12 00:30:12,330 INFO L107 eAbstractionObserver]: Analyzing ICFG memPartitionedIcfg [2018-04-12 00:30:12,336 INFO L131 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-04-12 00:30:12,342 INFO L143 ceAbstractionStarter]: Appying trace abstraction to program that has 7 error locations. [2018-04-12 00:30:12,373 INFO L128 ementStrategyFactory]: Using default assertion order modulation [2018-04-12 00:30:12,374 INFO L369 AbstractCegarLoop]: Interprodecural is true [2018-04-12 00:30:12,374 INFO L370 AbstractCegarLoop]: Hoare is true [2018-04-12 00:30:12,374 INFO L371 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-04-12 00:30:12,374 INFO L372 AbstractCegarLoop]: Backedges is TWOTRACK [2018-04-12 00:30:12,374 INFO L373 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-04-12 00:30:12,374 INFO L374 AbstractCegarLoop]: Difference is false [2018-04-12 00:30:12,374 INFO L375 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-04-12 00:30:12,375 INFO L380 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-04-12 00:30:12,375 INFO L87 2NestedWordAutomaton]: Mode: main mode - execution starts in main procedure [2018-04-12 00:30:12,383 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states. [2018-04-12 00:30:12,387 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-04-12 00:30:12,387 INFO L347 BasicCegarLoop]: Found error trace [2018-04-12 00:30:12,388 INFO L355 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-04-12 00:30:12,388 INFO L408 AbstractCegarLoop]: === Iteration 1 === [cstrcatErr0RequiresViolation, cstrcatErr2RequiresViolation, cstrcatErr1RequiresViolation, cstrcatErr5RequiresViolation, cstrcatErr3RequiresViolation, cstrcatErr4RequiresViolation, mainErr0EnsuresViolationMEMORY_LEAK]=== [2018-04-12 00:30:12,391 INFO L82 PathProgramCache]: Analyzing trace with hash -2013644834, now seen corresponding path program 1 times No working directory specified, using /storage/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-04-12 00:30:12,403 INFO L68 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2018-04-12 00:30:12,435 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-04-12 00:30:12,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-04-12 00:30:12,496 INFO L421 BasicCegarLoop]: Counterexample might be feasible [2018-04-12 00:30:12,522 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 12.04 12:30:12 BasicIcfg [2018-04-12 00:30:12,522 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-04-12 00:30:12,523 INFO L168 Benchmark]: Toolchain (without parser) took 20991.85 ms. Allocated memory was 308.3 MB in the beginning and 900.2 MB in the end (delta: 591.9 MB). Free memory was 251.7 MB in the beginning and 501.6 MB in the end (delta: -249.9 MB). Peak memory consumption was 342.0 MB. Max. memory is 5.3 GB. [2018-04-12 00:30:12,523 INFO L168 Benchmark]: CDTParser took 0.23 ms. Allocated memory is still 308.3 MB. Free memory is still 270.5 MB. There was no memory consumed. Max. memory is 5.3 GB. [2018-04-12 00:30:12,524 INFO L168 Benchmark]: CACSL2BoogieTranslator took 188.64 ms. Allocated memory is still 308.3 MB. Free memory was 251.7 MB in the beginning and 242.6 MB in the end (delta: 9.1 MB). Peak memory consumption was 9.1 MB. Max. memory is 5.3 GB. [2018-04-12 00:30:12,524 INFO L168 Benchmark]: Boogie Preprocessor took 27.34 ms. Allocated memory is still 308.3 MB. Free memory was 242.6 MB in the beginning and 240.6 MB in the end (delta: 2.0 MB). Peak memory consumption was 2.0 MB. Max. memory is 5.3 GB. [2018-04-12 00:30:12,524 INFO L168 Benchmark]: RCFGBuilder took 294.38 ms. Allocated memory was 308.3 MB in the beginning and 473.4 MB in the end (delta: 165.2 MB). Free memory was 240.6 MB in the beginning and 441.7 MB in the end (delta: -201.1 MB). Peak memory consumption was 24.6 MB. Max. memory is 5.3 GB. [2018-04-12 00:30:12,525 INFO L168 Benchmark]: IcfgTransformer took 20279.27 ms. Allocated memory was 473.4 MB in the beginning and 900.2 MB in the end (delta: 426.8 MB). Free memory was 441.7 MB in the beginning and 579.8 MB in the end (delta: -138.1 MB). Peak memory consumption was 288.7 MB. Max. memory is 5.3 GB. [2018-04-12 00:30:12,525 INFO L168 Benchmark]: TraceAbstraction took 197.35 ms. Allocated memory is still 900.2 MB. Free memory was 579.8 MB in the beginning and 501.6 MB in the end (delta: 78.2 MB). Peak memory consumption was 78.2 MB. Max. memory is 5.3 GB. [2018-04-12 00:30:12,527 INFO L344 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.23 ms. Allocated memory is still 308.3 MB. Free memory is still 270.5 MB. There was no memory consumed. Max. memory is 5.3 GB. * CACSL2BoogieTranslator took 188.64 ms. Allocated memory is still 308.3 MB. Free memory was 251.7 MB in the beginning and 242.6 MB in the end (delta: 9.1 MB). Peak memory consumption was 9.1 MB. Max. memory is 5.3 GB. * Boogie Preprocessor took 27.34 ms. Allocated memory is still 308.3 MB. Free memory was 242.6 MB in the beginning and 240.6 MB in the end (delta: 2.0 MB). Peak memory consumption was 2.0 MB. Max. memory is 5.3 GB. * RCFGBuilder took 294.38 ms. Allocated memory was 308.3 MB in the beginning and 473.4 MB in the end (delta: 165.2 MB). Free memory was 240.6 MB in the beginning and 441.7 MB in the end (delta: -201.1 MB). Peak memory consumption was 24.6 MB. Max. memory is 5.3 GB. * IcfgTransformer took 20279.27 ms. Allocated memory was 473.4 MB in the beginning and 900.2 MB in the end (delta: 426.8 MB). Free memory was 441.7 MB in the beginning and 579.8 MB in the end (delta: -138.1 MB). Peak memory consumption was 288.7 MB. Max. memory is 5.3 GB. * TraceAbstraction took 197.35 ms. Allocated memory is still 900.2 MB. Free memory was 579.8 MB in the beginning and 501.6 MB in the end (delta: 78.2 MB). Peak memory consumption was 78.2 MB. Max. memory is 5.3 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2: - StatisticsResult: ArrayEqualityDomainStatistics #Locations : 48 LocStat_MAX_WEQGRAPH_SIZE : 2 LocStat_MAX_SIZEOF_WEQEDGELABEL : 1 LocStat_NO_SUPPORTING_EQUALITIES : 665 LocStat_NO_SUPPORTING_DISEQUALITIES : 108 LocStat_NO_DISJUNCTIONS : -96 LocStat_MAX_NO_DISJUNCTIONS : -1 #Transitions : 60 TransStat_MAX_WEQGRAPH_SIZE : 4 TransStat_MAX_SIZEOF_WEQEDGELABEL : 1 TransStat_NO_SUPPORTING_EQUALITIES : 67 TransStat_NO_SUPPORTING_DISEQUALITIES : 5 TransStat_NO_DISJUNCTIONS : 60 TransStat_MAX_NO_DISJUNCTIONS : 2 - StatisticsResult: EqConstraintFactoryStatistics CONJOIN_DISJUNCTIVE(MILLISECONDS) : 4978.47 RENAME_VARIABLES(MILLISECONDS) : 211.34 UNFREEZE(MILLISECONDS) : 0.00 CONJOIN(MILLISECONDS) : 4967.50 PROJECTAWAY(MILLISECONDS) : 7346.75 ADD_WEAK_EQUALITY(MILLISECONDS) : 5.12 DISJOIN(MILLISECONDS) : 266.68 RENAME_VARIABLES_DISJUNCTIVE(MILLISECONDS) : 223.50 ADD_EQUALITY(MILLISECONDS) : 9.02 DISJOIN_DISJUNCTIVE(MILLISECONDS) : 0.00 ADD_DISEQUALITY(MILLISECONDS) : 0.37 #CONJOIN_DISJUNCTIVE : 216 #RENAME_VARIABLES : 423 #UNFREEZE : 0 #CONJOIN : 279 #PROJECTAWAY : 288 #ADD_WEAK_EQUALITY : 5 #DISJOIN : 73 #RENAME_VARIABLES_DISJUNCTIVE : 419 #ADD_EQUALITY : 68 #DISJOIN_DISJUNCTIVE : 0 #ADD_DISEQUALITY : 5 - StatisticsResult: WeqCcManagerStatistics FREEZE(MILLISECONDS) : 11208.39 ADDNODE(MILLISECONDS) : 0.00 MEET(MILLISECONDS) : 4960.99 FILTERREDUNDANT(MILLISECONDS) : 0.00 REPORTWEQ(MILLISECONDS) : 5.03 JOIN(MILLISECONDS) : 261.24 RENAMEVARS(MILLISECONDS) : 205.31 FLATTENLABELS(MILLISECONDS) : 0.00 COPY(MILLISECONDS) : 0.00 ISSTRONGERTHAN(MILLISECONDS) : 6537.22 ISLABELSTRONGERTHAN(MILLISECONDS) : 1318.52 ISWEQGRAPHSTRONGERTHAN(MILLISECONDS) : 96.91 UNFREEZE(MILLISECONDS) : 65.56 REPORTCONTAINS(MILLISECONDS) : 0.00 PROJECTAWAY(MILLISECONDS) : 7251.44 MEETEDGELABELS(MILLISECONDS) : 1105.57 REPORTEQUALITY(MILLISECONDS) : 342.10 ADDALLNODES(MILLISECONDS) : 95.19 REPORTDISEQUALITY(MILLISECONDS) : 1.98 WEQGRAPHJOIN(MILLISECONDS) : 200.70 #FREEZE : 1847 #ADDNODE : 0 #MEET : 194 #FILTERREDUNDANT : 0 #REPORTWEQ : 5 #JOIN : 73 #RENAMEVARS : 423 #FLATTENLABELS : 0 #COPY : 0 #ISSTRONGERTHAN : 483 #ISLABELSTRONGERTHAN : 62804 #ISWEQGRAPHSTRONGERTHAN : 239 #UNFREEZE : 1197 #REPORTCONTAINS : 0 #PROJECTAWAY : 580 #MEETEDGELABELS : 1393 #REPORTEQUALITY : 2629 #ADDALLNODES : 194 #REPORTDISEQUALITY : 355 #WEQGRAPHJOIN : 73 - StatisticsResult: CcManagerStatistics ADDNODE(MILLISECONDS) : 0.00 MEET(MILLISECONDS) : 3852.07 REPORT_EQUALITY(MILLISECONDS) : 1434.88 FILTERREDUNDANT(MILLISECONDS) : 9030.77 ADD_ALL_ELEMENTS(MILLISECONDS) : 2272.22 JOIN(MILLISECONDS) : 40.94 ALIGN_ELEMENTS(MILLISECONDS) : 5064.57 COPY(MILLISECONDS) : 0.00 REPORT_DISEQUALITY(MILLISECONDS) : 194.74 UNFREEZE(MILLISECONDS) : 0.00 OVERALL(MILLISECONDS) : 11052.66 REPORTCONTAINS(MILLISECONDS) : 0.00 IS_STRONGER_THAN_NO_CACHING(MILLISECONDS) : 6914.98 REMOVE(MILLISECONDS) : 0.00 IS_STRONGER_THAN_W_CACHING(MILLISECONDS) : 0.00 PROJECT_TO_ELEMENTS(MILLISECONDS) : 1033.40 #ADDNODE : 0 #MEET : 10391 #REPORT_EQUALITY : 161916 #FILTERREDUNDANT : 134284 #ADD_ALL_ELEMENTS : 116676 #JOIN : 73 #ALIGN_ELEMENTS : 53122 #COPY : 0 #REPORT_DISEQUALITY : 36176 #UNFREEZE : 0 #OVERALL : 704682 #REPORTCONTAINS : 0 #IS_STRONGER_THAN_NO_CACHING : 183101 #REMOVE : 0 #IS_STRONGER_THAN_W_CACHING : 0 #PROJECT_TO_ELEMENTS : 8943 * Results from de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation: - StatisticsResult: HeapSeparatorStatistics #COUNT_NEW_ARRAY_VARS_[#memory_int] : 4 COUNT_ARRAY_WRITES_for_[#memory_int]_at_dim_0 : 2 COUNT_BLOCKS_for_[#memory_int]_at_dim_0 : 2 COUNT_ARRAY_WRITES_for_[#memory_int]_at_dim_1 : 2 COUNT_BLOCKS_for_[#memory_int]_at_dim_1 : 2 COUNT_ARRAY_READS for [#memory_int] : 3 * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 4]: pointer dereference may fail pointer dereference may fail We found a FailurePath: [L11] char *s1; [L12] char *s2; [L13] CALL cstrcat(s1, s2) VAL [s1={0:10}, s1={0:10}, s2={9:8}, s2={9:8}] [L3] char *s = s1; VAL [s={0:10}, s1={0:10}, s1={0:10}, s1={0:10}, s2={9:8}, s2={9:8}, s2={9:8}] [L4] FCALL \read(*s) - StatisticsResult: Ultimate Automizer benchmark data CFG has 4 procedures, 50 locations, 7 error locations. UNSAFE Result, 0.1s OverallTime, 1 OverallIterations, 1 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: No data available, PredicateUnifierStatistics: No data available, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=50occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 14 NumberOfCodeBlocks, 14 NumberOfCodeBlocksAsserted, 1 NumberOfCheckSat, 0 ConstructedInterpolants, 0 QuantifiedInterpolants, 0 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 0 InterpolantComputations, 0 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/cstrcat_unsafe_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Fixed_noBitfields+AI_EQ_SS.epf_AutomizerCTransformed.xml/Csv-Benchmark-0-2018-04-12_00-30-12-539.csv Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/cstrcat_unsafe_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Fixed_noBitfields+AI_EQ_SS.epf_AutomizerCTransformed.xml/Csv-VPDomainBenchmark-0-2018-04-12_00-30-12-539.csv Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/cstrcat_unsafe_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Fixed_noBitfields+AI_EQ_SS.epf_AutomizerCTransformed.xml/Csv-BenchmarkWithCounters-0-2018-04-12_00-30-12-539.csv Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/cstrcat_unsafe_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Fixed_noBitfields+AI_EQ_SS.epf_AutomizerCTransformed.xml/Csv-BenchmarkWithCounters-1-2018-04-12_00-30-12-539.csv Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/cstrcat_unsafe_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Fixed_noBitfields+AI_EQ_SS.epf_AutomizerCTransformed.xml/Csv-BenchmarkWithCounters-2-2018-04-12_00-30-12-539.csv Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/cstrcat_unsafe_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Fixed_noBitfields+AI_EQ_SS.epf_AutomizerCTransformed.xml/Csv-HeapSeparatorBenchmark-0-2018-04-12_00-30-12-539.csv Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/cstrcat_unsafe_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Fixed_noBitfields+AI_EQ_SS.epf_AutomizerCTransformed.xml/Csv-TraceAbstractionBenchmarks-0-2018-04-12_00-30-12-539.csv Received shutdown request...