./Ultimate.py --spec ../sv-benchmarks/c/properties/termination.prp --file ../sv-benchmarks/c/recursified_loop-simple/recursified_nested_4.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version 8fc3dc66 Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerTermination.xml -i ../sv-benchmarks/c/recursified_loop-simple/recursified_nested_4.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(F end) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 45898d4df949634911027a72c0e1c79e1edaab63547cca5c16238cef1218e556 --- Real Ultimate output --- This is Ultimate 0.3.0-?-8fc3dc6-m [2025-03-17 20:37:11,700 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-03-17 20:37:11,751 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-Automizer_Default.epf [2025-03-17 20:37:11,755 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-03-17 20:37:11,757 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-03-17 20:37:11,757 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder.Remove goto edges from RCFG [2025-03-17 20:37:11,781 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-03-17 20:37:11,782 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-03-17 20:37:11,782 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-03-17 20:37:11,783 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-03-17 20:37:11,783 INFO L153 SettingsManager]: * Use memory slicer=true [2025-03-17 20:37:11,783 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-03-17 20:37:11,783 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-03-17 20:37:11,783 INFO L153 SettingsManager]: * Use SBE=true [2025-03-17 20:37:11,784 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2025-03-17 20:37:11,785 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2025-03-17 20:37:11,785 INFO L153 SettingsManager]: * Use old map elimination=false [2025-03-17 20:37:11,785 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2025-03-17 20:37:11,785 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2025-03-17 20:37:11,785 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2025-03-17 20:37:11,785 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-03-17 20:37:11,785 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2025-03-17 20:37:11,785 INFO L153 SettingsManager]: * sizeof long=4 [2025-03-17 20:37:11,785 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-03-17 20:37:11,785 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-03-17 20:37:11,785 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-03-17 20:37:11,786 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2025-03-17 20:37:11,786 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2025-03-17 20:37:11,786 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2025-03-17 20:37:11,786 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2025-03-17 20:37:11,786 INFO L153 SettingsManager]: * sizeof long double=12 [2025-03-17 20:37:11,786 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-03-17 20:37:11,786 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2025-03-17 20:37:11,786 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-03-17 20:37:11,786 INFO L153 SettingsManager]: * Use constant arrays=true [2025-03-17 20:37:11,786 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-03-17 20:37:11,786 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-03-17 20:37:11,786 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-03-17 20:37:11,786 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-03-17 20:37:11,786 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2025-03-17 20:37:11,787 INFO L153 SettingsManager]: * TransformationType=MODULO_NEIGHBOR Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(F end) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 45898d4df949634911027a72c0e1c79e1edaab63547cca5c16238cef1218e556 [2025-03-17 20:37:12,006 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-03-17 20:37:12,015 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-03-17 20:37:12,018 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-03-17 20:37:12,019 INFO L270 PluginConnector]: Initializing CDTParser... [2025-03-17 20:37:12,019 INFO L274 PluginConnector]: CDTParser initialized [2025-03-17 20:37:12,021 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/recursified_loop-simple/recursified_nested_4.c [2025-03-17 20:37:13,130 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f4cfdd29e/bb8964ad406d49c8b686eeae73be00e2/FLAG0cc1f4f7e [2025-03-17 20:37:13,356 INFO L384 CDTParser]: Found 1 translation units. [2025-03-17 20:37:13,357 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/recursified_loop-simple/recursified_nested_4.c [2025-03-17 20:37:13,362 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f4cfdd29e/bb8964ad406d49c8b686eeae73be00e2/FLAG0cc1f4f7e [2025-03-17 20:37:13,705 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f4cfdd29e/bb8964ad406d49c8b686eeae73be00e2 [2025-03-17 20:37:13,707 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-03-17 20:37:13,708 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-03-17 20:37:13,709 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-03-17 20:37:13,709 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-03-17 20:37:13,711 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-03-17 20:37:13,712 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.03 08:37:13" (1/1) ... [2025-03-17 20:37:13,713 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@48fd7703 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:37:13, skipping insertion in model container [2025-03-17 20:37:13,713 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.03 08:37:13" (1/1) ... [2025-03-17 20:37:13,725 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-03-17 20:37:13,823 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-17 20:37:13,833 INFO L200 MainTranslator]: Completed pre-run [2025-03-17 20:37:13,846 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-03-17 20:37:13,856 INFO L204 MainTranslator]: Completed translation [2025-03-17 20:37:13,856 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:37:13 WrapperNode [2025-03-17 20:37:13,856 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-03-17 20:37:13,857 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-03-17 20:37:13,857 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-03-17 20:37:13,857 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-03-17 20:37:13,863 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:37:13" (1/1) ... [2025-03-17 20:37:13,869 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:37:13" (1/1) ... [2025-03-17 20:37:13,881 INFO L138 Inliner]: procedures = 15, calls = 52, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 67 [2025-03-17 20:37:13,881 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-03-17 20:37:13,882 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-03-17 20:37:13,882 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-03-17 20:37:13,882 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-03-17 20:37:13,887 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:37:13" (1/1) ... [2025-03-17 20:37:13,887 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:37:13" (1/1) ... [2025-03-17 20:37:13,888 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:37:13" (1/1) ... [2025-03-17 20:37:13,899 INFO L175 MemorySlicer]: Split 26 memory accesses to 5 slices as follows [2, 6, 6, 6, 6]. 23 percent of accesses are in the largest equivalence class. The 6 initializations are split as follows [2, 1, 1, 1, 1]. The 8 writes are split as follows [0, 2, 2, 2, 2]. [2025-03-17 20:37:13,899 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:37:13" (1/1) ... [2025-03-17 20:37:13,900 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:37:13" (1/1) ... [2025-03-17 20:37:13,905 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:37:13" (1/1) ... [2025-03-17 20:37:13,906 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:37:13" (1/1) ... [2025-03-17 20:37:13,909 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:37:13" (1/1) ... [2025-03-17 20:37:13,910 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:37:13" (1/1) ... [2025-03-17 20:37:13,911 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-03-17 20:37:13,912 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-03-17 20:37:13,912 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-03-17 20:37:13,912 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-03-17 20:37:13,915 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:37:13" (1/1) ... [2025-03-17 20:37:13,919 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-03-17 20:37:13,928 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:37:13,939 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-03-17 20:37:13,941 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2025-03-17 20:37:13,958 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-03-17 20:37:13,958 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-03-17 20:37:13,958 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2025-03-17 20:37:13,958 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2025-03-17 20:37:13,959 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#3 [2025-03-17 20:37:13,959 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#4 [2025-03-17 20:37:13,959 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2025-03-17 20:37:13,959 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2025-03-17 20:37:13,959 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2025-03-17 20:37:13,959 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2025-03-17 20:37:13,959 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#3 [2025-03-17 20:37:13,959 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#4 [2025-03-17 20:37:13,959 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_24_to_25_0 [2025-03-17 20:37:13,959 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_24_to_25_0 [2025-03-17 20:37:13,959 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_23_to_24_0 [2025-03-17 20:37:13,959 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_23_to_24_0 [2025-03-17 20:37:13,959 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_22_to_23_0 [2025-03-17 20:37:13,959 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_22_to_23_0 [2025-03-17 20:37:13,959 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_25_to_25_0 [2025-03-17 20:37:13,959 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_25_to_25_0 [2025-03-17 20:37:13,959 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-03-17 20:37:13,959 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-03-17 20:37:13,959 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2025-03-17 20:37:13,959 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2025-03-17 20:37:13,959 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2025-03-17 20:37:13,959 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#3 [2025-03-17 20:37:13,959 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#4 [2025-03-17 20:37:13,959 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2025-03-17 20:37:14,027 INFO L256 CfgBuilder]: Building ICFG [2025-03-17 20:37:14,029 INFO L286 CfgBuilder]: Building CFG for each procedure with an implementation [2025-03-17 20:37:14,215 INFO L1322 $ProcedureCfgBuilder]: dead code at ProgramPoint L101: call ULTIMATE.dealloc(main_~#a~0#1.base, main_~#a~0#1.offset);havoc main_~#a~0#1.base, main_~#a~0#1.offset;call ULTIMATE.dealloc(main_~#b~0#1.base, main_~#b~0#1.offset);havoc main_~#b~0#1.base, main_~#b~0#1.offset;call ULTIMATE.dealloc(main_~#c~0#1.base, main_~#c~0#1.offset);havoc main_~#c~0#1.base, main_~#c~0#1.offset;call ULTIMATE.dealloc(main_~#d~0#1.base, main_~#d~0#1.offset);havoc main_~#d~0#1.base, main_~#d~0#1.offset; [2025-03-17 20:37:14,235 INFO L? ?]: Removed 12 outVars from TransFormulas that were not future-live. [2025-03-17 20:37:14,235 INFO L307 CfgBuilder]: Performing block encoding [2025-03-17 20:37:14,245 INFO L331 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-03-17 20:37:14,247 INFO L336 CfgBuilder]: Removed 0 assume(true) statements. [2025-03-17 20:37:14,247 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 17.03 08:37:14 BoogieIcfgContainer [2025-03-17 20:37:14,248 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-03-17 20:37:14,248 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2025-03-17 20:37:14,248 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2025-03-17 20:37:14,252 INFO L274 PluginConnector]: BuchiAutomizer initialized [2025-03-17 20:37:14,253 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-03-17 20:37:14,253 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 17.03 08:37:13" (1/3) ... [2025-03-17 20:37:14,254 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@6c3c74d7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 17.03 08:37:14, skipping insertion in model container [2025-03-17 20:37:14,254 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-03-17 20:37:14,254 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.03 08:37:13" (2/3) ... [2025-03-17 20:37:14,254 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@6c3c74d7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 17.03 08:37:14, skipping insertion in model container [2025-03-17 20:37:14,255 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-03-17 20:37:14,255 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 17.03 08:37:14" (3/3) ... [2025-03-17 20:37:14,256 INFO L363 chiAutomizerObserver]: Analyzing ICFG recursified_nested_4.c [2025-03-17 20:37:14,292 INFO L306 stractBuchiCegarLoop]: Interprodecural is true [2025-03-17 20:37:14,293 INFO L307 stractBuchiCegarLoop]: Hoare is None [2025-03-17 20:37:14,293 INFO L308 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2025-03-17 20:37:14,293 INFO L309 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2025-03-17 20:37:14,294 INFO L310 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2025-03-17 20:37:14,294 INFO L311 stractBuchiCegarLoop]: Difference is false [2025-03-17 20:37:14,294 INFO L312 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2025-03-17 20:37:14,294 INFO L316 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2025-03-17 20:37:14,298 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 39 states, 26 states have (on average 1.3076923076923077) internal successors, (34), 30 states have internal predecessors, (34), 8 states have call successors, (8), 4 states have call predecessors, (8), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2025-03-17 20:37:14,314 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-03-17 20:37:14,314 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:37:14,314 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:37:14,319 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-03-17 20:37:14,320 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-17 20:37:14,320 INFO L338 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2025-03-17 20:37:14,320 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 39 states, 26 states have (on average 1.3076923076923077) internal successors, (34), 30 states have internal predecessors, (34), 8 states have call successors, (8), 4 states have call predecessors, (8), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2025-03-17 20:37:14,323 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-03-17 20:37:14,323 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:37:14,323 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:37:14,324 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-03-17 20:37:14,324 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-17 20:37:14,328 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_#t~mem21#1, main_#t~short22#1, main_~#a~0#1.base, main_~#a~0#1.offset, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#1(6, main_~#a~0#1.base, main_~#a~0#1.offset, 4);call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#2(6, main_~#b~0#1.base, main_~#b~0#1.offset, 4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#3(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call write~int#1(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4);" "call func_to_recursive_line_22_to_23_0(main_~#b~0#1.base, main_~#b~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#a~0#1.base, main_~#a~0#1.offset);"< [2025-03-17 20:37:14,328 INFO L754 eck$LassoCheckResult]: Loop: "~b.base, ~b.offset := #in~b.base, #in~b.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;call #t~mem13 := read~int#1(~a.base, ~a.offset, 4);" "assume #t~mem13 < 6;havoc #t~mem13;call write~int#2(0, ~b.base, ~b.offset, 4);" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume !(#t~mem10 < 6);havoc #t~mem10;" "assume true;" >"#55#return;" "call #t~mem14 := read~int#1(~a.base, ~a.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#1(1 + #t~mem14, ~a.base, ~a.offset, 4);havoc #t~mem14;havoc #t~pre15;" "call func_to_recursive_line_22_to_23_0(~b.base, ~b.offset, ~d.base, ~d.offset, ~c.base, ~c.offset, ~a.base, ~a.offset);"< [2025-03-17 20:37:14,332 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:37:14,333 INFO L85 PathProgramCache]: Analyzing trace with hash 2321, now seen corresponding path program 1 times [2025-03-17 20:37:14,338 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:37:14,338 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1468439789] [2025-03-17 20:37:14,338 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:37:14,339 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:37:14,389 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:37:14,437 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:37:14,437 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:37:14,437 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:37:14,437 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:37:14,441 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:37:14,464 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:37:14,464 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:37:14,464 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:37:14,483 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:37:14,485 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:37:14,485 INFO L85 PathProgramCache]: Analyzing trace with hash 419302405, now seen corresponding path program 1 times [2025-03-17 20:37:14,485 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:37:14,485 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [746713942] [2025-03-17 20:37:14,486 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:37:14,486 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:37:14,493 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 9 statements into 1 equivalence classes. [2025-03-17 20:37:14,501 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 9 of 9 statements. [2025-03-17 20:37:14,501 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:37:14,501 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:37:14,742 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-03-17 20:37:14,742 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:37:14,742 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [746713942] [2025-03-17 20:37:14,744 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [746713942] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-17 20:37:14,744 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-17 20:37:14,744 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2025-03-17 20:37:14,745 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1680022512] [2025-03-17 20:37:14,745 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-17 20:37:14,748 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-03-17 20:37:14,748 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:37:14,769 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-03-17 20:37:14,769 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2025-03-17 20:37:14,771 INFO L87 Difference]: Start difference. First operand has 39 states, 26 states have (on average 1.3076923076923077) internal successors, (34), 30 states have internal predecessors, (34), 8 states have call successors, (8), 4 states have call predecessors, (8), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand has 6 states, 5 states have (on average 1.2) internal successors, (6), 5 states have internal predecessors, (6), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2025-03-17 20:37:14,957 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:37:14,958 INFO L93 Difference]: Finished difference Result 43 states and 54 transitions. [2025-03-17 20:37:14,959 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 43 states and 54 transitions. [2025-03-17 20:37:14,963 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-03-17 20:37:14,970 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 43 states to 28 states and 34 transitions. [2025-03-17 20:37:14,970 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 28 [2025-03-17 20:37:14,971 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 28 [2025-03-17 20:37:14,971 INFO L73 IsDeterministic]: Start isDeterministic. Operand 28 states and 34 transitions. [2025-03-17 20:37:14,973 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-03-17 20:37:14,973 INFO L218 hiAutomatonCegarLoop]: Abstraction has 28 states and 34 transitions. [2025-03-17 20:37:14,982 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states and 34 transitions. [2025-03-17 20:37:14,993 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 28. [2025-03-17 20:37:14,993 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 16 states have (on average 1.1875) internal successors, (19), 19 states have internal predecessors, (19), 8 states have call successors, (8), 4 states have call predecessors, (8), 4 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) [2025-03-17 20:37:14,994 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 34 transitions. [2025-03-17 20:37:14,995 INFO L240 hiAutomatonCegarLoop]: Abstraction has 28 states and 34 transitions. [2025-03-17 20:37:14,996 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-03-17 20:37:15,000 INFO L432 stractBuchiCegarLoop]: Abstraction has 28 states and 34 transitions. [2025-03-17 20:37:15,000 INFO L338 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2025-03-17 20:37:15,000 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 28 states and 34 transitions. [2025-03-17 20:37:15,001 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-03-17 20:37:15,001 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:37:15,001 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:37:15,001 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-03-17 20:37:15,001 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-03-17 20:37:15,002 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_#t~mem21#1, main_#t~short22#1, main_~#a~0#1.base, main_~#a~0#1.offset, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#1(6, main_~#a~0#1.base, main_~#a~0#1.offset, 4);call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#2(6, main_~#b~0#1.base, main_~#b~0#1.offset, 4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#3(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call write~int#1(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4);" "call func_to_recursive_line_22_to_23_0(main_~#b~0#1.base, main_~#b~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#a~0#1.base, main_~#a~0#1.offset);"< [2025-03-17 20:37:15,002 INFO L754 eck$LassoCheckResult]: Loop: "~b.base, ~b.offset := #in~b.base, #in~b.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;call #t~mem13 := read~int#1(~a.base, ~a.offset, 4);" "assume #t~mem13 < 6;havoc #t~mem13;call write~int#2(0, ~b.base, ~b.offset, 4);" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#3(0, ~c.base, ~c.offset, 4);" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume !(#t~mem7 < 6);havoc #t~mem7;" "assume true;" >"#51#return;" "call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12;" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume !(#t~mem10 < 6);havoc #t~mem10;" "assume true;" >"#49#return;" "assume true;" >"#55#return;" "call #t~mem14 := read~int#1(~a.base, ~a.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#1(1 + #t~mem14, ~a.base, ~a.offset, 4);havoc #t~mem14;havoc #t~pre15;" "call func_to_recursive_line_22_to_23_0(~b.base, ~b.offset, ~d.base, ~d.offset, ~c.base, ~c.offset, ~a.base, ~a.offset);"< [2025-03-17 20:37:15,002 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:37:15,002 INFO L85 PathProgramCache]: Analyzing trace with hash 2321, now seen corresponding path program 2 times [2025-03-17 20:37:15,002 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:37:15,003 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [764969605] [2025-03-17 20:37:15,003 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:37:15,003 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:37:15,014 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:37:15,028 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:37:15,031 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-17 20:37:15,032 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:37:15,032 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:37:15,035 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:37:15,047 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:37:15,047 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:37:15,048 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:37:15,053 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:37:15,055 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:37:15,055 INFO L85 PathProgramCache]: Analyzing trace with hash 684433827, now seen corresponding path program 1 times [2025-03-17 20:37:15,055 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:37:15,056 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [70941979] [2025-03-17 20:37:15,056 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:37:15,056 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:37:15,065 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 20 statements into 1 equivalence classes. [2025-03-17 20:37:15,072 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 20 of 20 statements. [2025-03-17 20:37:15,073 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:37:15,073 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:37:15,272 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2025-03-17 20:37:15,274 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:37:15,274 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [70941979] [2025-03-17 20:37:15,274 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [70941979] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-17 20:37:15,274 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-17 20:37:15,274 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2025-03-17 20:37:15,274 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2008603104] [2025-03-17 20:37:15,274 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-17 20:37:15,274 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-03-17 20:37:15,274 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:37:15,275 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-03-17 20:37:15,275 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2025-03-17 20:37:15,275 INFO L87 Difference]: Start difference. First operand 28 states and 34 transitions. cyclomatic complexity: 10 Second operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (3), 1 states have call predecessors, (3), 3 states have call successors, (3) [2025-03-17 20:37:15,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:37:15,383 INFO L93 Difference]: Finished difference Result 30 states and 36 transitions. [2025-03-17 20:37:15,383 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 30 states and 36 transitions. [2025-03-17 20:37:15,385 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-03-17 20:37:15,387 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 30 states to 30 states and 36 transitions. [2025-03-17 20:37:15,387 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 30 [2025-03-17 20:37:15,387 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 30 [2025-03-17 20:37:15,387 INFO L73 IsDeterministic]: Start isDeterministic. Operand 30 states and 36 transitions. [2025-03-17 20:37:15,387 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-03-17 20:37:15,387 INFO L218 hiAutomatonCegarLoop]: Abstraction has 30 states and 36 transitions. [2025-03-17 20:37:15,388 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states and 36 transitions. [2025-03-17 20:37:15,389 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2025-03-17 20:37:15,389 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 20 states have internal predecessors, (20), 8 states have call successors, (8), 4 states have call predecessors, (8), 5 states have return successors, (8), 6 states have call predecessors, (8), 6 states have call successors, (8) [2025-03-17 20:37:15,390 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 36 transitions. [2025-03-17 20:37:15,390 INFO L240 hiAutomatonCegarLoop]: Abstraction has 30 states and 36 transitions. [2025-03-17 20:37:15,390 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-03-17 20:37:15,391 INFO L432 stractBuchiCegarLoop]: Abstraction has 30 states and 36 transitions. [2025-03-17 20:37:15,391 INFO L338 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2025-03-17 20:37:15,391 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 30 states and 36 transitions. [2025-03-17 20:37:15,391 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-03-17 20:37:15,391 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:37:15,391 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:37:15,392 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-03-17 20:37:15,392 INFO L149 hiAutomatonCegarLoop]: Counterexample loop 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] [2025-03-17 20:37:15,392 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_#t~mem21#1, main_#t~short22#1, main_~#a~0#1.base, main_~#a~0#1.offset, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#1(6, main_~#a~0#1.base, main_~#a~0#1.offset, 4);call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#2(6, main_~#b~0#1.base, main_~#b~0#1.offset, 4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#3(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call write~int#1(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4);" "call func_to_recursive_line_22_to_23_0(main_~#b~0#1.base, main_~#b~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#a~0#1.base, main_~#a~0#1.offset);"< [2025-03-17 20:37:15,392 INFO L754 eck$LassoCheckResult]: Loop: "~b.base, ~b.offset := #in~b.base, #in~b.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;call #t~mem13 := read~int#1(~a.base, ~a.offset, 4);" "assume #t~mem13 < 6;havoc #t~mem13;call write~int#2(0, ~b.base, ~b.offset, 4);" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#3(0, ~c.base, ~c.offset, 4);" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume !(#t~mem7 < 6);havoc #t~mem7;" "assume true;" >"#45#return;" "assume true;" >"#51#return;" "call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12;" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume !(#t~mem10 < 6);havoc #t~mem10;" "assume true;" >"#49#return;" "assume true;" >"#55#return;" "call #t~mem14 := read~int#1(~a.base, ~a.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#1(1 + #t~mem14, ~a.base, ~a.offset, 4);havoc #t~mem14;havoc #t~pre15;" "call func_to_recursive_line_22_to_23_0(~b.base, ~b.offset, ~d.base, ~d.offset, ~c.base, ~c.offset, ~a.base, ~a.offset);"< [2025-03-17 20:37:15,393 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:37:15,393 INFO L85 PathProgramCache]: Analyzing trace with hash 2321, now seen corresponding path program 3 times [2025-03-17 20:37:15,393 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:37:15,393 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [934254894] [2025-03-17 20:37:15,393 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 20:37:15,393 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:37:15,400 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:37:15,408 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:37:15,409 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-03-17 20:37:15,409 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:37:15,409 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:37:15,413 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:37:15,418 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:37:15,420 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:37:15,420 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:37:15,425 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:37:15,425 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:37:15,426 INFO L85 PathProgramCache]: Analyzing trace with hash -437668800, now seen corresponding path program 1 times [2025-03-17 20:37:15,426 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:37:15,426 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1429335927] [2025-03-17 20:37:15,426 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:37:15,426 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:37:15,437 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 31 statements into 1 equivalence classes. [2025-03-17 20:37:15,443 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 31 of 31 statements. [2025-03-17 20:37:15,443 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:37:15,443 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:37:15,624 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2025-03-17 20:37:15,624 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:37:15,624 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1429335927] [2025-03-17 20:37:15,624 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1429335927] provided 1 perfect and 0 imperfect interpolant sequences [2025-03-17 20:37:15,624 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-03-17 20:37:15,624 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2025-03-17 20:37:15,625 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [364840135] [2025-03-17 20:37:15,625 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-03-17 20:37:15,625 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-03-17 20:37:15,625 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:37:15,625 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-03-17 20:37:15,625 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2025-03-17 20:37:15,625 INFO L87 Difference]: Start difference. First operand 30 states and 36 transitions. cyclomatic complexity: 10 Second operand has 6 states, 5 states have (on average 3.6) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (5), 1 states have call predecessors, (5), 3 states have call successors, (5) [2025-03-17 20:37:15,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:37:15,704 INFO L93 Difference]: Finished difference Result 32 states and 38 transitions. [2025-03-17 20:37:15,704 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 32 states and 38 transitions. [2025-03-17 20:37:15,705 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-03-17 20:37:15,706 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 32 states to 32 states and 38 transitions. [2025-03-17 20:37:15,708 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 32 [2025-03-17 20:37:15,708 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 32 [2025-03-17 20:37:15,709 INFO L73 IsDeterministic]: Start isDeterministic. Operand 32 states and 38 transitions. [2025-03-17 20:37:15,709 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-03-17 20:37:15,709 INFO L218 hiAutomatonCegarLoop]: Abstraction has 32 states and 38 transitions. [2025-03-17 20:37:15,709 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states and 38 transitions. [2025-03-17 20:37:15,710 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2025-03-17 20:37:15,711 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 21 states have internal predecessors, (21), 8 states have call successors, (8), 4 states have call predecessors, (8), 6 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) [2025-03-17 20:37:15,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 38 transitions. [2025-03-17 20:37:15,712 INFO L240 hiAutomatonCegarLoop]: Abstraction has 32 states and 38 transitions. [2025-03-17 20:37:15,713 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-03-17 20:37:15,713 INFO L432 stractBuchiCegarLoop]: Abstraction has 32 states and 38 transitions. [2025-03-17 20:37:15,713 INFO L338 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2025-03-17 20:37:15,713 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 32 states and 38 transitions. [2025-03-17 20:37:15,714 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-03-17 20:37:15,714 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:37:15,714 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:37:15,715 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-03-17 20:37:15,715 INFO L149 hiAutomatonCegarLoop]: Counterexample loop 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] [2025-03-17 20:37:15,715 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_#t~mem21#1, main_#t~short22#1, main_~#a~0#1.base, main_~#a~0#1.offset, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#1(6, main_~#a~0#1.base, main_~#a~0#1.offset, 4);call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#2(6, main_~#b~0#1.base, main_~#b~0#1.offset, 4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#3(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call write~int#1(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4);" "call func_to_recursive_line_22_to_23_0(main_~#b~0#1.base, main_~#b~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#a~0#1.base, main_~#a~0#1.offset);"< [2025-03-17 20:37:15,715 INFO L754 eck$LassoCheckResult]: Loop: "~b.base, ~b.offset := #in~b.base, #in~b.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;call #t~mem13 := read~int#1(~a.base, ~a.offset, 4);" "assume #t~mem13 < 6;havoc #t~mem13;call write~int#2(0, ~b.base, ~b.offset, 4);" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#3(0, ~c.base, ~c.offset, 4);" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume !(#t~mem7 < 6);havoc #t~mem7;" "assume true;" >"#45#return;" "assume true;" >"#51#return;" "call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12;" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume !(#t~mem10 < 6);havoc #t~mem10;" "assume true;" >"#49#return;" "assume true;" >"#55#return;" "call #t~mem14 := read~int#1(~a.base, ~a.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#1(1 + #t~mem14, ~a.base, ~a.offset, 4);havoc #t~mem14;havoc #t~pre15;" "call func_to_recursive_line_22_to_23_0(~b.base, ~b.offset, ~d.base, ~d.offset, ~c.base, ~c.offset, ~a.base, ~a.offset);"< [2025-03-17 20:37:15,715 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:37:15,715 INFO L85 PathProgramCache]: Analyzing trace with hash 2321, now seen corresponding path program 4 times [2025-03-17 20:37:15,716 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:37:15,716 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [609552717] [2025-03-17 20:37:15,716 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-17 20:37:15,716 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:37:15,721 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 2 statements into 2 equivalence classes. [2025-03-17 20:37:15,727 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:37:15,727 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-03-17 20:37:15,727 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:37:15,727 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:37:15,731 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:37:15,737 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:37:15,737 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:37:15,738 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:37:15,741 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:37:15,744 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:37:15,744 INFO L85 PathProgramCache]: Analyzing trace with hash -1125778188, now seen corresponding path program 1 times [2025-03-17 20:37:15,744 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:37:15,744 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1303541076] [2025-03-17 20:37:15,744 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:37:15,744 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:37:15,755 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 36 statements into 1 equivalence classes. [2025-03-17 20:37:15,762 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 36 of 36 statements. [2025-03-17 20:37:15,762 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:37:15,762 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:37:16,102 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2025-03-17 20:37:16,103 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:37:16,103 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1303541076] [2025-03-17 20:37:16,103 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1303541076] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:37:16,103 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1199941891] [2025-03-17 20:37:16,103 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-03-17 20:37:16,103 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:37:16,103 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:37:16,105 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:37:16,107 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2025-03-17 20:37:16,155 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 36 statements into 1 equivalence classes. [2025-03-17 20:37:16,183 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 36 of 36 statements. [2025-03-17 20:37:16,183 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:37:16,184 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:37:16,186 INFO L256 TraceCheckSpWp]: Trace formula consists of 279 conjuncts, 28 conjuncts are in the unsatisfiable core [2025-03-17 20:37:16,190 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:37:16,230 INFO L378 Elim1Store]: Elim1 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 15 treesize of output 1 [2025-03-17 20:37:16,362 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2025-03-17 20:37:16,362 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:37:16,881 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2025-03-17 20:37:16,881 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1199941891] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:37:16,881 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:37:16,881 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 10] total 22 [2025-03-17 20:37:16,881 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1974526412] [2025-03-17 20:37:16,881 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:37:16,882 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-03-17 20:37:16,882 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:37:16,882 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2025-03-17 20:37:16,882 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=95, Invalid=367, Unknown=0, NotChecked=0, Total=462 [2025-03-17 20:37:16,882 INFO L87 Difference]: Start difference. First operand 32 states and 38 transitions. cyclomatic complexity: 10 Second operand has 22 states, 16 states have (on average 2.375) internal successors, (38), 19 states have internal predecessors, (38), 8 states have call successors, (13), 5 states have call predecessors, (13), 7 states have return successors, (12), 4 states have call predecessors, (12), 8 states have call successors, (12) [2025-03-17 20:37:17,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:37:17,112 INFO L93 Difference]: Finished difference Result 36 states and 42 transitions. [2025-03-17 20:37:17,112 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 36 states and 42 transitions. [2025-03-17 20:37:17,113 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-03-17 20:37:17,115 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 36 states to 36 states and 42 transitions. [2025-03-17 20:37:17,115 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 36 [2025-03-17 20:37:17,115 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 36 [2025-03-17 20:37:17,115 INFO L73 IsDeterministic]: Start isDeterministic. Operand 36 states and 42 transitions. [2025-03-17 20:37:17,115 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-03-17 20:37:17,115 INFO L218 hiAutomatonCegarLoop]: Abstraction has 36 states and 42 transitions. [2025-03-17 20:37:17,115 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states and 42 transitions. [2025-03-17 20:37:17,119 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 36. [2025-03-17 20:37:17,119 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 20 states have (on average 1.15) internal successors, (23), 23 states have internal predecessors, (23), 8 states have call successors, (8), 4 states have call predecessors, (8), 8 states have return successors, (11), 8 states have call predecessors, (11), 6 states have call successors, (11) [2025-03-17 20:37:17,120 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 42 transitions. [2025-03-17 20:37:17,120 INFO L240 hiAutomatonCegarLoop]: Abstraction has 36 states and 42 transitions. [2025-03-17 20:37:17,120 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2025-03-17 20:37:17,120 INFO L432 stractBuchiCegarLoop]: Abstraction has 36 states and 42 transitions. [2025-03-17 20:37:17,121 INFO L338 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2025-03-17 20:37:17,121 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 36 states and 42 transitions. [2025-03-17 20:37:17,121 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-03-17 20:37:17,121 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:37:17,121 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:37:17,122 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-03-17 20:37:17,122 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [4, 4, 3, 3, 3, 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] [2025-03-17 20:37:17,122 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_#t~mem21#1, main_#t~short22#1, main_~#a~0#1.base, main_~#a~0#1.offset, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#1(6, main_~#a~0#1.base, main_~#a~0#1.offset, 4);call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#2(6, main_~#b~0#1.base, main_~#b~0#1.offset, 4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#3(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call write~int#1(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4);" "call func_to_recursive_line_22_to_23_0(main_~#b~0#1.base, main_~#b~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#a~0#1.base, main_~#a~0#1.offset);"< [2025-03-17 20:37:17,122 INFO L754 eck$LassoCheckResult]: Loop: "~b.base, ~b.offset := #in~b.base, #in~b.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;call #t~mem13 := read~int#1(~a.base, ~a.offset, 4);" "assume #t~mem13 < 6;havoc #t~mem13;call write~int#2(0, ~b.base, ~b.offset, 4);" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#3(0, ~c.base, ~c.offset, 4);" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume !(#t~mem7 < 6);havoc #t~mem7;" "assume true;" >"#45#return;" "assume true;" >"#51#return;" "call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12;" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume !(#t~mem10 < 6);havoc #t~mem10;" "assume true;" >"#49#return;" "assume true;" >"#55#return;" "call #t~mem14 := read~int#1(~a.base, ~a.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#1(1 + #t~mem14, ~a.base, ~a.offset, 4);havoc #t~mem14;havoc #t~pre15;" "call func_to_recursive_line_22_to_23_0(~b.base, ~b.offset, ~d.base, ~d.offset, ~c.base, ~c.offset, ~a.base, ~a.offset);"< [2025-03-17 20:37:17,123 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:37:17,123 INFO L85 PathProgramCache]: Analyzing trace with hash 2321, now seen corresponding path program 5 times [2025-03-17 20:37:17,123 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:37:17,123 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [652879732] [2025-03-17 20:37:17,123 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-17 20:37:17,123 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:37:17,128 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:37:17,137 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:37:17,137 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-17 20:37:17,137 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:37:17,137 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:37:17,139 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:37:17,141 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:37:17,141 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:37:17,141 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:37:17,143 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:37:17,144 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:37:17,144 INFO L85 PathProgramCache]: Analyzing trace with hash 1479132404, now seen corresponding path program 2 times [2025-03-17 20:37:17,144 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:37:17,144 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [5904296] [2025-03-17 20:37:17,144 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:37:17,144 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:37:17,151 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 46 statements into 2 equivalence classes. [2025-03-17 20:37:17,159 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 46 of 46 statements. [2025-03-17 20:37:17,160 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-17 20:37:17,160 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:37:17,673 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 4 proven. 15 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2025-03-17 20:37:17,673 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:37:17,673 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [5904296] [2025-03-17 20:37:17,673 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [5904296] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:37:17,673 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [264898551] [2025-03-17 20:37:17,673 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:37:17,673 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:37:17,673 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:37:17,678 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:37:17,682 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2025-03-17 20:37:17,737 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 46 statements into 2 equivalence classes. [2025-03-17 20:37:17,769 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 46 of 46 statements. [2025-03-17 20:37:17,770 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-17 20:37:17,770 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:37:17,772 INFO L256 TraceCheckSpWp]: Trace formula consists of 333 conjuncts, 28 conjuncts are in the unsatisfiable core [2025-03-17 20:37:17,774 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:37:17,785 INFO L378 Elim1Store]: Elim1 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 15 treesize of output 1 [2025-03-17 20:37:17,948 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2025-03-17 20:37:17,948 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:37:18,380 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 29 trivial. 0 not checked. [2025-03-17 20:37:18,380 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [264898551] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:37:18,380 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:37:18,380 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9, 10] total 26 [2025-03-17 20:37:18,380 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [640109038] [2025-03-17 20:37:18,380 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:37:18,381 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-03-17 20:37:18,381 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:37:18,381 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2025-03-17 20:37:18,382 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=553, Unknown=0, NotChecked=0, Total=650 [2025-03-17 20:37:18,382 INFO L87 Difference]: Start difference. First operand 36 states and 42 transitions. cyclomatic complexity: 10 Second operand has 26 states, 20 states have (on average 2.25) internal successors, (45), 22 states have internal predecessors, (45), 10 states have call successors, (15), 6 states have call predecessors, (15), 10 states have return successors, (16), 9 states have call predecessors, (16), 10 states have call successors, (16) [2025-03-17 20:37:18,820 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:37:18,820 INFO L93 Difference]: Finished difference Result 40 states and 46 transitions. [2025-03-17 20:37:18,820 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 40 states and 46 transitions. [2025-03-17 20:37:18,821 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-03-17 20:37:18,822 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 40 states to 40 states and 46 transitions. [2025-03-17 20:37:18,822 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 40 [2025-03-17 20:37:18,822 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 40 [2025-03-17 20:37:18,822 INFO L73 IsDeterministic]: Start isDeterministic. Operand 40 states and 46 transitions. [2025-03-17 20:37:18,823 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-03-17 20:37:18,823 INFO L218 hiAutomatonCegarLoop]: Abstraction has 40 states and 46 transitions. [2025-03-17 20:37:18,823 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states and 46 transitions. [2025-03-17 20:37:18,824 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 40. [2025-03-17 20:37:18,826 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 40 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 25 states have internal predecessors, (25), 8 states have call successors, (8), 4 states have call predecessors, (8), 10 states have return successors, (13), 10 states have call predecessors, (13), 6 states have call successors, (13) [2025-03-17 20:37:18,827 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 46 transitions. [2025-03-17 20:37:18,827 INFO L240 hiAutomatonCegarLoop]: Abstraction has 40 states and 46 transitions. [2025-03-17 20:37:18,828 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2025-03-17 20:37:18,828 INFO L432 stractBuchiCegarLoop]: Abstraction has 40 states and 46 transitions. [2025-03-17 20:37:18,828 INFO L338 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2025-03-17 20:37:18,828 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 40 states and 46 transitions. [2025-03-17 20:37:18,829 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-03-17 20:37:18,829 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:37:18,829 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:37:18,831 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-03-17 20:37:18,831 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [10, 10, 8, 8, 8, 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] [2025-03-17 20:37:18,831 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_#t~mem21#1, main_#t~short22#1, main_~#a~0#1.base, main_~#a~0#1.offset, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#1(6, main_~#a~0#1.base, main_~#a~0#1.offset, 4);call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#2(6, main_~#b~0#1.base, main_~#b~0#1.offset, 4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#3(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call write~int#1(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4);" "call func_to_recursive_line_22_to_23_0(main_~#b~0#1.base, main_~#b~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#a~0#1.base, main_~#a~0#1.offset);"< [2025-03-17 20:37:18,831 INFO L754 eck$LassoCheckResult]: Loop: "~b.base, ~b.offset := #in~b.base, #in~b.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;call #t~mem13 := read~int#1(~a.base, ~a.offset, 4);" "assume #t~mem13 < 6;havoc #t~mem13;call write~int#2(0, ~b.base, ~b.offset, 4);" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#3(0, ~c.base, ~c.offset, 4);" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume !(#t~mem7 < 6);havoc #t~mem7;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#51#return;" "call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12;" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume !(#t~mem10 < 6);havoc #t~mem10;" "assume true;" >"#49#return;" "assume true;" >"#55#return;" "call #t~mem14 := read~int#1(~a.base, ~a.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#1(1 + #t~mem14, ~a.base, ~a.offset, 4);havoc #t~mem14;havoc #t~pre15;" "call func_to_recursive_line_22_to_23_0(~b.base, ~b.offset, ~d.base, ~d.offset, ~c.base, ~c.offset, ~a.base, ~a.offset);"< [2025-03-17 20:37:18,831 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:37:18,831 INFO L85 PathProgramCache]: Analyzing trace with hash 2321, now seen corresponding path program 6 times [2025-03-17 20:37:18,832 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:37:18,832 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [343238507] [2025-03-17 20:37:18,832 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-17 20:37:18,832 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:37:18,837 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:37:18,841 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:37:18,841 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2025-03-17 20:37:18,841 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:37:18,841 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:37:18,843 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:37:18,845 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:37:18,845 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:37:18,845 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:37:18,847 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:37:18,847 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:37:18,847 INFO L85 PathProgramCache]: Analyzing trace with hash 700655217, now seen corresponding path program 3 times [2025-03-17 20:37:18,847 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:37:18,847 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1630832819] [2025-03-17 20:37:18,847 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 20:37:18,847 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:37:18,865 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 82 statements into 8 equivalence classes. [2025-03-17 20:37:18,870 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) and asserted 20 of 82 statements. [2025-03-17 20:37:18,870 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2025-03-17 20:37:18,870 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:37:19,049 INFO L134 CoverageAnalysis]: Checked inductivity of 227 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2025-03-17 20:37:19,049 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:37:19,049 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1630832819] [2025-03-17 20:37:19,049 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1630832819] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:37:19,049 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [15226811] [2025-03-17 20:37:19,049 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 20:37:19,049 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:37:19,049 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:37:19,052 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:37:19,054 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2025-03-17 20:37:19,114 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 82 statements into 8 equivalence classes. [2025-03-17 20:37:19,132 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) and asserted 20 of 82 statements. [2025-03-17 20:37:19,132 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2025-03-17 20:37:19,132 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:37:19,134 INFO L256 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 28 conjuncts are in the unsatisfiable core [2025-03-17 20:37:19,137 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:37:19,143 INFO L378 Elim1Store]: Elim1 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 15 treesize of output 1 [2025-03-17 20:37:19,241 INFO L134 CoverageAnalysis]: Checked inductivity of 227 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2025-03-17 20:37:19,242 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:37:19,595 INFO L134 CoverageAnalysis]: Checked inductivity of 227 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 223 trivial. 0 not checked. [2025-03-17 20:37:19,595 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [15226811] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:37:19,596 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:37:19,596 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9, 10] total 20 [2025-03-17 20:37:19,596 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [984954669] [2025-03-17 20:37:19,596 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:37:19,597 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-03-17 20:37:19,597 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:37:19,597 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2025-03-17 20:37:19,597 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=287, Unknown=0, NotChecked=0, Total=380 [2025-03-17 20:37:19,597 INFO L87 Difference]: Start difference. First operand 40 states and 46 transitions. cyclomatic complexity: 10 Second operand has 20 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 17 states have internal predecessors, (32), 9 states have call successors, (11), 5 states have call predecessors, (11), 5 states have return successors, (11), 6 states have call predecessors, (11), 8 states have call successors, (11) [2025-03-17 20:37:19,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:37:19,764 INFO L93 Difference]: Finished difference Result 42 states and 48 transitions. [2025-03-17 20:37:19,765 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 42 states and 48 transitions. [2025-03-17 20:37:19,765 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-03-17 20:37:19,766 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 42 states to 42 states and 48 transitions. [2025-03-17 20:37:19,766 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 42 [2025-03-17 20:37:19,766 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 42 [2025-03-17 20:37:19,766 INFO L73 IsDeterministic]: Start isDeterministic. Operand 42 states and 48 transitions. [2025-03-17 20:37:19,766 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-03-17 20:37:19,766 INFO L218 hiAutomatonCegarLoop]: Abstraction has 42 states and 48 transitions. [2025-03-17 20:37:19,766 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states and 48 transitions. [2025-03-17 20:37:19,770 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 42. [2025-03-17 20:37:19,770 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 26 states have internal predecessors, (26), 8 states have call successors, (8), 4 states have call predecessors, (8), 11 states have return successors, (14), 11 states have call predecessors, (14), 6 states have call successors, (14) [2025-03-17 20:37:19,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 48 transitions. [2025-03-17 20:37:19,771 INFO L240 hiAutomatonCegarLoop]: Abstraction has 42 states and 48 transitions. [2025-03-17 20:37:19,773 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2025-03-17 20:37:19,773 INFO L432 stractBuchiCegarLoop]: Abstraction has 42 states and 48 transitions. [2025-03-17 20:37:19,773 INFO L338 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2025-03-17 20:37:19,773 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 42 states and 48 transitions. [2025-03-17 20:37:19,774 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-03-17 20:37:19,774 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:37:19,774 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:37:19,778 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-03-17 20:37:19,778 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [20, 20, 16, 16, 16, 6, 6, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2025-03-17 20:37:19,778 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_#t~mem21#1, main_#t~short22#1, main_~#a~0#1.base, main_~#a~0#1.offset, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#1(6, main_~#a~0#1.base, main_~#a~0#1.offset, 4);call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#2(6, main_~#b~0#1.base, main_~#b~0#1.offset, 4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#3(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call write~int#1(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4);" "call func_to_recursive_line_22_to_23_0(main_~#b~0#1.base, main_~#b~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#a~0#1.base, main_~#a~0#1.offset);"< [2025-03-17 20:37:19,778 INFO L754 eck$LassoCheckResult]: Loop: "~b.base, ~b.offset := #in~b.base, #in~b.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;call #t~mem13 := read~int#1(~a.base, ~a.offset, 4);" "assume #t~mem13 < 6;havoc #t~mem13;call write~int#2(0, ~b.base, ~b.offset, 4);" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#3(0, ~c.base, ~c.offset, 4);" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume !(#t~mem7 < 6);havoc #t~mem7;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#51#return;" "call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12;" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#3(0, ~c.base, ~c.offset, 4);" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume !(#t~mem7 < 6);havoc #t~mem7;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#51#return;" "call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12;" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume !(#t~mem10 < 6);havoc #t~mem10;" "assume true;" >"#49#return;" "assume true;" >"#49#return;" "assume true;" >"#55#return;" "call #t~mem14 := read~int#1(~a.base, ~a.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#1(1 + #t~mem14, ~a.base, ~a.offset, 4);havoc #t~mem14;havoc #t~pre15;" "call func_to_recursive_line_22_to_23_0(~b.base, ~b.offset, ~d.base, ~d.offset, ~c.base, ~c.offset, ~a.base, ~a.offset);"< [2025-03-17 20:37:19,778 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:37:19,779 INFO L85 PathProgramCache]: Analyzing trace with hash 2321, now seen corresponding path program 7 times [2025-03-17 20:37:19,779 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:37:19,779 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [929727896] [2025-03-17 20:37:19,779 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-17 20:37:19,779 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:37:19,787 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:37:19,791 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:37:19,791 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:37:19,791 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:37:19,791 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:37:19,792 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:37:19,797 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:37:19,797 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:37:19,797 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:37:19,800 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:37:19,800 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:37:19,801 INFO L85 PathProgramCache]: Analyzing trace with hash 236282509, now seen corresponding path program 4 times [2025-03-17 20:37:19,801 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:37:19,801 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2134916280] [2025-03-17 20:37:19,801 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-17 20:37:19,801 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:37:19,833 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 155 statements into 2 equivalence classes. [2025-03-17 20:37:19,860 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 155 of 155 statements. [2025-03-17 20:37:19,860 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-03-17 20:37:19,860 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:37:20,996 INFO L134 CoverageAnalysis]: Checked inductivity of 973 backedges. 13 proven. 392 refuted. 0 times theorem prover too weak. 568 trivial. 0 not checked. [2025-03-17 20:37:20,997 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:37:20,997 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2134916280] [2025-03-17 20:37:20,997 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2134916280] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:37:20,997 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2077460200] [2025-03-17 20:37:20,997 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-17 20:37:21,000 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:37:21,000 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:37:21,002 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:37:21,004 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2025-03-17 20:37:21,081 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 155 statements into 2 equivalence classes. [2025-03-17 20:37:21,163 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 155 of 155 statements. [2025-03-17 20:37:21,163 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-03-17 20:37:21,163 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:37:21,167 INFO L256 TraceCheckSpWp]: Trace formula consists of 960 conjuncts, 89 conjuncts are in the unsatisfiable core [2025-03-17 20:37:21,178 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:37:21,205 INFO L378 Elim1Store]: Elim1 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 15 treesize of output 1 [2025-03-17 20:37:21,491 INFO L134 CoverageAnalysis]: Checked inductivity of 973 backedges. 366 proven. 24 refuted. 0 times theorem prover too weak. 583 trivial. 0 not checked. [2025-03-17 20:37:21,491 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:37:23,579 INFO L134 CoverageAnalysis]: Checked inductivity of 973 backedges. 8 proven. 411 refuted. 0 times theorem prover too weak. 554 trivial. 0 not checked. [2025-03-17 20:37:23,579 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2077460200] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:37:23,579 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:37:23,579 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 14, 22] total 41 [2025-03-17 20:37:23,579 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [404598474] [2025-03-17 20:37:23,579 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:37:23,580 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-03-17 20:37:23,580 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:37:23,580 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 41 interpolants. [2025-03-17 20:37:23,581 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=303, Invalid=1337, Unknown=0, NotChecked=0, Total=1640 [2025-03-17 20:37:23,581 INFO L87 Difference]: Start difference. First operand 42 states and 48 transitions. cyclomatic complexity: 10 Second operand has 41 states, 31 states have (on average 2.225806451612903) internal successors, (69), 35 states have internal predecessors, (69), 13 states have call successors, (25), 8 states have call predecessors, (25), 13 states have return successors, (30), 11 states have call predecessors, (30), 13 states have call successors, (30) [2025-03-17 20:37:23,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:37:23,941 INFO L93 Difference]: Finished difference Result 46 states and 52 transitions. [2025-03-17 20:37:23,941 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 46 states and 52 transitions. [2025-03-17 20:37:23,942 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-03-17 20:37:23,942 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 46 states to 46 states and 52 transitions. [2025-03-17 20:37:23,942 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 46 [2025-03-17 20:37:23,943 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 46 [2025-03-17 20:37:23,943 INFO L73 IsDeterministic]: Start isDeterministic. Operand 46 states and 52 transitions. [2025-03-17 20:37:23,943 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-03-17 20:37:23,943 INFO L218 hiAutomatonCegarLoop]: Abstraction has 46 states and 52 transitions. [2025-03-17 20:37:23,943 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states and 52 transitions. [2025-03-17 20:37:23,946 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2025-03-17 20:37:23,946 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 25 states have (on average 1.12) internal successors, (28), 28 states have internal predecessors, (28), 8 states have call successors, (8), 4 states have call predecessors, (8), 13 states have return successors, (16), 13 states have call predecessors, (16), 6 states have call successors, (16) [2025-03-17 20:37:23,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 52 transitions. [2025-03-17 20:37:23,946 INFO L240 hiAutomatonCegarLoop]: Abstraction has 46 states and 52 transitions. [2025-03-17 20:37:23,946 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2025-03-17 20:37:23,947 INFO L432 stractBuchiCegarLoop]: Abstraction has 46 states and 52 transitions. [2025-03-17 20:37:23,947 INFO L338 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2025-03-17 20:37:23,947 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 46 states and 52 transitions. [2025-03-17 20:37:23,947 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-03-17 20:37:23,947 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:37:23,947 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:37:23,949 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-03-17 20:37:23,949 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [28, 28, 24, 24, 24, 6, 6, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2025-03-17 20:37:23,949 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_#t~mem21#1, main_#t~short22#1, main_~#a~0#1.base, main_~#a~0#1.offset, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#1(6, main_~#a~0#1.base, main_~#a~0#1.offset, 4);call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#2(6, main_~#b~0#1.base, main_~#b~0#1.offset, 4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#3(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call write~int#1(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4);" "call func_to_recursive_line_22_to_23_0(main_~#b~0#1.base, main_~#b~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#a~0#1.base, main_~#a~0#1.offset);"< [2025-03-17 20:37:23,950 INFO L754 eck$LassoCheckResult]: Loop: "~b.base, ~b.offset := #in~b.base, #in~b.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;call #t~mem13 := read~int#1(~a.base, ~a.offset, 4);" "assume #t~mem13 < 6;havoc #t~mem13;call write~int#2(0, ~b.base, ~b.offset, 4);" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#3(0, ~c.base, ~c.offset, 4);" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume !(#t~mem7 < 6);havoc #t~mem7;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#51#return;" "call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12;" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#3(0, ~c.base, ~c.offset, 4);" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume !(#t~mem7 < 6);havoc #t~mem7;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#51#return;" "call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12;" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume !(#t~mem10 < 6);havoc #t~mem10;" "assume true;" >"#49#return;" "assume true;" >"#49#return;" "assume true;" >"#55#return;" "call #t~mem14 := read~int#1(~a.base, ~a.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#1(1 + #t~mem14, ~a.base, ~a.offset, 4);havoc #t~mem14;havoc #t~pre15;" "call func_to_recursive_line_22_to_23_0(~b.base, ~b.offset, ~d.base, ~d.offset, ~c.base, ~c.offset, ~a.base, ~a.offset);"< [2025-03-17 20:37:23,950 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:37:23,950 INFO L85 PathProgramCache]: Analyzing trace with hash 2321, now seen corresponding path program 8 times [2025-03-17 20:37:23,950 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:37:23,951 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1980524164] [2025-03-17 20:37:23,951 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:37:23,951 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:37:23,954 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:37:23,960 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:37:23,960 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-17 20:37:23,960 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:37:23,960 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:37:23,961 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:37:23,965 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:37:23,965 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:37:23,965 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:37:23,967 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:37:23,968 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:37:23,968 INFO L85 PathProgramCache]: Analyzing trace with hash 250173069, now seen corresponding path program 5 times [2025-03-17 20:37:23,968 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:37:23,968 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [156173359] [2025-03-17 20:37:23,968 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-17 20:37:23,968 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:37:23,994 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 195 statements into 11 equivalence classes. [2025-03-17 20:37:24,097 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 9 check-sat command(s) and asserted 175 of 195 statements. [2025-03-17 20:37:24,097 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 9 check-sat command(s) [2025-03-17 20:37:24,097 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:37:24,753 INFO L134 CoverageAnalysis]: Checked inductivity of 1881 backedges. 8 proven. 59 refuted. 0 times theorem prover too weak. 1814 trivial. 0 not checked. [2025-03-17 20:37:24,753 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:37:24,753 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [156173359] [2025-03-17 20:37:24,753 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [156173359] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:37:24,753 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [58067760] [2025-03-17 20:37:24,753 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-17 20:37:24,753 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:37:24,753 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:37:24,756 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:37:24,757 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2025-03-17 20:37:24,854 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 195 statements into 11 equivalence classes. [2025-03-17 20:37:25,487 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 9 check-sat command(s) and asserted 175 of 195 statements. [2025-03-17 20:37:25,487 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 9 check-sat command(s) [2025-03-17 20:37:25,487 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:37:25,497 INFO L256 TraceCheckSpWp]: Trace formula consists of 990 conjuncts, 43 conjuncts are in the unsatisfiable core [2025-03-17 20:37:25,503 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:37:25,510 INFO L378 Elim1Store]: Elim1 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 15 treesize of output 1 [2025-03-17 20:37:25,657 INFO L134 CoverageAnalysis]: Checked inductivity of 1881 backedges. 981 proven. 8 refuted. 0 times theorem prover too weak. 892 trivial. 0 not checked. [2025-03-17 20:37:25,657 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:37:26,467 INFO L134 CoverageAnalysis]: Checked inductivity of 1881 backedges. 4 proven. 66 refuted. 0 times theorem prover too weak. 1811 trivial. 0 not checked. [2025-03-17 20:37:26,467 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [58067760] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:37:26,467 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:37:26,467 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10, 14] total 28 [2025-03-17 20:37:26,467 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [644375239] [2025-03-17 20:37:26,467 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:37:26,468 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-03-17 20:37:26,468 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:37:26,468 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2025-03-17 20:37:26,468 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=150, Invalid=606, Unknown=0, NotChecked=0, Total=756 [2025-03-17 20:37:26,468 INFO L87 Difference]: Start difference. First operand 46 states and 52 transitions. cyclomatic complexity: 10 Second operand has 28 states, 20 states have (on average 3.0) internal successors, (60), 24 states have internal predecessors, (60), 14 states have call successors, (25), 6 states have call predecessors, (25), 9 states have return successors, (25), 11 states have call predecessors, (25), 14 states have call successors, (25) [2025-03-17 20:37:26,677 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:37:26,677 INFO L93 Difference]: Finished difference Result 50 states and 56 transitions. [2025-03-17 20:37:26,677 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 50 states and 56 transitions. [2025-03-17 20:37:26,678 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-03-17 20:37:26,678 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 50 states to 50 states and 56 transitions. [2025-03-17 20:37:26,678 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 50 [2025-03-17 20:37:26,678 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 50 [2025-03-17 20:37:26,678 INFO L73 IsDeterministic]: Start isDeterministic. Operand 50 states and 56 transitions. [2025-03-17 20:37:26,679 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-03-17 20:37:26,679 INFO L218 hiAutomatonCegarLoop]: Abstraction has 50 states and 56 transitions. [2025-03-17 20:37:26,679 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states and 56 transitions. [2025-03-17 20:37:26,680 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2025-03-17 20:37:26,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 30 states have internal predecessors, (30), 8 states have call successors, (8), 4 states have call predecessors, (8), 15 states have return successors, (18), 15 states have call predecessors, (18), 6 states have call successors, (18) [2025-03-17 20:37:26,681 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 56 transitions. [2025-03-17 20:37:26,681 INFO L240 hiAutomatonCegarLoop]: Abstraction has 50 states and 56 transitions. [2025-03-17 20:37:26,683 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2025-03-17 20:37:26,683 INFO L432 stractBuchiCegarLoop]: Abstraction has 50 states and 56 transitions. [2025-03-17 20:37:26,683 INFO L338 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2025-03-17 20:37:26,683 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 50 states and 56 transitions. [2025-03-17 20:37:26,684 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-03-17 20:37:26,684 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:37:26,684 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:37:26,685 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-03-17 20:37:26,686 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [56, 56, 48, 48, 48, 10, 10, 8, 8, 8, 8, 8, 8, 8, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2025-03-17 20:37:26,686 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_#t~mem21#1, main_#t~short22#1, main_~#a~0#1.base, main_~#a~0#1.offset, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#1(6, main_~#a~0#1.base, main_~#a~0#1.offset, 4);call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#2(6, main_~#b~0#1.base, main_~#b~0#1.offset, 4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#3(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call write~int#1(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4);" "call func_to_recursive_line_22_to_23_0(main_~#b~0#1.base, main_~#b~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#a~0#1.base, main_~#a~0#1.offset);"< [2025-03-17 20:37:26,686 INFO L754 eck$LassoCheckResult]: Loop: "~b.base, ~b.offset := #in~b.base, #in~b.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;call #t~mem13 := read~int#1(~a.base, ~a.offset, 4);" "assume #t~mem13 < 6;havoc #t~mem13;call write~int#2(0, ~b.base, ~b.offset, 4);" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#3(0, ~c.base, ~c.offset, 4);" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume !(#t~mem7 < 6);havoc #t~mem7;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#51#return;" "call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12;" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#3(0, ~c.base, ~c.offset, 4);" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume !(#t~mem7 < 6);havoc #t~mem7;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#51#return;" "call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12;" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume !(#t~mem10 < 6);havoc #t~mem10;" "assume true;" >"#49#return;" "assume true;" >"#49#return;" "assume true;" >"#55#return;" "call #t~mem14 := read~int#1(~a.base, ~a.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#1(1 + #t~mem14, ~a.base, ~a.offset, 4);havoc #t~mem14;havoc #t~pre15;" "call func_to_recursive_line_22_to_23_0(~b.base, ~b.offset, ~d.base, ~d.offset, ~c.base, ~c.offset, ~a.base, ~a.offset);"< [2025-03-17 20:37:26,687 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:37:26,687 INFO L85 PathProgramCache]: Analyzing trace with hash 2321, now seen corresponding path program 9 times [2025-03-17 20:37:26,687 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:37:26,687 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [799886251] [2025-03-17 20:37:26,687 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 20:37:26,687 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:37:26,691 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:37:26,693 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:37:26,693 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-03-17 20:37:26,693 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:37:26,693 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:37:26,697 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:37:26,699 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:37:26,699 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:37:26,699 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:37:26,702 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:37:26,702 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:37:26,702 INFO L85 PathProgramCache]: Analyzing trace with hash 675211085, now seen corresponding path program 6 times [2025-03-17 20:37:26,702 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:37:26,702 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1913989667] [2025-03-17 20:37:26,702 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-17 20:37:26,702 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:37:26,726 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 359 statements into 22 equivalence classes. [2025-03-17 20:37:26,732 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) and asserted 48 of 359 statements. [2025-03-17 20:37:26,732 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2025-03-17 20:37:26,732 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:37:26,969 INFO L134 CoverageAnalysis]: Checked inductivity of 7567 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 7558 trivial. 0 not checked. [2025-03-17 20:37:26,969 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:37:26,969 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1913989667] [2025-03-17 20:37:26,969 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1913989667] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:37:26,969 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [587021660] [2025-03-17 20:37:26,969 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-17 20:37:26,969 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:37:26,970 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:37:26,971 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:37:26,973 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2025-03-17 20:37:27,102 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 359 statements into 22 equivalence classes. [2025-03-17 20:37:27,128 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) and asserted 48 of 359 statements. [2025-03-17 20:37:27,128 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2025-03-17 20:37:27,128 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:37:27,130 INFO L256 TraceCheckSpWp]: Trace formula consists of 342 conjuncts, 43 conjuncts are in the unsatisfiable core [2025-03-17 20:37:27,136 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:37:27,142 INFO L378 Elim1Store]: Elim1 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 15 treesize of output 1 [2025-03-17 20:37:27,274 INFO L134 CoverageAnalysis]: Checked inductivity of 7567 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 7559 trivial. 0 not checked. [2025-03-17 20:37:27,274 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:37:28,379 INFO L134 CoverageAnalysis]: Checked inductivity of 7567 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 7552 trivial. 0 not checked. [2025-03-17 20:37:28,379 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [587021660] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:37:28,379 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:37:28,380 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10, 14] total 25 [2025-03-17 20:37:28,380 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [69442591] [2025-03-17 20:37:28,380 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:37:28,380 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-03-17 20:37:28,380 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:37:28,380 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2025-03-17 20:37:28,381 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=141, Invalid=459, Unknown=0, NotChecked=0, Total=600 [2025-03-17 20:37:28,381 INFO L87 Difference]: Start difference. First operand 50 states and 56 transitions. cyclomatic complexity: 10 Second operand has 25 states, 19 states have (on average 1.9473684210526316) internal successors, (37), 21 states have internal predecessors, (37), 11 states have call successors, (13), 6 states have call predecessors, (13), 7 states have return successors, (15), 9 states have call predecessors, (15), 10 states have call successors, (15) [2025-03-17 20:37:28,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:37:28,557 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2025-03-17 20:37:28,557 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 52 states and 58 transitions. [2025-03-17 20:37:28,558 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-03-17 20:37:28,559 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 52 states to 52 states and 58 transitions. [2025-03-17 20:37:28,559 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 52 [2025-03-17 20:37:28,559 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 52 [2025-03-17 20:37:28,559 INFO L73 IsDeterministic]: Start isDeterministic. Operand 52 states and 58 transitions. [2025-03-17 20:37:28,559 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-03-17 20:37:28,559 INFO L218 hiAutomatonCegarLoop]: Abstraction has 52 states and 58 transitions. [2025-03-17 20:37:28,559 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states and 58 transitions. [2025-03-17 20:37:28,561 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2025-03-17 20:37:28,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 28 states have (on average 1.1071428571428572) internal successors, (31), 31 states have internal predecessors, (31), 8 states have call successors, (8), 4 states have call predecessors, (8), 16 states have return successors, (19), 16 states have call predecessors, (19), 6 states have call successors, (19) [2025-03-17 20:37:28,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 58 transitions. [2025-03-17 20:37:28,562 INFO L240 hiAutomatonCegarLoop]: Abstraction has 52 states and 58 transitions. [2025-03-17 20:37:28,562 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2025-03-17 20:37:28,562 INFO L432 stractBuchiCegarLoop]: Abstraction has 52 states and 58 transitions. [2025-03-17 20:37:28,562 INFO L338 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2025-03-17 20:37:28,562 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 52 states and 58 transitions. [2025-03-17 20:37:28,563 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-03-17 20:37:28,563 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:37:28,563 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:37:28,565 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-03-17 20:37:28,565 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [84, 84, 72, 72, 72, 15, 15, 12, 12, 12, 12, 12, 12, 12, 4, 4, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1] [2025-03-17 20:37:28,565 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_#t~mem21#1, main_#t~short22#1, main_~#a~0#1.base, main_~#a~0#1.offset, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#1(6, main_~#a~0#1.base, main_~#a~0#1.offset, 4);call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#2(6, main_~#b~0#1.base, main_~#b~0#1.offset, 4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#3(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call write~int#1(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4);" "call func_to_recursive_line_22_to_23_0(main_~#b~0#1.base, main_~#b~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#a~0#1.base, main_~#a~0#1.offset);"< [2025-03-17 20:37:28,566 INFO L754 eck$LassoCheckResult]: Loop: "~b.base, ~b.offset := #in~b.base, #in~b.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;call #t~mem13 := read~int#1(~a.base, ~a.offset, 4);" "assume #t~mem13 < 6;havoc #t~mem13;call write~int#2(0, ~b.base, ~b.offset, 4);" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#3(0, ~c.base, ~c.offset, 4);" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume !(#t~mem7 < 6);havoc #t~mem7;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#51#return;" "call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12;" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#3(0, ~c.base, ~c.offset, 4);" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume !(#t~mem7 < 6);havoc #t~mem7;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#51#return;" "call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12;" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#3(0, ~c.base, ~c.offset, 4);" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume !(#t~mem7 < 6);havoc #t~mem7;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#51#return;" "call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12;" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume !(#t~mem10 < 6);havoc #t~mem10;" "assume true;" >"#49#return;" "assume true;" >"#49#return;" "assume true;" >"#49#return;" "assume true;" >"#55#return;" "call #t~mem14 := read~int#1(~a.base, ~a.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#1(1 + #t~mem14, ~a.base, ~a.offset, 4);havoc #t~mem14;havoc #t~pre15;" "call func_to_recursive_line_22_to_23_0(~b.base, ~b.offset, ~d.base, ~d.offset, ~c.base, ~c.offset, ~a.base, ~a.offset);"< [2025-03-17 20:37:28,568 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:37:28,568 INFO L85 PathProgramCache]: Analyzing trace with hash 2321, now seen corresponding path program 10 times [2025-03-17 20:37:28,568 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:37:28,568 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [116916736] [2025-03-17 20:37:28,568 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-03-17 20:37:28,569 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:37:28,574 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 2 statements into 2 equivalence classes. [2025-03-17 20:37:28,579 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:37:28,579 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-03-17 20:37:28,579 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:37:28,579 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:37:28,580 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:37:28,582 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:37:28,583 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:37:28,583 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:37:28,585 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:37:28,585 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:37:28,585 INFO L85 PathProgramCache]: Analyzing trace with hash 1944936967, now seen corresponding path program 7 times [2025-03-17 20:37:28,585 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:37:28,586 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1287617596] [2025-03-17 20:37:28,586 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-17 20:37:28,586 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:37:28,638 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 534 statements into 1 equivalence classes. [2025-03-17 20:37:28,740 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 534 of 534 statements. [2025-03-17 20:37:28,741 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:37:28,741 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:37:31,505 INFO L134 CoverageAnalysis]: Checked inductivity of 17151 backedges. 18 proven. 326 refuted. 0 times theorem prover too weak. 16807 trivial. 0 not checked. [2025-03-17 20:37:31,505 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:37:31,505 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1287617596] [2025-03-17 20:37:31,505 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1287617596] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:37:31,505 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [970820638] [2025-03-17 20:37:31,505 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-03-17 20:37:31,505 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:37:31,505 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:37:31,509 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:37:31,510 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2025-03-17 20:37:31,688 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 534 statements into 1 equivalence classes. [2025-03-17 20:37:31,918 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 534 of 534 statements. [2025-03-17 20:37:31,918 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:37:31,918 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:37:31,931 INFO L256 TraceCheckSpWp]: Trace formula consists of 3068 conjuncts, 67 conjuncts are in the unsatisfiable core [2025-03-17 20:37:31,939 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:37:31,945 INFO L378 Elim1Store]: Elim1 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 15 treesize of output 1 [2025-03-17 20:37:32,190 INFO L134 CoverageAnalysis]: Checked inductivity of 17151 backedges. 7728 proven. 24 refuted. 0 times theorem prover too weak. 9399 trivial. 0 not checked. [2025-03-17 20:37:32,190 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:37:34,567 INFO L134 CoverageAnalysis]: Checked inductivity of 17151 backedges. 6 proven. 360 refuted. 0 times theorem prover too weak. 16785 trivial. 0 not checked. [2025-03-17 20:37:34,567 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [970820638] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:37:34,567 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:37:34,567 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 12, 22] total 40 [2025-03-17 20:37:34,568 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [751096930] [2025-03-17 20:37:34,568 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:37:34,568 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-03-17 20:37:34,568 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:37:34,569 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 40 interpolants. [2025-03-17 20:37:34,570 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=313, Invalid=1247, Unknown=0, NotChecked=0, Total=1560 [2025-03-17 20:37:34,570 INFO L87 Difference]: Start difference. First operand 52 states and 58 transitions. cyclomatic complexity: 10 Second operand has 40 states, 30 states have (on average 2.4) internal successors, (72), 34 states have internal predecessors, (72), 18 states have call successors, (29), 8 states have call predecessors, (29), 13 states have return successors, (33), 17 states have call predecessors, (33), 18 states have call successors, (33) [2025-03-17 20:37:34,958 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:37:34,958 INFO L93 Difference]: Finished difference Result 56 states and 62 transitions. [2025-03-17 20:37:34,958 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 56 states and 62 transitions. [2025-03-17 20:37:34,959 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-03-17 20:37:34,960 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 56 states to 56 states and 62 transitions. [2025-03-17 20:37:34,960 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 56 [2025-03-17 20:37:34,960 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 56 [2025-03-17 20:37:34,960 INFO L73 IsDeterministic]: Start isDeterministic. Operand 56 states and 62 transitions. [2025-03-17 20:37:34,960 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-03-17 20:37:34,960 INFO L218 hiAutomatonCegarLoop]: Abstraction has 56 states and 62 transitions. [2025-03-17 20:37:34,961 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states and 62 transitions. [2025-03-17 20:37:34,964 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 56. [2025-03-17 20:37:34,964 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 30 states have (on average 1.1) internal successors, (33), 33 states have internal predecessors, (33), 8 states have call successors, (8), 4 states have call predecessors, (8), 18 states have return successors, (21), 18 states have call predecessors, (21), 6 states have call successors, (21) [2025-03-17 20:37:34,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 62 transitions. [2025-03-17 20:37:34,964 INFO L240 hiAutomatonCegarLoop]: Abstraction has 56 states and 62 transitions. [2025-03-17 20:37:34,965 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2025-03-17 20:37:34,965 INFO L432 stractBuchiCegarLoop]: Abstraction has 56 states and 62 transitions. [2025-03-17 20:37:34,965 INFO L338 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2025-03-17 20:37:34,965 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 56 states and 62 transitions. [2025-03-17 20:37:34,966 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-03-17 20:37:34,966 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:37:34,966 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:37:34,969 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-03-17 20:37:34,969 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [126, 126, 108, 108, 108, 21, 21, 18, 18, 18, 18, 18, 18, 18, 4, 4, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1] [2025-03-17 20:37:34,970 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_#t~mem21#1, main_#t~short22#1, main_~#a~0#1.base, main_~#a~0#1.offset, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#1(6, main_~#a~0#1.base, main_~#a~0#1.offset, 4);call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#2(6, main_~#b~0#1.base, main_~#b~0#1.offset, 4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#3(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call write~int#1(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4);" "call func_to_recursive_line_22_to_23_0(main_~#b~0#1.base, main_~#b~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#a~0#1.base, main_~#a~0#1.offset);"< [2025-03-17 20:37:34,970 INFO L754 eck$LassoCheckResult]: Loop: "~b.base, ~b.offset := #in~b.base, #in~b.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;call #t~mem13 := read~int#1(~a.base, ~a.offset, 4);" "assume #t~mem13 < 6;havoc #t~mem13;call write~int#2(0, ~b.base, ~b.offset, 4);" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#3(0, ~c.base, ~c.offset, 4);" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume !(#t~mem7 < 6);havoc #t~mem7;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#51#return;" "call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12;" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#3(0, ~c.base, ~c.offset, 4);" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume !(#t~mem7 < 6);havoc #t~mem7;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#51#return;" "call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12;" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#3(0, ~c.base, ~c.offset, 4);" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume !(#t~mem7 < 6);havoc #t~mem7;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#51#return;" "call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12;" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume !(#t~mem10 < 6);havoc #t~mem10;" "assume true;" >"#49#return;" "assume true;" >"#49#return;" "assume true;" >"#49#return;" "assume true;" >"#55#return;" "call #t~mem14 := read~int#1(~a.base, ~a.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#1(1 + #t~mem14, ~a.base, ~a.offset, 4);havoc #t~mem14;havoc #t~pre15;" "call func_to_recursive_line_22_to_23_0(~b.base, ~b.offset, ~d.base, ~d.offset, ~c.base, ~c.offset, ~a.base, ~a.offset);"< [2025-03-17 20:37:34,971 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:37:34,971 INFO L85 PathProgramCache]: Analyzing trace with hash 2321, now seen corresponding path program 11 times [2025-03-17 20:37:34,971 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:37:34,971 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1642593023] [2025-03-17 20:37:34,971 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-03-17 20:37:34,971 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:37:34,976 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:37:34,978 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:37:34,978 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-03-17 20:37:34,978 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:37:34,979 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:37:34,979 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:37:34,981 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:37:34,981 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:37:34,981 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:37:34,983 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:37:34,984 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:37:34,984 INFO L85 PathProgramCache]: Analyzing trace with hash 1918297493, now seen corresponding path program 8 times [2025-03-17 20:37:34,984 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:37:34,984 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [450423747] [2025-03-17 20:37:34,984 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:37:34,984 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:37:35,051 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 780 statements into 2 equivalence classes. [2025-03-17 20:37:35,362 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 780 of 780 statements. [2025-03-17 20:37:35,363 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-17 20:37:35,363 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:37:38,629 INFO L134 CoverageAnalysis]: Checked inductivity of 38610 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 38595 trivial. 0 not checked. [2025-03-17 20:37:38,630 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:37:38,630 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [450423747] [2025-03-17 20:37:38,630 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [450423747] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:37:38,630 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [135271938] [2025-03-17 20:37:38,630 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-03-17 20:37:38,631 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:37:38,631 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:37:38,633 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:37:38,634 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2025-03-17 20:37:38,886 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 780 statements into 2 equivalence classes. [2025-03-17 20:37:39,465 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 780 of 780 statements. [2025-03-17 20:37:39,465 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-03-17 20:37:39,465 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:37:39,486 INFO L256 TraceCheckSpWp]: Trace formula consists of 4424 conjuncts, 54 conjuncts are in the unsatisfiable core [2025-03-17 20:37:39,537 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-03-17 20:37:39,541 INFO L378 Elim1Store]: Elim1 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 15 treesize of output 1 [2025-03-17 20:37:39,771 INFO L134 CoverageAnalysis]: Checked inductivity of 38610 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 38595 trivial. 0 not checked. [2025-03-17 20:37:39,771 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-03-17 20:37:42,388 INFO L134 CoverageAnalysis]: Checked inductivity of 38610 backedges. 0 proven. 33 refuted. 0 times theorem prover too weak. 38577 trivial. 0 not checked. [2025-03-17 20:37:42,388 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [135271938] provided 0 perfect and 2 imperfect interpolant sequences [2025-03-17 20:37:42,388 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-03-17 20:37:42,388 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11, 18] total 30 [2025-03-17 20:37:42,388 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1473927487] [2025-03-17 20:37:42,389 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-03-17 20:37:42,389 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-03-17 20:37:42,389 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-03-17 20:37:42,390 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2025-03-17 20:37:42,390 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=198, Invalid=672, Unknown=0, NotChecked=0, Total=870 [2025-03-17 20:37:42,390 INFO L87 Difference]: Start difference. First operand 56 states and 62 transitions. cyclomatic complexity: 10 Second operand has 30 states, 23 states have (on average 1.826086956521739) internal successors, (42), 25 states have internal predecessors, (42), 13 states have call successors, (15), 7 states have call predecessors, (15), 9 states have return successors, (19), 12 states have call predecessors, (19), 12 states have call successors, (19) [2025-03-17 20:37:42,615 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-03-17 20:37:42,615 INFO L93 Difference]: Finished difference Result 58 states and 64 transitions. [2025-03-17 20:37:42,615 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 58 states and 64 transitions. [2025-03-17 20:37:42,616 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-03-17 20:37:42,617 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 58 states to 58 states and 64 transitions. [2025-03-17 20:37:42,617 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 58 [2025-03-17 20:37:42,617 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 58 [2025-03-17 20:37:42,617 INFO L73 IsDeterministic]: Start isDeterministic. Operand 58 states and 64 transitions. [2025-03-17 20:37:42,617 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-03-17 20:37:42,617 INFO L218 hiAutomatonCegarLoop]: Abstraction has 58 states and 64 transitions. [2025-03-17 20:37:42,617 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states and 64 transitions. [2025-03-17 20:37:42,621 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 58. [2025-03-17 20:37:42,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 31 states have (on average 1.096774193548387) internal successors, (34), 34 states have internal predecessors, (34), 8 states have call successors, (8), 4 states have call predecessors, (8), 19 states have return successors, (22), 19 states have call predecessors, (22), 6 states have call successors, (22) [2025-03-17 20:37:42,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 64 transitions. [2025-03-17 20:37:42,623 INFO L240 hiAutomatonCegarLoop]: Abstraction has 58 states and 64 transitions. [2025-03-17 20:37:42,624 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2025-03-17 20:37:42,624 INFO L432 stractBuchiCegarLoop]: Abstraction has 58 states and 64 transitions. [2025-03-17 20:37:42,624 INFO L338 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2025-03-17 20:37:42,624 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 58 states and 64 transitions. [2025-03-17 20:37:42,625 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-03-17 20:37:42,625 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-03-17 20:37:42,625 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-03-17 20:37:42,629 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-03-17 20:37:42,629 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [168, 168, 144, 144, 144, 28, 28, 24, 24, 24, 24, 24, 24, 24, 5, 5, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1] [2025-03-17 20:37:42,629 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int#0(48, 1, 0, 1);call write~init~int#0(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3);assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_#t~mem21#1, main_#t~short22#1, main_~#a~0#1.base, main_~#a~0#1.offset, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#1(6, main_~#a~0#1.base, main_~#a~0#1.offset, 4);call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#2(6, main_~#b~0#1.base, main_~#b~0#1.offset, 4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#3(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call write~int#1(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4);" "call func_to_recursive_line_22_to_23_0(main_~#b~0#1.base, main_~#b~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#a~0#1.base, main_~#a~0#1.offset);"< [2025-03-17 20:37:42,629 INFO L754 eck$LassoCheckResult]: Loop: "~b.base, ~b.offset := #in~b.base, #in~b.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;call #t~mem13 := read~int#1(~a.base, ~a.offset, 4);" "assume #t~mem13 < 6;havoc #t~mem13;call write~int#2(0, ~b.base, ~b.offset, 4);" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#3(0, ~c.base, ~c.offset, 4);" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume !(#t~mem7 < 6);havoc #t~mem7;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#51#return;" "call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12;" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#3(0, ~c.base, ~c.offset, 4);" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume !(#t~mem7 < 6);havoc #t~mem7;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#51#return;" "call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12;" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#3(0, ~c.base, ~c.offset, 4);" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume !(#t~mem7 < 6);havoc #t~mem7;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#51#return;" "call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12;" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#3(0, ~c.base, ~c.offset, 4);" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#4(0, ~d.base, ~d.offset, 4);" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#4(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#4(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#4(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#57#return;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#3(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#3(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9;" "call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;call #t~mem7 := read~int#3(~c.base, ~c.offset, 4);" "assume !(#t~mem7 < 6);havoc #t~mem7;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#45#return;" "assume true;" >"#51#return;" "call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12;" "call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);"< "~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem10 := read~int#2(~b.base, ~b.offset, 4);" "assume !(#t~mem10 < 6);havoc #t~mem10;" "assume true;" >"#49#return;" "assume true;" >"#49#return;" "assume true;" >"#49#return;" "assume true;" >"#49#return;" "assume true;" >"#55#return;" "call #t~mem14 := read~int#1(~a.base, ~a.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#1(1 + #t~mem14, ~a.base, ~a.offset, 4);havoc #t~mem14;havoc #t~pre15;" "call func_to_recursive_line_22_to_23_0(~b.base, ~b.offset, ~d.base, ~d.offset, ~c.base, ~c.offset, ~a.base, ~a.offset);"< [2025-03-17 20:37:42,630 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:37:42,631 INFO L85 PathProgramCache]: Analyzing trace with hash 2321, now seen corresponding path program 12 times [2025-03-17 20:37:42,631 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:37:42,631 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1234904807] [2025-03-17 20:37:42,631 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-03-17 20:37:42,631 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:37:42,637 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:37:42,640 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:37:42,640 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2025-03-17 20:37:42,640 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:37:42,640 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-03-17 20:37:42,641 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-03-17 20:37:42,643 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-03-17 20:37:42,643 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-03-17 20:37:42,643 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-03-17 20:37:42,647 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-03-17 20:37:42,647 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-03-17 20:37:42,647 INFO L85 PathProgramCache]: Analyzing trace with hash -2204139, now seen corresponding path program 9 times [2025-03-17 20:37:42,647 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-03-17 20:37:42,647 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [560628429] [2025-03-17 20:37:42,647 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 20:37:42,647 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-03-17 20:37:42,724 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 1037 statements into 52 equivalence classes. [2025-03-17 20:37:44,447 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 42 check-sat command(s) and asserted 787 of 1037 statements. [2025-03-17 20:37:44,448 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 42 check-sat command(s) [2025-03-17 20:37:44,448 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-03-17 20:37:48,376 INFO L134 CoverageAnalysis]: Checked inductivity of 68806 backedges. 11 proven. 27 refuted. 0 times theorem prover too weak. 68768 trivial. 0 not checked. [2025-03-17 20:37:48,376 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-03-17 20:37:48,376 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [560628429] [2025-03-17 20:37:48,376 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [560628429] provided 0 perfect and 1 imperfect interpolant sequences [2025-03-17 20:37:48,376 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2093445810] [2025-03-17 20:37:48,376 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-03-17 20:37:48,376 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-03-17 20:37:48,377 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2025-03-17 20:37:48,378 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-03-17 20:37:48,380 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2025-03-17 20:37:48,689 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 1037 statements into 52 equivalence classes.