./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 48c9605d Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerTermination.xml -i ../sv-benchmarks/c/recursified_loop-simple/recursified_nested_4.c -s /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate-jdk21/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-?-48c9605-m [2025-02-08 14:51:30,586 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-02-08 14:51:30,644 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-Automizer_Default.epf [2025-02-08 14:51:30,648 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-02-08 14:51:30,648 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-02-08 14:51:30,649 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder.Remove goto edges from RCFG [2025-02-08 14:51:30,663 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-02-08 14:51:30,663 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-02-08 14:51:30,664 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-02-08 14:51:30,664 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-02-08 14:51:30,664 INFO L153 SettingsManager]: * Use memory slicer=true [2025-02-08 14:51:30,664 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-02-08 14:51:30,664 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-02-08 14:51:30,664 INFO L153 SettingsManager]: * Use SBE=true [2025-02-08 14:51:30,664 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2025-02-08 14:51:30,665 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2025-02-08 14:51:30,665 INFO L153 SettingsManager]: * Use old map elimination=false [2025-02-08 14:51:30,665 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2025-02-08 14:51:30,665 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2025-02-08 14:51:30,665 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2025-02-08 14:51:30,665 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-02-08 14:51:30,665 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2025-02-08 14:51:30,665 INFO L153 SettingsManager]: * sizeof long=4 [2025-02-08 14:51:30,665 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-02-08 14:51:30,665 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-02-08 14:51:30,666 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-02-08 14:51:30,666 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2025-02-08 14:51:30,666 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2025-02-08 14:51:30,666 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2025-02-08 14:51:30,666 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2025-02-08 14:51:30,666 INFO L153 SettingsManager]: * sizeof long double=12 [2025-02-08 14:51:30,666 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-02-08 14:51:30,666 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2025-02-08 14:51:30,666 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-02-08 14:51:30,666 INFO L153 SettingsManager]: * Use constant arrays=true [2025-02-08 14:51:30,666 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-02-08 14:51:30,666 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-02-08 14:51:30,667 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-02-08 14:51:30,667 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-02-08 14:51:30,667 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2025-02-08 14:51:30,667 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-jdk21/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-02-08 14:51:30,845 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-02-08 14:51:30,850 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-02-08 14:51:30,851 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-02-08 14:51:30,852 INFO L270 PluginConnector]: Initializing CDTParser... [2025-02-08 14:51:30,852 INFO L274 PluginConnector]: CDTParser initialized [2025-02-08 14:51:30,853 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/recursified_loop-simple/recursified_nested_4.c [2025-02-08 14:51:31,981 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/fe1c82940/478a283737f341dba6da4b6aa713ca12/FLAG0f8a8c976 [2025-02-08 14:51:32,260 INFO L384 CDTParser]: Found 1 translation units. [2025-02-08 14:51:32,261 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/recursified_loop-simple/recursified_nested_4.c [2025-02-08 14:51:32,271 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/fe1c82940/478a283737f341dba6da4b6aa713ca12/FLAG0f8a8c976 [2025-02-08 14:51:32,557 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/fe1c82940/478a283737f341dba6da4b6aa713ca12 [2025-02-08 14:51:32,559 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-02-08 14:51:32,560 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-02-08 14:51:32,561 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-02-08 14:51:32,562 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-02-08 14:51:32,566 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-02-08 14:51:32,566 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.02 02:51:32" (1/1) ... [2025-02-08 14:51:32,568 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@50dd500e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:51:32, skipping insertion in model container [2025-02-08 14:51:32,568 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.02 02:51:32" (1/1) ... [2025-02-08 14:51:32,579 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-02-08 14:51:32,672 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-08 14:51:32,681 INFO L200 MainTranslator]: Completed pre-run [2025-02-08 14:51:32,699 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-08 14:51:32,710 INFO L204 MainTranslator]: Completed translation [2025-02-08 14:51:32,711 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:51:32 WrapperNode [2025-02-08 14:51:32,711 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-02-08 14:51:32,712 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-02-08 14:51:32,712 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-02-08 14:51:32,712 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-02-08 14:51:32,716 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:51:32" (1/1) ... [2025-02-08 14:51:32,722 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:51:32" (1/1) ... [2025-02-08 14:51:32,732 INFO L138 Inliner]: procedures = 15, calls = 52, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 67 [2025-02-08 14:51:32,732 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-02-08 14:51:32,732 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-02-08 14:51:32,733 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-02-08 14:51:32,733 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-02-08 14:51:32,738 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:51:32" (1/1) ... [2025-02-08 14:51:32,738 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:51:32" (1/1) ... [2025-02-08 14:51:32,740 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:51:32" (1/1) ... [2025-02-08 14:51:32,756 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-02-08 14:51:32,758 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:51:32" (1/1) ... [2025-02-08 14:51:32,758 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:51:32" (1/1) ... [2025-02-08 14:51:32,761 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:51:32" (1/1) ... [2025-02-08 14:51:32,766 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:51:32" (1/1) ... [2025-02-08 14:51:32,767 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:51:32" (1/1) ... [2025-02-08 14:51:32,771 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:51:32" (1/1) ... [2025-02-08 14:51:32,772 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-02-08 14:51:32,773 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-02-08 14:51:32,773 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-02-08 14:51:32,773 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-02-08 14:51:32,774 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:51:32" (1/1) ... [2025-02-08 14:51:32,781 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-02-08 14:51:32,791 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:51:32,802 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-02-08 14:51:32,804 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2025-02-08 14:51:32,819 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-02-08 14:51:32,819 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-02-08 14:51:32,819 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2025-02-08 14:51:32,819 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2025-02-08 14:51:32,819 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#3 [2025-02-08 14:51:32,819 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#4 [2025-02-08 14:51:32,819 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2025-02-08 14:51:32,819 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2025-02-08 14:51:32,820 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2025-02-08 14:51:32,820 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2025-02-08 14:51:32,820 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#3 [2025-02-08 14:51:32,820 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#4 [2025-02-08 14:51:32,820 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_24_to_25_0 [2025-02-08 14:51:32,820 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_24_to_25_0 [2025-02-08 14:51:32,820 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_23_to_24_0 [2025-02-08 14:51:32,820 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_23_to_24_0 [2025-02-08 14:51:32,820 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_22_to_23_0 [2025-02-08 14:51:32,820 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_22_to_23_0 [2025-02-08 14:51:32,820 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_25_to_25_0 [2025-02-08 14:51:32,820 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_25_to_25_0 [2025-02-08 14:51:32,820 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-02-08 14:51:32,820 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-02-08 14:51:32,821 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2025-02-08 14:51:32,821 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2025-02-08 14:51:32,821 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2025-02-08 14:51:32,821 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#3 [2025-02-08 14:51:32,821 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#4 [2025-02-08 14:51:32,821 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2025-02-08 14:51:32,879 INFO L257 CfgBuilder]: Building ICFG [2025-02-08 14:51:32,880 INFO L287 CfgBuilder]: Building CFG for each procedure with an implementation [2025-02-08 14:51:33,014 INFO L1324 $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-02-08 14:51:33,027 INFO L? ?]: Removed 12 outVars from TransFormulas that were not future-live. [2025-02-08 14:51:33,027 INFO L308 CfgBuilder]: Performing block encoding [2025-02-08 14:51:33,032 INFO L332 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-02-08 14:51:33,033 INFO L337 CfgBuilder]: Removed 0 assume(true) statements. [2025-02-08 14:51:33,033 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 08.02 02:51:33 BoogieIcfgContainer [2025-02-08 14:51:33,033 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-02-08 14:51:33,034 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2025-02-08 14:51:33,034 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2025-02-08 14:51:33,037 INFO L274 PluginConnector]: BuchiAutomizer initialized [2025-02-08 14:51:33,038 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-02-08 14:51:33,038 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 08.02 02:51:32" (1/3) ... [2025-02-08 14:51:33,039 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@18a49610 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 08.02 02:51:33, skipping insertion in model container [2025-02-08 14:51:33,039 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-02-08 14:51:33,039 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 02:51:32" (2/3) ... [2025-02-08 14:51:33,039 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@18a49610 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 08.02 02:51:33, skipping insertion in model container [2025-02-08 14:51:33,039 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-02-08 14:51:33,039 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 08.02 02:51:33" (3/3) ... [2025-02-08 14:51:33,040 INFO L363 chiAutomizerObserver]: Analyzing ICFG recursified_nested_4.c [2025-02-08 14:51:33,070 INFO L306 stractBuchiCegarLoop]: Interprodecural is true [2025-02-08 14:51:33,070 INFO L307 stractBuchiCegarLoop]: Hoare is None [2025-02-08 14:51:33,070 INFO L308 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2025-02-08 14:51:33,070 INFO L309 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2025-02-08 14:51:33,070 INFO L310 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2025-02-08 14:51:33,070 INFO L311 stractBuchiCegarLoop]: Difference is false [2025-02-08 14:51:33,072 INFO L312 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2025-02-08 14:51:33,072 INFO L316 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2025-02-08 14:51:33,075 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-02-08 14:51:33,089 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-02-08 14:51:33,090 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:51:33,090 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:51:33,095 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-02-08 14:51:33,095 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-08 14:51:33,095 INFO L338 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2025-02-08 14:51:33,096 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-02-08 14:51:33,098 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-02-08 14:51:33,099 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:51:33,099 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:51:33,100 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-02-08 14:51:33,100 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-08 14:51:33,104 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#3(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#4(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#2(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-02-08 14:51:33,105 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#3(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#3(~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-02-08 14:51:33,109 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:51:33,112 INFO L85 PathProgramCache]: Analyzing trace with hash 2321, now seen corresponding path program 1 times [2025-02-08 14:51:33,117 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:51:33,118 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1479664298] [2025-02-08 14:51:33,118 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-08 14:51:33,118 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:51:33,177 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:51:33,203 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:51:33,204 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:51:33,204 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:51:33,204 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:51:33,208 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:51:33,218 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:51:33,218 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:51:33,219 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:51:33,230 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:51:33,232 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:51:33,232 INFO L85 PathProgramCache]: Analyzing trace with hash 419302405, now seen corresponding path program 1 times [2025-02-08 14:51:33,232 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:51:33,232 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [187800242] [2025-02-08 14:51:33,232 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-08 14:51:33,233 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:51:33,240 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 9 statements into 1 equivalence classes. [2025-02-08 14:51:33,245 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 9 of 9 statements. [2025-02-08 14:51:33,245 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:51:33,245 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:51:33,482 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-08 14:51:33,483 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 14:51:33,483 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [187800242] [2025-02-08 14:51:33,483 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [187800242] provided 1 perfect and 0 imperfect interpolant sequences [2025-02-08 14:51:33,483 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-02-08 14:51:33,483 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2025-02-08 14:51:33,484 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1351379373] [2025-02-08 14:51:33,484 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-02-08 14:51:33,486 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-02-08 14:51:33,486 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 14:51:33,501 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-02-08 14:51:33,501 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2025-02-08 14:51:33,502 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-02-08 14:51:33,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-08 14:51:33,652 INFO L93 Difference]: Finished difference Result 43 states and 54 transitions. [2025-02-08 14:51:33,652 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 43 states and 54 transitions. [2025-02-08 14:51:33,654 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-02-08 14:51:33,659 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 43 states to 28 states and 34 transitions. [2025-02-08 14:51:33,662 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 28 [2025-02-08 14:51:33,663 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 28 [2025-02-08 14:51:33,663 INFO L73 IsDeterministic]: Start isDeterministic. Operand 28 states and 34 transitions. [2025-02-08 14:51:33,664 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-02-08 14:51:33,664 INFO L218 hiAutomatonCegarLoop]: Abstraction has 28 states and 34 transitions. [2025-02-08 14:51:33,672 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states and 34 transitions. [2025-02-08 14:51:33,679 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 28. [2025-02-08 14:51:33,680 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-02-08 14:51:33,680 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 34 transitions. [2025-02-08 14:51:33,681 INFO L240 hiAutomatonCegarLoop]: Abstraction has 28 states and 34 transitions. [2025-02-08 14:51:33,682 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-02-08 14:51:33,684 INFO L432 stractBuchiCegarLoop]: Abstraction has 28 states and 34 transitions. [2025-02-08 14:51:33,685 INFO L338 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2025-02-08 14:51:33,685 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 28 states and 34 transitions. [2025-02-08 14:51:33,685 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-02-08 14:51:33,685 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:51:33,686 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:51:33,686 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-02-08 14:51:33,686 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-02-08 14:51:33,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#3(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#4(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#2(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-02-08 14:51:33,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#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume !(#t~mem7 < 6);havoc #t~mem7;" "assume true;" >"#51#return;" "call #t~mem11 := read~int#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~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-02-08 14:51:33,687 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:51:33,687 INFO L85 PathProgramCache]: Analyzing trace with hash 2321, now seen corresponding path program 2 times [2025-02-08 14:51:33,687 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:51:33,687 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [686572674] [2025-02-08 14:51:33,687 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-02-08 14:51:33,687 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:51:33,694 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:51:33,701 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:51:33,701 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-02-08 14:51:33,701 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:51:33,701 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:51:33,704 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:51:33,713 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:51:33,713 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:51:33,713 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:51:33,716 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:51:33,716 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:51:33,716 INFO L85 PathProgramCache]: Analyzing trace with hash 684433827, now seen corresponding path program 1 times [2025-02-08 14:51:33,716 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:51:33,716 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1854969918] [2025-02-08 14:51:33,716 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-08 14:51:33,717 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:51:33,723 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 20 statements into 1 equivalence classes. [2025-02-08 14:51:33,728 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 20 of 20 statements. [2025-02-08 14:51:33,729 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:51:33,729 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:51:33,886 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2025-02-08 14:51:33,886 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 14:51:33,886 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1854969918] [2025-02-08 14:51:33,886 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1854969918] provided 1 perfect and 0 imperfect interpolant sequences [2025-02-08 14:51:33,886 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-02-08 14:51:33,886 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2025-02-08 14:51:33,887 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1303032414] [2025-02-08 14:51:33,887 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-02-08 14:51:33,887 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-02-08 14:51:33,887 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 14:51:33,887 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-02-08 14:51:33,887 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2025-02-08 14:51:33,888 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-02-08 14:51:33,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-08 14:51:33,964 INFO L93 Difference]: Finished difference Result 30 states and 36 transitions. [2025-02-08 14:51:33,964 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 30 states and 36 transitions. [2025-02-08 14:51:33,965 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-02-08 14:51:33,966 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 30 states to 30 states and 36 transitions. [2025-02-08 14:51:33,966 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 30 [2025-02-08 14:51:33,966 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 30 [2025-02-08 14:51:33,966 INFO L73 IsDeterministic]: Start isDeterministic. Operand 30 states and 36 transitions. [2025-02-08 14:51:33,966 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-02-08 14:51:33,966 INFO L218 hiAutomatonCegarLoop]: Abstraction has 30 states and 36 transitions. [2025-02-08 14:51:33,967 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states and 36 transitions. [2025-02-08 14:51:33,968 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2025-02-08 14:51:33,968 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-02-08 14:51:33,968 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 36 transitions. [2025-02-08 14:51:33,969 INFO L240 hiAutomatonCegarLoop]: Abstraction has 30 states and 36 transitions. [2025-02-08 14:51:33,969 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-02-08 14:51:33,969 INFO L432 stractBuchiCegarLoop]: Abstraction has 30 states and 36 transitions. [2025-02-08 14:51:33,969 INFO L338 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2025-02-08 14:51:33,970 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 30 states and 36 transitions. [2025-02-08 14:51:33,970 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-02-08 14:51:33,970 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:51:33,970 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:51:33,971 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-02-08 14:51:33,971 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-02-08 14:51:33,971 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#3(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#4(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#2(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-02-08 14:51:33,971 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#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume !(#t~mem4 < 6);havoc #t~mem4;" "assume true;" >"#47#return;" "call #t~mem8 := read~int#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~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-02-08 14:51:33,971 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:51:33,971 INFO L85 PathProgramCache]: Analyzing trace with hash 2321, now seen corresponding path program 3 times [2025-02-08 14:51:33,971 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:51:33,971 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [127648463] [2025-02-08 14:51:33,971 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-02-08 14:51:33,971 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:51:33,977 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:51:33,984 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:51:33,984 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-02-08 14:51:33,984 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:51:33,984 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:51:33,986 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:51:33,991 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:51:33,991 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:51:33,991 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:51:33,993 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:51:33,994 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:51:33,994 INFO L85 PathProgramCache]: Analyzing trace with hash -437668800, now seen corresponding path program 1 times [2025-02-08 14:51:33,994 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:51:33,994 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [879236444] [2025-02-08 14:51:33,994 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-08 14:51:33,994 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:51:34,002 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 31 statements into 1 equivalence classes. [2025-02-08 14:51:34,008 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 31 of 31 statements. [2025-02-08 14:51:34,008 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:51:34,008 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:51:34,216 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2025-02-08 14:51:34,216 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 14:51:34,216 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [879236444] [2025-02-08 14:51:34,216 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [879236444] provided 1 perfect and 0 imperfect interpolant sequences [2025-02-08 14:51:34,216 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-02-08 14:51:34,216 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2025-02-08 14:51:34,217 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1844625008] [2025-02-08 14:51:34,217 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-02-08 14:51:34,217 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-02-08 14:51:34,217 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 14:51:34,217 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-02-08 14:51:34,217 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2025-02-08 14:51:34,218 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-02-08 14:51:34,274 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-08 14:51:34,274 INFO L93 Difference]: Finished difference Result 32 states and 38 transitions. [2025-02-08 14:51:34,275 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 32 states and 38 transitions. [2025-02-08 14:51:34,275 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-02-08 14:51:34,276 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 32 states to 32 states and 38 transitions. [2025-02-08 14:51:34,276 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 32 [2025-02-08 14:51:34,276 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 32 [2025-02-08 14:51:34,276 INFO L73 IsDeterministic]: Start isDeterministic. Operand 32 states and 38 transitions. [2025-02-08 14:51:34,277 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-02-08 14:51:34,277 INFO L218 hiAutomatonCegarLoop]: Abstraction has 32 states and 38 transitions. [2025-02-08 14:51:34,277 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states and 38 transitions. [2025-02-08 14:51:34,278 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2025-02-08 14:51:34,278 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-02-08 14:51:34,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 38 transitions. [2025-02-08 14:51:34,279 INFO L240 hiAutomatonCegarLoop]: Abstraction has 32 states and 38 transitions. [2025-02-08 14:51:34,279 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-02-08 14:51:34,280 INFO L432 stractBuchiCegarLoop]: Abstraction has 32 states and 38 transitions. [2025-02-08 14:51:34,280 INFO L338 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2025-02-08 14:51:34,280 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 32 states and 38 transitions. [2025-02-08 14:51:34,280 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-02-08 14:51:34,280 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:51:34,280 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:51:34,281 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-02-08 14:51:34,281 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-02-08 14:51:34,281 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#3(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#4(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#2(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-02-08 14:51:34,281 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#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~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-02-08 14:51:34,282 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:51:34,282 INFO L85 PathProgramCache]: Analyzing trace with hash 2321, now seen corresponding path program 4 times [2025-02-08 14:51:34,282 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:51:34,282 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [738674012] [2025-02-08 14:51:34,282 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-02-08 14:51:34,282 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:51:34,287 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 2 statements into 2 equivalence classes. [2025-02-08 14:51:34,300 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:51:34,300 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-02-08 14:51:34,300 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:51:34,301 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:51:34,302 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:51:34,309 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:51:34,309 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:51:34,311 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:51:34,313 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:51:34,314 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:51:34,314 INFO L85 PathProgramCache]: Analyzing trace with hash -1125778188, now seen corresponding path program 1 times [2025-02-08 14:51:34,314 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:51:34,315 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [128421507] [2025-02-08 14:51:34,315 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-08 14:51:34,315 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:51:34,334 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 36 statements into 1 equivalence classes. [2025-02-08 14:51:34,345 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 36 of 36 statements. [2025-02-08 14:51:34,347 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:51:34,348 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:51:34,874 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2025-02-08 14:51:34,875 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 14:51:34,875 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [128421507] [2025-02-08 14:51:34,875 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [128421507] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-08 14:51:34,875 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1272004367] [2025-02-08 14:51:34,875 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-08 14:51:34,876 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-08 14:51:34,876 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:51:34,878 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-08 14:51:34,884 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2025-02-08 14:51:34,938 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 36 statements into 1 equivalence classes. [2025-02-08 14:51:34,972 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 36 of 36 statements. [2025-02-08 14:51:34,972 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:51:34,972 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:51:34,978 INFO L256 TraceCheckSpWp]: Trace formula consists of 279 conjuncts, 28 conjuncts are in the unsatisfiable core [2025-02-08 14:51:34,981 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:51:35,013 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-02-08 14:51:35,155 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2025-02-08 14:51:35,156 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-08 14:51:35,693 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2025-02-08 14:51:35,693 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1272004367] provided 0 perfect and 2 imperfect interpolant sequences [2025-02-08 14:51:35,693 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-02-08 14:51:35,693 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 10] total 22 [2025-02-08 14:51:35,694 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1001411221] [2025-02-08 14:51:35,694 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-02-08 14:51:35,694 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-02-08 14:51:35,694 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 14:51:35,694 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2025-02-08 14:51:35,695 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=95, Invalid=367, Unknown=0, NotChecked=0, Total=462 [2025-02-08 14:51:35,695 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-02-08 14:51:35,901 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-08 14:51:35,901 INFO L93 Difference]: Finished difference Result 36 states and 42 transitions. [2025-02-08 14:51:35,902 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 36 states and 42 transitions. [2025-02-08 14:51:35,902 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-02-08 14:51:35,903 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 36 states to 36 states and 42 transitions. [2025-02-08 14:51:35,903 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 36 [2025-02-08 14:51:35,903 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 36 [2025-02-08 14:51:35,903 INFO L73 IsDeterministic]: Start isDeterministic. Operand 36 states and 42 transitions. [2025-02-08 14:51:35,904 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-02-08 14:51:35,904 INFO L218 hiAutomatonCegarLoop]: Abstraction has 36 states and 42 transitions. [2025-02-08 14:51:35,904 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states and 42 transitions. [2025-02-08 14:51:35,909 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 36. [2025-02-08 14:51:35,910 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-02-08 14:51:35,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 42 transitions. [2025-02-08 14:51:35,911 INFO L240 hiAutomatonCegarLoop]: Abstraction has 36 states and 42 transitions. [2025-02-08 14:51:35,911 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2025-02-08 14:51:35,911 INFO L432 stractBuchiCegarLoop]: Abstraction has 36 states and 42 transitions. [2025-02-08 14:51:35,911 INFO L338 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2025-02-08 14:51:35,911 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 36 states and 42 transitions. [2025-02-08 14:51:35,912 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-02-08 14:51:35,915 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:51:35,915 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:51:35,916 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-02-08 14:51:35,916 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-02-08 14:51:35,916 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#3(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#4(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#2(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-02-08 14:51:35,917 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#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~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-02-08 14:51:35,917 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:51:35,917 INFO L85 PathProgramCache]: Analyzing trace with hash 2321, now seen corresponding path program 5 times [2025-02-08 14:51:35,917 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:51:35,917 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1555344233] [2025-02-08 14:51:35,917 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-02-08 14:51:35,917 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:51:35,931 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:51:35,941 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:51:35,943 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-02-08 14:51:35,944 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:51:35,944 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:51:35,945 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:51:35,952 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:51:35,955 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:51:35,956 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:51:35,958 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:51:35,959 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:51:35,962 INFO L85 PathProgramCache]: Analyzing trace with hash 1479132404, now seen corresponding path program 2 times [2025-02-08 14:51:35,963 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:51:35,963 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [476320856] [2025-02-08 14:51:35,963 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-02-08 14:51:35,963 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:51:35,981 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 46 statements into 2 equivalence classes. [2025-02-08 14:51:36,002 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 46 of 46 statements. [2025-02-08 14:51:36,003 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-02-08 14:51:36,003 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:51:36,542 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 8 proven. 15 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2025-02-08 14:51:36,542 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 14:51:36,542 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [476320856] [2025-02-08 14:51:36,542 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [476320856] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-08 14:51:36,542 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2093200331] [2025-02-08 14:51:36,542 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-02-08 14:51:36,543 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-08 14:51:36,543 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:51:36,550 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-08 14:51:36,554 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2025-02-08 14:51:36,603 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 46 statements into 2 equivalence classes. [2025-02-08 14:51:36,633 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 46 of 46 statements. [2025-02-08 14:51:36,633 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-02-08 14:51:36,633 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:51:36,635 INFO L256 TraceCheckSpWp]: Trace formula consists of 333 conjuncts, 28 conjuncts are in the unsatisfiable core [2025-02-08 14:51:36,637 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:51:36,648 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-02-08 14:51:36,799 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2025-02-08 14:51:36,799 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-08 14:51:37,200 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 29 trivial. 0 not checked. [2025-02-08 14:51:37,200 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2093200331] provided 0 perfect and 2 imperfect interpolant sequences [2025-02-08 14:51:37,200 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-02-08 14:51:37,201 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9, 10] total 28 [2025-02-08 14:51:37,201 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [320501513] [2025-02-08 14:51:37,201 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-02-08 14:51:37,201 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-02-08 14:51:37,201 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 14:51:37,202 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2025-02-08 14:51:37,202 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=105, Invalid=651, Unknown=0, NotChecked=0, Total=756 [2025-02-08 14:51:37,202 INFO L87 Difference]: Start difference. First operand 36 states and 42 transitions. cyclomatic complexity: 10 Second operand has 28 states, 21 states have (on average 2.238095238095238) internal successors, (47), 24 states have internal predecessors, (47), 11 states have call successors, (16), 6 states have call predecessors, (16), 10 states have return successors, (16), 9 states have call predecessors, (16), 11 states have call successors, (16) [2025-02-08 14:51:37,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-08 14:51:37,627 INFO L93 Difference]: Finished difference Result 40 states and 46 transitions. [2025-02-08 14:51:37,627 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 40 states and 46 transitions. [2025-02-08 14:51:37,628 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-02-08 14:51:37,628 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 40 states to 40 states and 46 transitions. [2025-02-08 14:51:37,628 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 40 [2025-02-08 14:51:37,629 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 40 [2025-02-08 14:51:37,629 INFO L73 IsDeterministic]: Start isDeterministic. Operand 40 states and 46 transitions. [2025-02-08 14:51:37,629 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-02-08 14:51:37,629 INFO L218 hiAutomatonCegarLoop]: Abstraction has 40 states and 46 transitions. [2025-02-08 14:51:37,629 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states and 46 transitions. [2025-02-08 14:51:37,631 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 40. [2025-02-08 14:51:37,631 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-02-08 14:51:37,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 46 transitions. [2025-02-08 14:51:37,631 INFO L240 hiAutomatonCegarLoop]: Abstraction has 40 states and 46 transitions. [2025-02-08 14:51:37,632 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2025-02-08 14:51:37,632 INFO L432 stractBuchiCegarLoop]: Abstraction has 40 states and 46 transitions. [2025-02-08 14:51:37,632 INFO L338 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2025-02-08 14:51:37,632 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 40 states and 46 transitions. [2025-02-08 14:51:37,633 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-02-08 14:51:37,633 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:51:37,633 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:51:37,634 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-02-08 14:51:37,634 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-02-08 14:51:37,634 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#3(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#4(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#2(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-02-08 14:51:37,634 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#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~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-02-08 14:51:37,635 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:51:37,635 INFO L85 PathProgramCache]: Analyzing trace with hash 2321, now seen corresponding path program 6 times [2025-02-08 14:51:37,635 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:51:37,635 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2037720201] [2025-02-08 14:51:37,635 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-02-08 14:51:37,635 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:51:37,640 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:51:37,644 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:51:37,644 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2025-02-08 14:51:37,645 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:51:37,645 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:51:37,646 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:51:37,648 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:51:37,648 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:51:37,649 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:51:37,651 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:51:37,651 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:51:37,651 INFO L85 PathProgramCache]: Analyzing trace with hash 700655217, now seen corresponding path program 3 times [2025-02-08 14:51:37,651 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:51:37,651 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [474049504] [2025-02-08 14:51:37,651 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-02-08 14:51:37,652 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:51:37,661 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 82 statements into 8 equivalence classes. [2025-02-08 14:51:37,665 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) and asserted 20 of 82 statements. [2025-02-08 14:51:37,665 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2025-02-08 14:51:37,669 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:51:37,821 INFO L134 CoverageAnalysis]: Checked inductivity of 227 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2025-02-08 14:51:37,821 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 14:51:37,822 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [474049504] [2025-02-08 14:51:37,822 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [474049504] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-08 14:51:37,822 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [683283121] [2025-02-08 14:51:37,822 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-02-08 14:51:37,822 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-08 14:51:37,822 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:51:37,827 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-08 14:51:37,832 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2025-02-08 14:51:37,889 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 82 statements into 8 equivalence classes. [2025-02-08 14:51:37,906 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) and asserted 20 of 82 statements. [2025-02-08 14:51:37,907 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2025-02-08 14:51:37,907 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:51:37,908 INFO L256 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 27 conjuncts are in the unsatisfiable core [2025-02-08 14:51:37,911 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:51:37,915 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 11 treesize of output 7 [2025-02-08 14:51:38,022 INFO L134 CoverageAnalysis]: Checked inductivity of 227 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2025-02-08 14:51:38,023 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-08 14:51:38,421 INFO L134 CoverageAnalysis]: Checked inductivity of 227 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 223 trivial. 0 not checked. [2025-02-08 14:51:38,421 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [683283121] provided 0 perfect and 2 imperfect interpolant sequences [2025-02-08 14:51:38,421 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-02-08 14:51:38,421 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 10] total 21 [2025-02-08 14:51:38,421 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1741850616] [2025-02-08 14:51:38,421 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-02-08 14:51:38,422 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-02-08 14:51:38,422 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 14:51:38,422 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2025-02-08 14:51:38,422 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=91, Invalid=329, Unknown=0, NotChecked=0, Total=420 [2025-02-08 14:51:38,422 INFO L87 Difference]: Start difference. First operand 40 states and 46 transitions. cyclomatic complexity: 10 Second operand has 21 states, 16 states have (on average 2.0625) internal successors, (33), 18 states have internal predecessors, (33), 10 states have call successors, (12), 5 states have call predecessors, (12), 6 states have return successors, (12), 8 states have call predecessors, (12), 9 states have call successors, (12) [2025-02-08 14:51:38,712 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-08 14:51:38,712 INFO L93 Difference]: Finished difference Result 44 states and 50 transitions. [2025-02-08 14:51:38,712 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 44 states and 50 transitions. [2025-02-08 14:51:38,713 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-02-08 14:51:38,713 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 44 states to 44 states and 50 transitions. [2025-02-08 14:51:38,713 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 44 [2025-02-08 14:51:38,713 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 44 [2025-02-08 14:51:38,714 INFO L73 IsDeterministic]: Start isDeterministic. Operand 44 states and 50 transitions. [2025-02-08 14:51:38,714 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-02-08 14:51:38,714 INFO L218 hiAutomatonCegarLoop]: Abstraction has 44 states and 50 transitions. [2025-02-08 14:51:38,714 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states and 50 transitions. [2025-02-08 14:51:38,716 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 44. [2025-02-08 14:51:38,716 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 24 states have (on average 1.125) internal successors, (27), 27 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 12 states have return successors, (15), 12 states have call predecessors, (15), 6 states have call successors, (15) [2025-02-08 14:51:38,716 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 50 transitions. [2025-02-08 14:51:38,716 INFO L240 hiAutomatonCegarLoop]: Abstraction has 44 states and 50 transitions. [2025-02-08 14:51:38,718 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2025-02-08 14:51:38,718 INFO L432 stractBuchiCegarLoop]: Abstraction has 44 states and 50 transitions. [2025-02-08 14:51:38,718 INFO L338 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2025-02-08 14:51:38,718 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 44 states and 50 transitions. [2025-02-08 14:51:38,719 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-02-08 14:51:38,719 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:51:38,719 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:51:38,725 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-02-08 14:51:38,725 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [30, 30, 24, 24, 24, 9, 9, 6, 6, 6, 6, 6, 6, 6, 4, 4, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1] [2025-02-08 14:51:38,725 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#3(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#4(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#2(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-02-08 14:51:38,725 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#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~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-02-08 14:51:38,729 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:51:38,729 INFO L85 PathProgramCache]: Analyzing trace with hash 2321, now seen corresponding path program 7 times [2025-02-08 14:51:38,729 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:51:38,729 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [832612494] [2025-02-08 14:51:38,729 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-02-08 14:51:38,729 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:51:38,734 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:51:38,738 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:51:38,738 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:51:38,738 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:51:38,738 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:51:38,743 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:51:38,746 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:51:38,746 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:51:38,746 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:51:38,748 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:51:38,749 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:51:38,750 INFO L85 PathProgramCache]: Analyzing trace with hash -688406279, now seen corresponding path program 4 times [2025-02-08 14:51:38,750 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:51:38,750 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [591025795] [2025-02-08 14:51:38,750 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-02-08 14:51:38,750 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:51:38,776 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 228 statements into 2 equivalence classes. [2025-02-08 14:51:38,804 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 228 of 228 statements. [2025-02-08 14:51:38,804 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-02-08 14:51:38,804 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:51:40,655 INFO L134 CoverageAnalysis]: Checked inductivity of 2238 backedges. 15 proven. 638 refuted. 0 times theorem prover too weak. 1585 trivial. 0 not checked. [2025-02-08 14:51:40,655 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 14:51:40,655 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [591025795] [2025-02-08 14:51:40,655 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [591025795] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-08 14:51:40,655 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1484792655] [2025-02-08 14:51:40,655 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-02-08 14:51:40,655 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-08 14:51:40,655 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:51:40,661 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-08 14:51:40,666 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2025-02-08 14:51:40,751 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 228 statements into 2 equivalence classes. [2025-02-08 14:51:40,887 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 228 of 228 statements. [2025-02-08 14:51:40,887 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-02-08 14:51:40,887 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:51:40,893 INFO L256 TraceCheckSpWp]: Trace formula consists of 1388 conjuncts, 97 conjuncts are in the unsatisfiable core [2025-02-08 14:51:40,904 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:51:40,972 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-02-08 14:51:41,240 INFO L134 CoverageAnalysis]: Checked inductivity of 2238 backedges. 683 proven. 27 refuted. 0 times theorem prover too weak. 1528 trivial. 0 not checked. [2025-02-08 14:51:41,240 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-08 14:51:44,190 INFO L134 CoverageAnalysis]: Checked inductivity of 2238 backedges. 633 proven. 46 refuted. 0 times theorem prover too weak. 1559 trivial. 0 not checked. [2025-02-08 14:51:44,190 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1484792655] provided 0 perfect and 2 imperfect interpolant sequences [2025-02-08 14:51:44,190 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-02-08 14:51:44,190 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 14, 22] total 41 [2025-02-08 14:51:44,191 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1201337293] [2025-02-08 14:51:44,191 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-02-08 14:51:44,192 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-02-08 14:51:44,192 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 14:51:44,192 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 41 interpolants. [2025-02-08 14:51:44,193 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=303, Invalid=1337, Unknown=0, NotChecked=0, Total=1640 [2025-02-08 14:51:44,194 INFO L87 Difference]: Start difference. First operand 44 states and 50 transitions. cyclomatic complexity: 10 Second operand has 41 states, 31 states have (on average 2.129032258064516) internal successors, (66), 35 states have internal predecessors, (66), 14 states have call successors, (25), 8 states have call predecessors, (25), 13 states have return successors, (34), 13 states have call predecessors, (34), 14 states have call successors, (34) [2025-02-08 14:51:44,559 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-08 14:51:44,559 INFO L93 Difference]: Finished difference Result 48 states and 54 transitions. [2025-02-08 14:51:44,559 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 48 states and 54 transitions. [2025-02-08 14:51:44,560 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-02-08 14:51:44,561 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 48 states to 48 states and 54 transitions. [2025-02-08 14:51:44,562 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 48 [2025-02-08 14:51:44,563 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 48 [2025-02-08 14:51:44,563 INFO L73 IsDeterministic]: Start isDeterministic. Operand 48 states and 54 transitions. [2025-02-08 14:51:44,563 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-02-08 14:51:44,563 INFO L218 hiAutomatonCegarLoop]: Abstraction has 48 states and 54 transitions. [2025-02-08 14:51:44,563 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states and 54 transitions. [2025-02-08 14:51:44,566 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 48. [2025-02-08 14:51:44,567 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 29 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 14 states have return successors, (17), 14 states have call predecessors, (17), 6 states have call successors, (17) [2025-02-08 14:51:44,567 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 54 transitions. [2025-02-08 14:51:44,567 INFO L240 hiAutomatonCegarLoop]: Abstraction has 48 states and 54 transitions. [2025-02-08 14:51:44,569 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2025-02-08 14:51:44,570 INFO L432 stractBuchiCegarLoop]: Abstraction has 48 states and 54 transitions. [2025-02-08 14:51:44,570 INFO L338 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2025-02-08 14:51:44,570 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 48 states and 54 transitions. [2025-02-08 14:51:44,571 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-02-08 14:51:44,571 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:51:44,571 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:51:44,573 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-02-08 14:51:44,573 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [42, 42, 36, 36, 36, 9, 9, 6, 6, 6, 6, 6, 6, 6, 4, 4, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1] [2025-02-08 14:51:44,574 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#3(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#4(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#2(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-02-08 14:51:44,574 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#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~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-02-08 14:51:44,574 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:51:44,575 INFO L85 PathProgramCache]: Analyzing trace with hash 2321, now seen corresponding path program 8 times [2025-02-08 14:51:44,575 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:51:44,575 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1910214866] [2025-02-08 14:51:44,575 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-02-08 14:51:44,575 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:51:44,587 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:51:44,591 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:51:44,591 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-02-08 14:51:44,591 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:51:44,591 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:51:44,592 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:51:44,595 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:51:44,595 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:51:44,595 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:51:44,597 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:51:44,598 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:51:44,598 INFO L85 PathProgramCache]: Analyzing trace with hash -1637619591, now seen corresponding path program 5 times [2025-02-08 14:51:44,598 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:51:44,598 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [58861860] [2025-02-08 14:51:44,598 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-02-08 14:51:44,598 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:51:44,626 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 288 statements into 12 equivalence classes. [2025-02-08 14:51:44,849 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 10 check-sat command(s) and asserted 268 of 288 statements. [2025-02-08 14:51:44,849 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 10 check-sat command(s) [2025-02-08 14:51:44,849 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:51:45,701 INFO L134 CoverageAnalysis]: Checked inductivity of 4296 backedges. 10 proven. 110 refuted. 0 times theorem prover too weak. 4176 trivial. 0 not checked. [2025-02-08 14:51:45,701 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 14:51:45,701 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [58861860] [2025-02-08 14:51:45,701 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [58861860] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-08 14:51:45,701 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1446522452] [2025-02-08 14:51:45,701 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-02-08 14:51:45,701 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-08 14:51:45,702 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:51:45,703 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-08 14:51:45,707 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2025-02-08 14:51:45,827 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 288 statements into 12 equivalence classes. [2025-02-08 14:51:49,053 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 10 check-sat command(s) and asserted 268 of 288 statements. [2025-02-08 14:51:49,053 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 10 check-sat command(s) [2025-02-08 14:51:49,053 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:51:49,066 INFO L256 TraceCheckSpWp]: Trace formula consists of 1526 conjuncts, 51 conjuncts are in the unsatisfiable core [2025-02-08 14:51:49,079 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:51:49,086 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-02-08 14:51:49,253 INFO L134 CoverageAnalysis]: Checked inductivity of 4296 backedges. 1960 proven. 8 refuted. 0 times theorem prover too weak. 2328 trivial. 0 not checked. [2025-02-08 14:51:49,253 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-08 14:51:50,466 INFO L134 CoverageAnalysis]: Checked inductivity of 4296 backedges. 6 proven. 117 refuted. 0 times theorem prover too weak. 4173 trivial. 0 not checked. [2025-02-08 14:51:50,467 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1446522452] provided 0 perfect and 2 imperfect interpolant sequences [2025-02-08 14:51:50,467 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-02-08 14:51:50,467 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10, 14] total 28 [2025-02-08 14:51:50,467 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2109287049] [2025-02-08 14:51:50,467 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-02-08 14:51:50,468 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-02-08 14:51:50,468 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 14:51:50,469 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2025-02-08 14:51:50,469 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=150, Invalid=606, Unknown=0, NotChecked=0, Total=756 [2025-02-08 14:51:50,469 INFO L87 Difference]: Start difference. First operand 48 states and 54 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-02-08 14:51:50,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-08 14:51:50,706 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2025-02-08 14:51:50,706 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 52 states and 58 transitions. [2025-02-08 14:51:50,708 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-02-08 14:51:50,708 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 52 states to 52 states and 58 transitions. [2025-02-08 14:51:50,708 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 52 [2025-02-08 14:51:50,708 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 52 [2025-02-08 14:51:50,708 INFO L73 IsDeterministic]: Start isDeterministic. Operand 52 states and 58 transitions. [2025-02-08 14:51:50,709 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-02-08 14:51:50,709 INFO L218 hiAutomatonCegarLoop]: Abstraction has 52 states and 58 transitions. [2025-02-08 14:51:50,709 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states and 58 transitions. [2025-02-08 14:51:50,713 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2025-02-08 14:51:50,714 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-02-08 14:51:50,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 58 transitions. [2025-02-08 14:51:50,716 INFO L240 hiAutomatonCegarLoop]: Abstraction has 52 states and 58 transitions. [2025-02-08 14:51:50,716 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2025-02-08 14:51:50,717 INFO L432 stractBuchiCegarLoop]: Abstraction has 52 states and 58 transitions. [2025-02-08 14:51:50,717 INFO L338 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2025-02-08 14:51:50,717 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 52 states and 58 transitions. [2025-02-08 14:51:50,717 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-02-08 14:51:50,717 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:51:50,717 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:51:50,722 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-02-08 14:51:50,722 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-02-08 14:51:50,722 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#3(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#4(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#2(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-02-08 14:51:50,723 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#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~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-02-08 14:51:50,723 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:51:50,723 INFO L85 PathProgramCache]: Analyzing trace with hash 2321, now seen corresponding path program 9 times [2025-02-08 14:51:50,723 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:51:50,723 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [336855866] [2025-02-08 14:51:50,723 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-02-08 14:51:50,724 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:51:50,729 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:51:50,733 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:51:50,736 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-02-08 14:51:50,737 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:51:50,737 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:51:50,738 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:51:50,739 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:51:50,739 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:51:50,739 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:51:50,741 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:51:50,742 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:51:50,742 INFO L85 PathProgramCache]: Analyzing trace with hash 1944936967, now seen corresponding path program 6 times [2025-02-08 14:51:50,742 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:51:50,742 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1367846764] [2025-02-08 14:51:50,742 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-02-08 14:51:50,742 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:51:50,780 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 534 statements into 23 equivalence classes. [2025-02-08 14:51:50,807 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) and asserted 92 of 534 statements. [2025-02-08 14:51:50,807 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2025-02-08 14:51:50,807 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:51:51,261 INFO L134 CoverageAnalysis]: Checked inductivity of 17151 backedges. 6 proven. 17 refuted. 0 times theorem prover too weak. 17128 trivial. 0 not checked. [2025-02-08 14:51:51,262 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 14:51:51,262 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1367846764] [2025-02-08 14:51:51,262 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1367846764] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-08 14:51:51,262 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [564043825] [2025-02-08 14:51:51,262 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-02-08 14:51:51,262 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-08 14:51:51,262 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:51:51,264 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-08 14:51:51,266 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2025-02-08 14:51:51,442 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 534 statements into 23 equivalence classes. [2025-02-08 14:51:51,508 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) and asserted 92 of 534 statements. [2025-02-08 14:51:51,508 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2025-02-08 14:51:51,508 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:51:51,511 INFO L256 TraceCheckSpWp]: Trace formula consists of 587 conjuncts, 53 conjuncts are in the unsatisfiable core [2025-02-08 14:51:51,522 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:51:51,523 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 11 treesize of output 7 [2025-02-08 14:51:51,707 INFO L134 CoverageAnalysis]: Checked inductivity of 17151 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 17136 trivial. 0 not checked. [2025-02-08 14:51:51,708 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-08 14:51:53,710 INFO L134 CoverageAnalysis]: Checked inductivity of 17151 backedges. 0 proven. 33 refuted. 0 times theorem prover too weak. 17118 trivial. 0 not checked. [2025-02-08 14:51:53,711 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [564043825] provided 0 perfect and 2 imperfect interpolant sequences [2025-02-08 14:51:53,711 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-02-08 14:51:53,711 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11, 18] total 33 [2025-02-08 14:51:53,711 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [992172610] [2025-02-08 14:51:53,711 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-02-08 14:51:53,712 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-02-08 14:51:53,712 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 14:51:53,712 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2025-02-08 14:51:53,712 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=215, Invalid=841, Unknown=0, NotChecked=0, Total=1056 [2025-02-08 14:51:53,713 INFO L87 Difference]: Start difference. First operand 52 states and 58 transitions. cyclomatic complexity: 10 Second operand has 33 states, 25 states have (on average 1.76) internal successors, (44), 28 states have internal predecessors, (44), 15 states have call successors, (17), 7 states have call predecessors, (17), 10 states have return successors, (20), 14 states have call predecessors, (20), 14 states have call successors, (20) [2025-02-08 14:51:54,024 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-08 14:51:54,024 INFO L93 Difference]: Finished difference Result 56 states and 62 transitions. [2025-02-08 14:51:54,024 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 56 states and 62 transitions. [2025-02-08 14:51:54,025 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-02-08 14:51:54,026 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 56 states to 56 states and 62 transitions. [2025-02-08 14:51:54,026 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 56 [2025-02-08 14:51:54,026 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 56 [2025-02-08 14:51:54,026 INFO L73 IsDeterministic]: Start isDeterministic. Operand 56 states and 62 transitions. [2025-02-08 14:51:54,026 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-02-08 14:51:54,026 INFO L218 hiAutomatonCegarLoop]: Abstraction has 56 states and 62 transitions. [2025-02-08 14:51:54,026 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states and 62 transitions. [2025-02-08 14:51:54,028 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 56. [2025-02-08 14:51:54,028 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-02-08 14:51:54,029 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 62 transitions. [2025-02-08 14:51:54,029 INFO L240 hiAutomatonCegarLoop]: Abstraction has 56 states and 62 transitions. [2025-02-08 14:51:54,029 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2025-02-08 14:51:54,030 INFO L432 stractBuchiCegarLoop]: Abstraction has 56 states and 62 transitions. [2025-02-08 14:51:54,030 INFO L338 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2025-02-08 14:51:54,030 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 56 states and 62 transitions. [2025-02-08 14:51:54,035 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-02-08 14:51:54,035 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:51:54,035 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:51:54,038 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-02-08 14:51:54,039 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [140, 140, 120, 120, 120, 25, 25, 20, 20, 20, 20, 20, 20, 20, 6, 6, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1] [2025-02-08 14:51:54,039 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#3(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#4(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#2(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-02-08 14:51:54,039 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#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~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;" >"#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-02-08 14:51:54,040 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:51:54,040 INFO L85 PathProgramCache]: Analyzing trace with hash 2321, now seen corresponding path program 10 times [2025-02-08 14:51:54,040 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:51:54,040 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [275520206] [2025-02-08 14:51:54,040 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-02-08 14:51:54,040 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:51:54,044 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 2 statements into 2 equivalence classes. [2025-02-08 14:51:54,047 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:51:54,047 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-02-08 14:51:54,047 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:51:54,047 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:51:54,048 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:51:54,049 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:51:54,049 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:51:54,050 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:51:54,054 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:51:54,056 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:51:54,056 INFO L85 PathProgramCache]: Analyzing trace with hash 1689515215, now seen corresponding path program 7 times [2025-02-08 14:51:54,056 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:51:54,057 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2130035503] [2025-02-08 14:51:54,057 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-02-08 14:51:54,057 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:51:54,111 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 884 statements into 1 equivalence classes. [2025-02-08 14:51:54,290 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 884 of 884 statements. [2025-02-08 14:51:54,290 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:51:54,290 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:51:59,099 INFO L134 CoverageAnalysis]: Checked inductivity of 47920 backedges. 21 proven. 631 refuted. 0 times theorem prover too weak. 47268 trivial. 0 not checked. [2025-02-08 14:51:59,099 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 14:51:59,099 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2130035503] [2025-02-08 14:51:59,099 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2130035503] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-08 14:51:59,099 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1372192067] [2025-02-08 14:51:59,099 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-02-08 14:51:59,099 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-08 14:51:59,099 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:51:59,106 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-08 14:51:59,107 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2025-02-08 14:51:59,366 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 884 statements into 1 equivalence classes. [2025-02-08 14:51:59,801 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 884 of 884 statements. [2025-02-08 14:51:59,801 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:51:59,801 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:51:59,818 INFO L256 TraceCheckSpWp]: Trace formula consists of 5044 conjuncts, 67 conjuncts are in the unsatisfiable core [2025-02-08 14:51:59,836 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:51:59,855 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-02-08 14:52:00,143 INFO L134 CoverageAnalysis]: Checked inductivity of 47920 backedges. 614 proven. 24 refuted. 0 times theorem prover too weak. 47282 trivial. 0 not checked. [2025-02-08 14:52:00,143 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-08 14:52:04,833 INFO L134 CoverageAnalysis]: Checked inductivity of 47920 backedges. 614 proven. 58 refuted. 0 times theorem prover too weak. 47248 trivial. 0 not checked. [2025-02-08 14:52:04,834 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1372192067] provided 0 perfect and 2 imperfect interpolant sequences [2025-02-08 14:52:04,834 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-02-08 14:52:04,834 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 12, 22] total 40 [2025-02-08 14:52:04,834 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [585231301] [2025-02-08 14:52:04,834 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-02-08 14:52:04,835 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-02-08 14:52:04,835 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 14:52:04,836 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 40 interpolants. [2025-02-08 14:52:04,836 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=313, Invalid=1247, Unknown=0, NotChecked=0, Total=1560 [2025-02-08 14:52:04,836 INFO L87 Difference]: Start difference. First operand 56 states and 62 transitions. cyclomatic complexity: 10 Second operand has 40 states, 30 states have (on average 2.066666666666667) internal successors, (62), 34 states have internal predecessors, (62), 18 states have call successors, (25), 8 states have call predecessors, (25), 13 states have return successors, (30), 17 states have call predecessors, (30), 18 states have call successors, (30) [2025-02-08 14:52:05,197 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-08 14:52:05,197 INFO L93 Difference]: Finished difference Result 60 states and 66 transitions. [2025-02-08 14:52:05,198 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 60 states and 66 transitions. [2025-02-08 14:52:05,199 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-02-08 14:52:05,200 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 60 states to 60 states and 66 transitions. [2025-02-08 14:52:05,200 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 60 [2025-02-08 14:52:05,200 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 60 [2025-02-08 14:52:05,200 INFO L73 IsDeterministic]: Start isDeterministic. Operand 60 states and 66 transitions. [2025-02-08 14:52:05,200 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-02-08 14:52:05,201 INFO L218 hiAutomatonCegarLoop]: Abstraction has 60 states and 66 transitions. [2025-02-08 14:52:05,201 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states and 66 transitions. [2025-02-08 14:52:05,207 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 60. [2025-02-08 14:52:05,207 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 32 states have (on average 1.09375) internal successors, (35), 35 states have internal predecessors, (35), 8 states have call successors, (8), 4 states have call predecessors, (8), 20 states have return successors, (23), 20 states have call predecessors, (23), 6 states have call successors, (23) [2025-02-08 14:52:05,208 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 66 transitions. [2025-02-08 14:52:05,208 INFO L240 hiAutomatonCegarLoop]: Abstraction has 60 states and 66 transitions. [2025-02-08 14:52:05,208 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2025-02-08 14:52:05,208 INFO L432 stractBuchiCegarLoop]: Abstraction has 60 states and 66 transitions. [2025-02-08 14:52:05,208 INFO L338 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2025-02-08 14:52:05,209 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 60 states and 66 transitions. [2025-02-08 14:52:05,209 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-02-08 14:52:05,209 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:52:05,209 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:52:05,214 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-02-08 14:52:05,214 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [210, 210, 180, 180, 180, 35, 35, 30, 30, 30, 30, 30, 30, 30, 6, 6, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1] [2025-02-08 14:52:05,214 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#3(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#4(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#2(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-02-08 14:52:05,215 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#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~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;" >"#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-02-08 14:52:05,217 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:52:05,217 INFO L85 PathProgramCache]: Analyzing trace with hash 2321, now seen corresponding path program 11 times [2025-02-08 14:52:05,217 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:52:05,217 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2098799458] [2025-02-08 14:52:05,217 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-02-08 14:52:05,217 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:52:05,225 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:52:05,229 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:52:05,229 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-02-08 14:52:05,229 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:52:05,229 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:52:05,230 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:52:05,232 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:52:05,232 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:52:05,232 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:52:05,238 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:52:05,239 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:52:05,239 INFO L85 PathProgramCache]: Analyzing trace with hash -2043176547, now seen corresponding path program 8 times [2025-02-08 14:52:05,239 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:52:05,239 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [51728671] [2025-02-08 14:52:05,239 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-02-08 14:52:05,239 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:52:05,354 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 1294 statements into 2 equivalence classes. [2025-02-08 14:52:05,861 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 1294 of 1294 statements. [2025-02-08 14:52:05,862 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-02-08 14:52:05,862 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:52:15,834 INFO L134 CoverageAnalysis]: Checked inductivity of 107665 backedges. 14 proven. 41 refuted. 0 times theorem prover too weak. 107610 trivial. 0 not checked. [2025-02-08 14:52:15,834 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 14:52:15,834 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [51728671] [2025-02-08 14:52:15,834 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [51728671] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-08 14:52:15,834 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [588661258] [2025-02-08 14:52:15,834 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-02-08 14:52:15,834 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-08 14:52:15,834 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 14:52:15,839 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-08 14:52:15,840 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2025-02-08 14:52:16,306 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 1294 statements into 2 equivalence classes. [2025-02-08 14:52:17,571 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 1294 of 1294 statements. [2025-02-08 14:52:17,572 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-02-08 14:52:17,572 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 14:52:17,608 INFO L256 TraceCheckSpWp]: Trace formula consists of 7304 conjuncts, 79 conjuncts are in the unsatisfiable core [2025-02-08 14:52:17,627 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 14:52:17,629 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 11 treesize of output 7 [2025-02-08 14:52:17,917 INFO L134 CoverageAnalysis]: Checked inductivity of 107665 backedges. 0 proven. 35 refuted. 0 times theorem prover too weak. 107630 trivial. 0 not checked. [2025-02-08 14:52:17,917 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-08 14:52:22,821 INFO L134 CoverageAnalysis]: Checked inductivity of 107665 backedges. 0 proven. 90 refuted. 0 times theorem prover too weak. 107575 trivial. 0 not checked. [2025-02-08 14:52:22,821 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [588661258] provided 0 perfect and 2 imperfect interpolant sequences [2025-02-08 14:52:22,821 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-02-08 14:52:22,821 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 13, 26] total 44 [2025-02-08 14:52:22,821 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1454358904] [2025-02-08 14:52:22,821 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-02-08 14:52:22,829 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-02-08 14:52:22,829 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 14:52:22,829 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 44 interpolants. [2025-02-08 14:52:22,829 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=390, Invalid=1502, Unknown=0, NotChecked=0, Total=1892 [2025-02-08 14:52:22,830 INFO L87 Difference]: Start difference. First operand 60 states and 66 transitions. cyclomatic complexity: 10 Second operand has 44 states, 34 states have (on average 1.6470588235294117) internal successors, (56), 37 states have internal predecessors, (56), 19 states have call successors, (21), 9 states have call predecessors, (21), 14 states have return successors, (28), 20 states have call predecessors, (28), 18 states have call successors, (28) [2025-02-08 14:52:23,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-02-08 14:52:23,221 INFO L93 Difference]: Finished difference Result 62 states and 68 transitions. [2025-02-08 14:52:23,221 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 62 states and 68 transitions. [2025-02-08 14:52:23,222 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-02-08 14:52:23,223 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 62 states to 62 states and 68 transitions. [2025-02-08 14:52:23,223 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 62 [2025-02-08 14:52:23,223 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 62 [2025-02-08 14:52:23,223 INFO L73 IsDeterministic]: Start isDeterministic. Operand 62 states and 68 transitions. [2025-02-08 14:52:23,223 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-02-08 14:52:23,223 INFO L218 hiAutomatonCegarLoop]: Abstraction has 62 states and 68 transitions. [2025-02-08 14:52:23,223 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states and 68 transitions. [2025-02-08 14:52:23,225 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 62. [2025-02-08 14:52:23,228 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 62 states, 33 states have (on average 1.0909090909090908) internal successors, (36), 36 states have internal predecessors, (36), 8 states have call successors, (8), 4 states have call predecessors, (8), 21 states have return successors, (24), 21 states have call predecessors, (24), 6 states have call successors, (24) [2025-02-08 14:52:23,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 68 transitions. [2025-02-08 14:52:23,228 INFO L240 hiAutomatonCegarLoop]: Abstraction has 62 states and 68 transitions. [2025-02-08 14:52:23,232 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2025-02-08 14:52:23,233 INFO L432 stractBuchiCegarLoop]: Abstraction has 62 states and 68 transitions. [2025-02-08 14:52:23,233 INFO L338 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2025-02-08 14:52:23,233 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 62 states and 68 transitions. [2025-02-08 14:52:23,233 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2025-02-08 14:52:23,233 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-02-08 14:52:23,233 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-02-08 14:52:23,236 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1] [2025-02-08 14:52:23,237 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [252, 252, 216, 216, 216, 42, 42, 36, 36, 36, 36, 36, 36, 36, 7, 7, 6, 6, 6, 6, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1] [2025-02-08 14:52:23,237 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#3(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#4(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#2(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-02-08 14:52:23,237 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#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~b.base, ~b.offset, 4);" "assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~c.base, ~c.offset, 4);" "assume #t~mem7 < 6;havoc #t~mem7;call write~int#2(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#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~d.base, ~d.offset, 4);" "assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#2(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#2(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6;" "call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);"< "~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#2(~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#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(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#4(~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#3(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#3(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#3(~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;" >"#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-02-08 14:52:23,239 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:52:23,239 INFO L85 PathProgramCache]: Analyzing trace with hash 2321, now seen corresponding path program 12 times [2025-02-08 14:52:23,239 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:52:23,239 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1367567573] [2025-02-08 14:52:23,239 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-02-08 14:52:23,239 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:52:23,245 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:52:23,247 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:52:23,247 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2025-02-08 14:52:23,247 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:52:23,247 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:52:23,248 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-02-08 14:52:23,250 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-02-08 14:52:23,250 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:52:23,250 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:52:23,257 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:52:23,260 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:52:23,260 INFO L85 PathProgramCache]: Analyzing trace with hash 678400285, now seen corresponding path program 9 times [2025-02-08 14:52:23,260 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:52:23,260 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1920914611] [2025-02-08 14:52:23,260 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-02-08 14:52:23,260 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:52:23,379 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 1551 statements into 124 equivalence classes. [2025-02-08 14:52:31,233 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 124 check-sat command(s) and asserted 1551 of 1551 statements. [2025-02-08 14:52:31,234 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 124 check-sat command(s) [2025-02-08 14:52:31,234 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:52:31,234 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:52:31,290 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 1551 statements into 1 equivalence classes. [2025-02-08 14:52:31,941 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 1551 of 1551 statements. [2025-02-08 14:52:31,941 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:52:31,941 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:52:32,025 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-02-08 14:52:32,026 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 14:52:32,026 INFO L85 PathProgramCache]: Analyzing trace with hash -278510067, now seen corresponding path program 1 times [2025-02-08 14:52:32,026 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 14:52:32,026 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1794477922] [2025-02-08 14:52:32,026 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-08 14:52:32,026 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 14:52:32,114 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 1553 statements into 1 equivalence classes. [2025-02-08 14:52:32,628 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 1553 of 1553 statements. [2025-02-08 14:52:32,628 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:52:32,628 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:52:32,628 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-02-08 14:52:32,670 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 1553 statements into 1 equivalence classes. [2025-02-08 14:52:33,367 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 1553 of 1553 statements. [2025-02-08 14:52:33,367 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 14:52:33,367 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-02-08 14:52:33,520 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace