./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 3061b6dc Calling Ultimate with: /root/.sdkman/candidates/java/11.0.12-open/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerTermination.xml -i ../sv-benchmarks/c/recursified_loop-simple/recursified_nested_4.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(F end) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 45898d4df949634911027a72c0e1c79e1edaab63547cca5c16238cef1218e556 --- Real Ultimate output --- This is Ultimate 0.2.5-tmp.dk.eval-assert-order-craig-3061b6d-m [2024-11-19 15:02:00,528 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-11-19 15:02:00,582 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-32bit-Automizer_Default.epf [2024-11-19 15:02:00,585 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-11-19 15:02:00,586 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-11-19 15:02:00,613 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-11-19 15:02:00,614 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-11-19 15:02:00,614 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-11-19 15:02:00,615 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-11-19 15:02:00,616 INFO L153 SettingsManager]: * Use memory slicer=true [2024-11-19 15:02:00,616 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-11-19 15:02:00,617 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-11-19 15:02:00,617 INFO L153 SettingsManager]: * Use SBE=true [2024-11-19 15:02:00,617 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2024-11-19 15:02:00,617 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2024-11-19 15:02:00,619 INFO L153 SettingsManager]: * Use old map elimination=false [2024-11-19 15:02:00,619 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2024-11-19 15:02:00,619 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2024-11-19 15:02:00,619 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2024-11-19 15:02:00,620 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-11-19 15:02:00,620 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2024-11-19 15:02:00,620 INFO L153 SettingsManager]: * sizeof long=4 [2024-11-19 15:02:00,622 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-11-19 15:02:00,622 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-11-19 15:02:00,623 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-11-19 15:02:00,623 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2024-11-19 15:02:00,623 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2024-11-19 15:02:00,623 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2024-11-19 15:02:00,623 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-11-19 15:02:00,624 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2024-11-19 15:02:00,624 INFO L153 SettingsManager]: * sizeof long double=12 [2024-11-19 15:02:00,624 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-11-19 15:02:00,624 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2024-11-19 15:02:00,624 INFO L153 SettingsManager]: * Use constant arrays=true [2024-11-19 15:02:00,625 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-11-19 15:02:00,625 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-11-19 15:02:00,625 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-11-19 15:02:00,625 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-11-19 15:02:00,625 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2024-11-19 15:02:00,626 INFO L153 SettingsManager]: * TransformationType=MODULO_NEIGHBOR WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(F end) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 45898d4df949634911027a72c0e1c79e1edaab63547cca5c16238cef1218e556 [2024-11-19 15:02:00,829 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-11-19 15:02:00,849 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-11-19 15:02:00,851 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-11-19 15:02:00,853 INFO L270 PluginConnector]: Initializing CDTParser... [2024-11-19 15:02:00,853 INFO L274 PluginConnector]: CDTParser initialized [2024-11-19 15:02:00,854 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/recursified_loop-simple/recursified_nested_4.c [2024-11-19 15:02:02,110 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-11-19 15:02:02,269 INFO L384 CDTParser]: Found 1 translation units. [2024-11-19 15:02:02,270 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/recursified_loop-simple/recursified_nested_4.c [2024-11-19 15:02:02,275 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7958d6300/541308cb496e4b798b010fd34784424b/FLAG31cf462cc [2024-11-19 15:02:02,287 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7958d6300/541308cb496e4b798b010fd34784424b [2024-11-19 15:02:02,289 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-11-19 15:02:02,290 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-11-19 15:02:02,290 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-11-19 15:02:02,291 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-11-19 15:02:02,295 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-11-19 15:02:02,296 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 19.11 03:02:02" (1/1) ... [2024-11-19 15:02:02,296 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5cd61ccb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 03:02:02, skipping insertion in model container [2024-11-19 15:02:02,297 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 19.11 03:02:02" (1/1) ... [2024-11-19 15:02:02,330 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-11-19 15:02:02,492 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-19 15:02:02,503 INFO L200 MainTranslator]: Completed pre-run [2024-11-19 15:02:02,517 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-11-19 15:02:02,528 INFO L204 MainTranslator]: Completed translation [2024-11-19 15:02:02,529 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 03:02:02 WrapperNode [2024-11-19 15:02:02,529 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-11-19 15:02:02,530 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-11-19 15:02:02,530 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-11-19 15:02:02,530 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-11-19 15:02:02,535 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 03:02:02" (1/1) ... [2024-11-19 15:02:02,541 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 03:02:02" (1/1) ... [2024-11-19 15:02:02,558 INFO L138 Inliner]: procedures = 15, calls = 52, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 67 [2024-11-19 15:02:02,558 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-11-19 15:02:02,559 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-11-19 15:02:02,559 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-11-19 15:02:02,559 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-11-19 15:02:02,567 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 03:02:02" (1/1) ... [2024-11-19 15:02:02,567 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 03:02:02" (1/1) ... [2024-11-19 15:02:02,569 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 03:02:02" (1/1) ... [2024-11-19 15:02:02,593 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]. [2024-11-19 15:02:02,594 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 03:02:02" (1/1) ... [2024-11-19 15:02:02,594 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 03:02:02" (1/1) ... [2024-11-19 15:02:02,598 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 03:02:02" (1/1) ... [2024-11-19 15:02:02,599 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 03:02:02" (1/1) ... [2024-11-19 15:02:02,600 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 03:02:02" (1/1) ... [2024-11-19 15:02:02,601 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 03:02:02" (1/1) ... [2024-11-19 15:02:02,603 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-11-19 15:02:02,604 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-11-19 15:02:02,604 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-11-19 15:02:02,604 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-11-19 15:02:02,605 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 03:02:02" (1/1) ... [2024-11-19 15:02:02,612 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-11-19 15:02:02,620 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 15:02:02,633 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-11-19 15:02:02,635 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2024-11-19 15:02:02,672 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-11-19 15:02:02,673 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-11-19 15:02:02,673 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-11-19 15:02:02,673 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2024-11-19 15:02:02,673 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#3 [2024-11-19 15:02:02,673 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#4 [2024-11-19 15:02:02,673 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-11-19 15:02:02,673 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-11-19 15:02:02,674 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-11-19 15:02:02,674 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2024-11-19 15:02:02,674 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#3 [2024-11-19 15:02:02,674 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#4 [2024-11-19 15:02:02,674 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_24_to_25_0 [2024-11-19 15:02:02,674 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_24_to_25_0 [2024-11-19 15:02:02,675 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_23_to_24_0 [2024-11-19 15:02:02,675 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_23_to_24_0 [2024-11-19 15:02:02,675 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_22_to_23_0 [2024-11-19 15:02:02,675 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_22_to_23_0 [2024-11-19 15:02:02,675 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_25_to_25_0 [2024-11-19 15:02:02,676 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_25_to_25_0 [2024-11-19 15:02:02,676 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-11-19 15:02:02,676 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-11-19 15:02:02,676 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-11-19 15:02:02,676 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-11-19 15:02:02,676 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2024-11-19 15:02:02,677 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#3 [2024-11-19 15:02:02,677 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#4 [2024-11-19 15:02:02,677 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-11-19 15:02:02,750 INFO L238 CfgBuilder]: Building ICFG [2024-11-19 15:02:02,752 INFO L264 CfgBuilder]: Building CFG for each procedure with an implementation [2024-11-19 15:02:02,931 INFO L? ?]: Removed 12 outVars from TransFormulas that were not future-live. [2024-11-19 15:02:02,932 INFO L287 CfgBuilder]: Performing block encoding [2024-11-19 15:02:02,943 INFO L311 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-11-19 15:02:02,946 INFO L316 CfgBuilder]: Removed 0 assume(true) statements. [2024-11-19 15:02:02,947 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.11 03:02:02 BoogieIcfgContainer [2024-11-19 15:02:02,947 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-11-19 15:02:02,948 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2024-11-19 15:02:02,948 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2024-11-19 15:02:02,951 INFO L274 PluginConnector]: BuchiAutomizer initialized [2024-11-19 15:02:02,951 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-19 15:02:02,952 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 19.11 03:02:02" (1/3) ... [2024-11-19 15:02:02,952 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@2bc1017c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 19.11 03:02:02, skipping insertion in model container [2024-11-19 15:02:02,952 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-19 15:02:02,953 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 19.11 03:02:02" (2/3) ... [2024-11-19 15:02:02,953 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@2bc1017c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 19.11 03:02:02, skipping insertion in model container [2024-11-19 15:02:02,953 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-11-19 15:02:02,953 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.11 03:02:02" (3/3) ... [2024-11-19 15:02:02,954 INFO L332 chiAutomizerObserver]: Analyzing ICFG recursified_nested_4.c [2024-11-19 15:02:03,007 INFO L300 stractBuchiCegarLoop]: Interprodecural is true [2024-11-19 15:02:03,007 INFO L301 stractBuchiCegarLoop]: Hoare is None [2024-11-19 15:02:03,007 INFO L302 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2024-11-19 15:02:03,008 INFO L303 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2024-11-19 15:02:03,008 INFO L304 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2024-11-19 15:02:03,008 INFO L305 stractBuchiCegarLoop]: Difference is false [2024-11-19 15:02:03,008 INFO L306 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2024-11-19 15:02:03,008 INFO L310 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2024-11-19 15:02:03,011 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 41 states, 28 states have (on average 1.2857142857142858) internal successors, (36), 32 states have internal predecessors, (36), 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) [2024-11-19 15:02:03,026 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-11-19 15:02:03,027 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-19 15:02:03,027 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-19 15:02:03,032 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-11-19 15:02:03,032 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-19 15:02:03,032 INFO L332 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2024-11-19 15:02:03,033 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 41 states, 28 states have (on average 1.2857142857142858) internal successors, (36), 32 states have internal predecessors, (36), 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) [2024-11-19 15:02:03,035 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-11-19 15:02:03,035 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-19 15:02:03,035 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-19 15:02:03,036 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-11-19 15:02:03,036 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-19 15:02:03,041 INFO L745 eck$LassoCheckResult]: Stem: 37#$Ultimate##0true 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); 11#L-1true 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#3(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#4(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#2(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#1(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call write~int#3(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 29#L107true 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);< 33#$Ultimate##0true [2024-11-19 15:02:03,041 INFO L747 eck$LassoCheckResult]: Loop: 33#$Ultimate##0true ~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#3(~a.base, ~a.offset, 4); 10#L81true assume #t~mem13 < 6;havoc #t~mem13;call write~int#4(0, ~b.base, ~b.offset, 4); 21#L87true call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 20#$Ultimate##0true ~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#4(~b.base, ~b.offset, 4); 24#L61true assume !(#t~mem10 < 6);havoc #t~mem10; 6#L61-1true assume true; 9#func_to_recursive_line_23_to_24_0EXITtrue >#88#return; 15#L87-1true call #t~mem14 := read~int#3(~a.base, ~a.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#3(1 + #t~mem14, ~a.base, ~a.offset, 4);havoc #t~mem14;havoc #t~pre15; 7#L92true 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);< 33#$Ultimate##0true [2024-11-19 15:02:03,045 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:03,045 INFO L85 PathProgramCache]: Analyzing trace with hash 71610, now seen corresponding path program 1 times [2024-11-19 15:02:03,051 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:03,052 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [524292737] [2024-11-19 15:02:03,052 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 15:02:03,052 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:03,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-19 15:02:03,161 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-19 15:02:03,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-19 15:02:03,202 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-19 15:02:03,204 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:03,205 INFO L85 PathProgramCache]: Analyzing trace with hash -448633028, now seen corresponding path program 1 times [2024-11-19 15:02:03,205 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:03,205 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [449319144] [2024-11-19 15:02:03,205 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 15:02:03,205 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:03,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 15:02:03,458 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-11-19 15:02:03,458 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 15:02:03,459 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [449319144] [2024-11-19 15:02:03,460 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [449319144] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 15:02:03,460 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-19 15:02:03,460 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2024-11-19 15:02:03,461 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1959086457] [2024-11-19 15:02:03,461 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 15:02:03,464 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-11-19 15:02:03,464 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 15:02:03,504 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-11-19 15:02:03,509 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2024-11-19 15:02:03,514 INFO L87 Difference]: Start difference. First operand has 41 states, 28 states have (on average 1.2857142857142858) internal successors, (36), 32 states have internal predecessors, (36), 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) [2024-11-19 15:02:03,679 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-19 15:02:03,680 INFO L93 Difference]: Finished difference Result 44 states and 55 transitions. [2024-11-19 15:02:03,681 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 44 states and 55 transitions. [2024-11-19 15:02:03,683 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-11-19 15:02:03,691 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 44 states to 29 states and 35 transitions. [2024-11-19 15:02:03,692 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 29 [2024-11-19 15:02:03,692 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 29 [2024-11-19 15:02:03,692 INFO L73 IsDeterministic]: Start isDeterministic. Operand 29 states and 35 transitions. [2024-11-19 15:02:03,693 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-19 15:02:03,693 INFO L218 hiAutomatonCegarLoop]: Abstraction has 29 states and 35 transitions. [2024-11-19 15:02:03,705 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states and 35 transitions. [2024-11-19 15:02:03,711 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2024-11-19 15:02:03,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 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), 4 states have return successors, (7), 6 states have call predecessors, (7), 6 states have call successors, (7) [2024-11-19 15:02:03,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 35 transitions. [2024-11-19 15:02:03,713 INFO L240 hiAutomatonCegarLoop]: Abstraction has 29 states and 35 transitions. [2024-11-19 15:02:03,714 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-11-19 15:02:03,718 INFO L425 stractBuchiCegarLoop]: Abstraction has 29 states and 35 transitions. [2024-11-19 15:02:03,719 INFO L332 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2024-11-19 15:02:03,719 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 29 states and 35 transitions. [2024-11-19 15:02:03,720 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-11-19 15:02:03,720 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-19 15:02:03,720 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-19 15:02:03,721 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-11-19 15:02:03,721 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-11-19 15:02:03,721 INFO L745 eck$LassoCheckResult]: Stem: 126#$Ultimate##0 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); 114#L-1 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#3(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#4(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#2(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#1(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call write~int#3(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 110#L107 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);< 111#$Ultimate##0 [2024-11-19 15:02:03,722 INFO L747 eck$LassoCheckResult]: Loop: 111#$Ultimate##0 ~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#3(~a.base, ~a.offset, 4); 113#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#4(0, ~b.base, ~b.offset, 4); 100#L87 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 101#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 121#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 103#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 115#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 102#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 106#L41-1 assume true; 122#func_to_recursive_line_24_to_25_0EXIT >#84#return; 124#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 99#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 101#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 121#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 107#L61-1 assume true; 108#func_to_recursive_line_23_to_24_0EXIT >#86#return; 112#L61-1 assume true; 127#func_to_recursive_line_23_to_24_0EXIT >#88#return; 118#L87-1 call #t~mem14 := read~int#3(~a.base, ~a.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#3(1 + #t~mem14, ~a.base, ~a.offset, 4);havoc #t~mem14;havoc #t~pre15; 109#L92 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);< 111#$Ultimate##0 [2024-11-19 15:02:03,722 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:03,722 INFO L85 PathProgramCache]: Analyzing trace with hash 71610, now seen corresponding path program 2 times [2024-11-19 15:02:03,722 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:03,723 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1342371638] [2024-11-19 15:02:03,723 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-19 15:02:03,723 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:03,746 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2024-11-19 15:02:03,746 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-19 15:02:03,747 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-19 15:02:03,760 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-19 15:02:03,765 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-19 15:02:03,766 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:03,766 INFO L85 PathProgramCache]: Analyzing trace with hash 1860565822, now seen corresponding path program 1 times [2024-11-19 15:02:03,768 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:03,768 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2028884987] [2024-11-19 15:02:03,768 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 15:02:03,768 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:03,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 15:02:03,963 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-11-19 15:02:03,967 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 15:02:03,967 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2028884987] [2024-11-19 15:02:03,967 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2028884987] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 15:02:03,968 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-19 15:02:03,968 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2024-11-19 15:02:03,968 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1545798519] [2024-11-19 15:02:03,968 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 15:02:03,968 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-11-19 15:02:03,968 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 15:02:03,969 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-11-19 15:02:03,969 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2024-11-19 15:02:03,969 INFO L87 Difference]: Start difference. First operand 29 states and 35 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) [2024-11-19 15:02:04,054 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-19 15:02:04,054 INFO L93 Difference]: Finished difference Result 31 states and 37 transitions. [2024-11-19 15:02:04,055 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 31 states and 37 transitions. [2024-11-19 15:02:04,056 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-11-19 15:02:04,058 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 31 states to 31 states and 37 transitions. [2024-11-19 15:02:04,059 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 31 [2024-11-19 15:02:04,059 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 31 [2024-11-19 15:02:04,060 INFO L73 IsDeterministic]: Start isDeterministic. Operand 31 states and 37 transitions. [2024-11-19 15:02:04,060 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-19 15:02:04,060 INFO L218 hiAutomatonCegarLoop]: Abstraction has 31 states and 37 transitions. [2024-11-19 15:02:04,060 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states and 37 transitions. [2024-11-19 15:02:04,063 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 31. [2024-11-19 15:02:04,064 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 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), 5 states have return successors, (8), 6 states have call predecessors, (8), 6 states have call successors, (8) [2024-11-19 15:02:04,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 37 transitions. [2024-11-19 15:02:04,066 INFO L240 hiAutomatonCegarLoop]: Abstraction has 31 states and 37 transitions. [2024-11-19 15:02:04,066 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-11-19 15:02:04,066 INFO L425 stractBuchiCegarLoop]: Abstraction has 31 states and 37 transitions. [2024-11-19 15:02:04,067 INFO L332 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2024-11-19 15:02:04,067 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 31 states and 37 transitions. [2024-11-19 15:02:04,067 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-11-19 15:02:04,067 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-19 15:02:04,067 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-19 15:02:04,068 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-11-19 15:02:04,069 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] [2024-11-19 15:02:04,069 INFO L745 eck$LassoCheckResult]: Stem: 194#$Ultimate##0 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); 183#L-1 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#3(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#4(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#2(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#1(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call write~int#3(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 179#L107 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);< 180#$Ultimate##0 [2024-11-19 15:02:04,070 INFO L747 eck$LassoCheckResult]: Loop: 180#$Ultimate##0 ~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#3(~a.base, ~a.offset, 4); 182#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#4(0, ~b.base, ~b.offset, 4); 169#L87 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 170#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 190#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 172#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 184#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 171#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 174#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 186#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 196#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 188#L25-1 assume true; 189#func_to_recursive_line_25_to_25_0EXIT >#80#return; 192#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 173#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 184#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 171#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 175#L41-1 assume true; 191#func_to_recursive_line_24_to_25_0EXIT >#82#return; 195#L41-1 assume true; 197#func_to_recursive_line_24_to_25_0EXIT >#84#return; 193#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 168#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 170#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 190#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 176#L61-1 assume true; 177#func_to_recursive_line_23_to_24_0EXIT >#86#return; 181#L61-1 assume true; 198#func_to_recursive_line_23_to_24_0EXIT >#88#return; 187#L87-1 call #t~mem14 := read~int#3(~a.base, ~a.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#3(1 + #t~mem14, ~a.base, ~a.offset, 4);havoc #t~mem14;havoc #t~pre15; 178#L92 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);< 180#$Ultimate##0 [2024-11-19 15:02:04,070 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:04,070 INFO L85 PathProgramCache]: Analyzing trace with hash 71610, now seen corresponding path program 3 times [2024-11-19 15:02:04,070 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:04,071 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [279336043] [2024-11-19 15:02:04,071 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-19 15:02:04,071 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:04,086 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2024-11-19 15:02:04,089 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-19 15:02:04,089 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-19 15:02:04,096 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-19 15:02:04,101 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-19 15:02:04,102 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:04,102 INFO L85 PathProgramCache]: Analyzing trace with hash -1780666575, now seen corresponding path program 1 times [2024-11-19 15:02:04,102 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:04,102 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2124048095] [2024-11-19 15:02:04,103 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 15:02:04,103 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:04,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 15:02:04,267 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-19 15:02:04,268 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 15:02:04,268 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2124048095] [2024-11-19 15:02:04,268 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2124048095] provided 1 perfect and 0 imperfect interpolant sequences [2024-11-19 15:02:04,269 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-11-19 15:02:04,269 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2024-11-19 15:02:04,269 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [634272055] [2024-11-19 15:02:04,269 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-11-19 15:02:04,269 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-11-19 15:02:04,270 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 15:02:04,270 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-11-19 15:02:04,270 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2024-11-19 15:02:04,270 INFO L87 Difference]: Start difference. First operand 31 states and 37 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) [2024-11-19 15:02:04,336 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-19 15:02:04,336 INFO L93 Difference]: Finished difference Result 33 states and 39 transitions. [2024-11-19 15:02:04,336 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 33 states and 39 transitions. [2024-11-19 15:02:04,337 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-11-19 15:02:04,339 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 33 states to 33 states and 39 transitions. [2024-11-19 15:02:04,340 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 33 [2024-11-19 15:02:04,340 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 33 [2024-11-19 15:02:04,340 INFO L73 IsDeterministic]: Start isDeterministic. Operand 33 states and 39 transitions. [2024-11-19 15:02:04,340 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-19 15:02:04,341 INFO L218 hiAutomatonCegarLoop]: Abstraction has 33 states and 39 transitions. [2024-11-19 15:02:04,341 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states and 39 transitions. [2024-11-19 15:02:04,343 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2024-11-19 15:02:04,345 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 22 states have internal predecessors, (22), 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) [2024-11-19 15:02:04,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 39 transitions. [2024-11-19 15:02:04,346 INFO L240 hiAutomatonCegarLoop]: Abstraction has 33 states and 39 transitions. [2024-11-19 15:02:04,346 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-11-19 15:02:04,347 INFO L425 stractBuchiCegarLoop]: Abstraction has 33 states and 39 transitions. [2024-11-19 15:02:04,347 INFO L332 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2024-11-19 15:02:04,347 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 33 states and 39 transitions. [2024-11-19 15:02:04,348 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-11-19 15:02:04,348 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-19 15:02:04,348 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-19 15:02:04,350 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-11-19 15:02:04,350 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] [2024-11-19 15:02:04,351 INFO L745 eck$LassoCheckResult]: Stem: 270#$Ultimate##0 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); 258#L-1 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#3(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#4(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#2(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#1(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call write~int#3(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 254#L107 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);< 255#$Ultimate##0 [2024-11-19 15:02:04,351 INFO L747 eck$LassoCheckResult]: Loop: 255#$Ultimate##0 ~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#3(~a.base, ~a.offset, 4); 257#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#4(0, ~b.base, ~b.offset, 4); 244#L87 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 245#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 265#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 247#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 259#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 246#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 249#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 261#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 272#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 260#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 261#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 272#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 263#L25-1 assume true; 264#func_to_recursive_line_25_to_25_0EXIT >#92#return; 267#L25-1 assume true; 273#func_to_recursive_line_25_to_25_0EXIT >#80#return; 268#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 248#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 259#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 246#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 250#L41-1 assume true; 266#func_to_recursive_line_24_to_25_0EXIT >#82#return; 271#L41-1 assume true; 275#func_to_recursive_line_24_to_25_0EXIT >#84#return; 269#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 243#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 245#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 265#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 251#L61-1 assume true; 252#func_to_recursive_line_23_to_24_0EXIT >#86#return; 256#L61-1 assume true; 274#func_to_recursive_line_23_to_24_0EXIT >#88#return; 262#L87-1 call #t~mem14 := read~int#3(~a.base, ~a.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#3(1 + #t~mem14, ~a.base, ~a.offset, 4);havoc #t~mem14;havoc #t~pre15; 253#L92 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);< 255#$Ultimate##0 [2024-11-19 15:02:04,351 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:04,352 INFO L85 PathProgramCache]: Analyzing trace with hash 71610, now seen corresponding path program 4 times [2024-11-19 15:02:04,352 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:04,352 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1430299974] [2024-11-19 15:02:04,352 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-19 15:02:04,353 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:04,364 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-19 15:02:04,365 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-19 15:02:04,366 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-19 15:02:04,374 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-19 15:02:04,379 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-19 15:02:04,379 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:04,379 INFO L85 PathProgramCache]: Analyzing trace with hash -971158242, now seen corresponding path program 1 times [2024-11-19 15:02:04,379 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:04,379 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1875603617] [2024-11-19 15:02:04,380 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 15:02:04,380 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:04,396 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 15:02:04,653 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2024-11-19 15:02:04,653 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 15:02:04,654 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1875603617] [2024-11-19 15:02:04,654 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1875603617] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-19 15:02:04,654 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [921784175] [2024-11-19 15:02:04,654 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 15:02:04,654 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 15:02:04,654 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 15:02:04,656 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-19 15:02:04,657 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2024-11-19 15:02:04,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 15:02:04,739 INFO L255 TraceCheckSpWp]: Trace formula consists of 279 conjuncts, 26 conjuncts are in the unsatisfiable core [2024-11-19 15:02:04,742 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-19 15:02:04,778 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 [2024-11-19 15:02:04,907 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2024-11-19 15:02:04,907 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-19 15:02:05,401 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-19 15:02:05,404 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [921784175] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-19 15:02:05,405 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-19 15:02:05,405 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 10] total 21 [2024-11-19 15:02:05,405 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [277438130] [2024-11-19 15:02:05,405 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-19 15:02:05,405 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-11-19 15:02:05,405 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 15:02:05,406 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2024-11-19 15:02:05,406 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=331, Unknown=0, NotChecked=0, Total=420 [2024-11-19 15:02:05,406 INFO L87 Difference]: Start difference. First operand 33 states and 39 transitions. cyclomatic complexity: 10 Second operand has 21 states, 16 states have (on average 2.3125) internal successors, (37), 18 states have internal predecessors, (37), 7 states have call successors, (12), 5 states have call predecessors, (12), 7 states have return successors, (12), 4 states have call predecessors, (12), 7 states have call successors, (12) [2024-11-19 15:02:05,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-19 15:02:05,657 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2024-11-19 15:02:05,657 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 37 states and 43 transitions. [2024-11-19 15:02:05,658 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-11-19 15:02:05,659 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 37 states to 37 states and 43 transitions. [2024-11-19 15:02:05,659 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 37 [2024-11-19 15:02:05,659 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 37 [2024-11-19 15:02:05,659 INFO L73 IsDeterministic]: Start isDeterministic. Operand 37 states and 43 transitions. [2024-11-19 15:02:05,660 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-19 15:02:05,660 INFO L218 hiAutomatonCegarLoop]: Abstraction has 37 states and 43 transitions. [2024-11-19 15:02:05,660 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states and 43 transitions. [2024-11-19 15:02:05,663 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 37. [2024-11-19 15:02:05,665 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 24 states have internal predecessors, (24), 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) [2024-11-19 15:02:05,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 43 transitions. [2024-11-19 15:02:05,665 INFO L240 hiAutomatonCegarLoop]: Abstraction has 37 states and 43 transitions. [2024-11-19 15:02:05,666 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2024-11-19 15:02:05,667 INFO L425 stractBuchiCegarLoop]: Abstraction has 37 states and 43 transitions. [2024-11-19 15:02:05,667 INFO L332 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2024-11-19 15:02:05,667 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 37 states and 43 transitions. [2024-11-19 15:02:05,668 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-11-19 15:02:05,668 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-19 15:02:05,668 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-19 15:02:05,669 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-11-19 15:02:05,669 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] [2024-11-19 15:02:05,669 INFO L745 eck$LassoCheckResult]: Stem: 587#$Ultimate##0 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); 572#L-1 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#3(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#4(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#2(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#1(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call write~int#3(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 568#L107 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);< 569#$Ultimate##0 [2024-11-19 15:02:05,669 INFO L747 eck$LassoCheckResult]: Loop: 569#$Ultimate##0 ~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#3(~a.base, ~a.offset, 4); 571#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#4(0, ~b.base, ~b.offset, 4); 558#L87 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 559#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 579#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 562#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 573#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 560#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 563#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 575#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 586#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 574#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 575#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 586#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 574#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 575#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 586#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 574#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 575#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 586#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 577#L25-1 assume true; 578#func_to_recursive_line_25_to_25_0EXIT >#92#return; 582#L25-1 assume true; 593#func_to_recursive_line_25_to_25_0EXIT >#92#return; 592#L25-1 assume true; 591#func_to_recursive_line_25_to_25_0EXIT >#92#return; 589#L25-1 assume true; 588#func_to_recursive_line_25_to_25_0EXIT >#80#return; 583#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 561#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 573#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 560#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 564#L41-1 assume true; 585#func_to_recursive_line_24_to_25_0EXIT >#82#return; 580#L41-1 assume true; 581#func_to_recursive_line_24_to_25_0EXIT >#84#return; 584#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 557#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 559#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 579#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 565#L61-1 assume true; 566#func_to_recursive_line_23_to_24_0EXIT >#86#return; 570#L61-1 assume true; 590#func_to_recursive_line_23_to_24_0EXIT >#88#return; 576#L87-1 call #t~mem14 := read~int#3(~a.base, ~a.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#3(1 + #t~mem14, ~a.base, ~a.offset, 4);havoc #t~mem14;havoc #t~pre15; 567#L92 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);< 569#$Ultimate##0 [2024-11-19 15:02:05,669 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:05,670 INFO L85 PathProgramCache]: Analyzing trace with hash 71610, now seen corresponding path program 5 times [2024-11-19 15:02:05,670 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:05,670 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [801577301] [2024-11-19 15:02:05,670 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-19 15:02:05,670 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:05,681 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2024-11-19 15:02:05,681 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-19 15:02:05,681 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-19 15:02:05,685 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-19 15:02:05,688 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-19 15:02:05,689 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:05,689 INFO L85 PathProgramCache]: Analyzing trace with hash -2092880572, now seen corresponding path program 2 times [2024-11-19 15:02:05,689 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:05,690 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2064100814] [2024-11-19 15:02:05,690 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-19 15:02:05,690 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:05,717 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-19 15:02:05,717 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 15:02:06,257 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 8 proven. 15 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2024-11-19 15:02:06,258 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 15:02:06,258 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2064100814] [2024-11-19 15:02:06,258 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2064100814] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-19 15:02:06,258 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1089246563] [2024-11-19 15:02:06,258 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-19 15:02:06,258 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 15:02:06,258 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 15:02:06,274 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-19 15:02:06,276 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2024-11-19 15:02:06,363 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-19 15:02:06,363 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 15:02:06,366 INFO L255 TraceCheckSpWp]: Trace formula consists of 333 conjuncts, 50 conjuncts are in the unsatisfiable core [2024-11-19 15:02:06,368 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-19 15:02:06,377 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 [2024-11-19 15:02:06,556 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 4 proven. 15 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2024-11-19 15:02:06,556 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-19 15:02:07,689 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 4 proven. 27 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-11-19 15:02:07,690 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1089246563] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-19 15:02:07,690 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-19 15:02:07,690 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11, 18] total 33 [2024-11-19 15:02:07,690 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1492656742] [2024-11-19 15:02:07,690 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-19 15:02:07,690 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-11-19 15:02:07,690 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 15:02:07,691 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2024-11-19 15:02:07,691 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=217, Invalid=839, Unknown=0, NotChecked=0, Total=1056 [2024-11-19 15:02:07,691 INFO L87 Difference]: Start difference. First operand 37 states and 43 transitions. cyclomatic complexity: 10 Second operand has 33 states, 25 states have (on average 1.88) internal successors, (47), 28 states have internal predecessors, (47), 10 states have call successors, (15), 7 states have call predecessors, (15), 11 states have return successors, (18), 8 states have call predecessors, (18), 10 states have call successors, (18) [2024-11-19 15:02:07,999 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-19 15:02:07,999 INFO L93 Difference]: Finished difference Result 41 states and 47 transitions. [2024-11-19 15:02:07,999 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 41 states and 47 transitions. [2024-11-19 15:02:07,999 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-11-19 15:02:08,000 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 41 states to 41 states and 47 transitions. [2024-11-19 15:02:08,000 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 41 [2024-11-19 15:02:08,000 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 41 [2024-11-19 15:02:08,000 INFO L73 IsDeterministic]: Start isDeterministic. Operand 41 states and 47 transitions. [2024-11-19 15:02:08,001 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-19 15:02:08,001 INFO L218 hiAutomatonCegarLoop]: Abstraction has 41 states and 47 transitions. [2024-11-19 15:02:08,001 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states and 47 transitions. [2024-11-19 15:02:08,003 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 41. [2024-11-19 15:02:08,003 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 26 states have internal predecessors, (26), 8 states have call successors, (8), 4 states have call predecessors, (8), 10 states have return successors, (13), 10 states have call predecessors, (13), 6 states have call successors, (13) [2024-11-19 15:02:08,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 47 transitions. [2024-11-19 15:02:08,003 INFO L240 hiAutomatonCegarLoop]: Abstraction has 41 states and 47 transitions. [2024-11-19 15:02:08,003 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2024-11-19 15:02:08,004 INFO L425 stractBuchiCegarLoop]: Abstraction has 41 states and 47 transitions. [2024-11-19 15:02:08,004 INFO L332 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2024-11-19 15:02:08,004 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 41 states and 47 transitions. [2024-11-19 15:02:08,005 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-11-19 15:02:08,005 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-19 15:02:08,005 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-19 15:02:08,006 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-11-19 15:02:08,006 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [6, 6, 5, 5, 5, 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] [2024-11-19 15:02:08,006 INFO L745 eck$LassoCheckResult]: Stem: 980#$Ultimate##0 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); 968#L-1 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#3(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#4(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#2(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#1(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call write~int#3(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 964#L107 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);< 965#$Ultimate##0 [2024-11-19 15:02:08,006 INFO L747 eck$LassoCheckResult]: Loop: 965#$Ultimate##0 ~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#3(~a.base, ~a.offset, 4); 967#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#4(0, ~b.base, ~b.offset, 4); 954#L87 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 955#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 975#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 958#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 969#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 956#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 959#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 971#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 982#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 970#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 971#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 982#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 970#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 971#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 982#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 970#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 971#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 982#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 970#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 971#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 982#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 970#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 971#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 982#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 973#L25-1 assume true; 974#func_to_recursive_line_25_to_25_0EXIT >#92#return; 977#L25-1 assume true; 993#func_to_recursive_line_25_to_25_0EXIT >#92#return; 992#L25-1 assume true; 991#func_to_recursive_line_25_to_25_0EXIT >#92#return; 990#L25-1 assume true; 989#func_to_recursive_line_25_to_25_0EXIT >#92#return; 987#L25-1 assume true; 986#func_to_recursive_line_25_to_25_0EXIT >#92#return; 984#L25-1 assume true; 983#func_to_recursive_line_25_to_25_0EXIT >#80#return; 978#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 957#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 969#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 956#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 960#L41-1 assume true; 976#func_to_recursive_line_24_to_25_0EXIT >#82#return; 981#L41-1 assume true; 988#func_to_recursive_line_24_to_25_0EXIT >#84#return; 979#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 953#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 955#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 975#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 961#L61-1 assume true; 962#func_to_recursive_line_23_to_24_0EXIT >#86#return; 966#L61-1 assume true; 985#func_to_recursive_line_23_to_24_0EXIT >#88#return; 972#L87-1 call #t~mem14 := read~int#3(~a.base, ~a.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#3(1 + #t~mem14, ~a.base, ~a.offset, 4);havoc #t~mem14;havoc #t~pre15; 963#L92 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);< 965#$Ultimate##0 [2024-11-19 15:02:08,006 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:08,007 INFO L85 PathProgramCache]: Analyzing trace with hash 71610, now seen corresponding path program 6 times [2024-11-19 15:02:08,008 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:08,008 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1447351200] [2024-11-19 15:02:08,008 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-19 15:02:08,008 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:08,017 INFO L227 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2024-11-19 15:02:08,017 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-19 15:02:08,017 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-19 15:02:08,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-19 15:02:08,024 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-19 15:02:08,025 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:08,025 INFO L85 PathProgramCache]: Analyzing trace with hash 1778629226, now seen corresponding path program 3 times [2024-11-19 15:02:08,025 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:08,025 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1572378630] [2024-11-19 15:02:08,025 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-19 15:02:08,025 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:08,044 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2024-11-19 15:02:08,044 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 15:02:08,229 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 75 trivial. 0 not checked. [2024-11-19 15:02:08,230 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 15:02:08,230 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1572378630] [2024-11-19 15:02:08,230 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1572378630] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-19 15:02:08,230 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [772599168] [2024-11-19 15:02:08,230 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-19 15:02:08,230 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 15:02:08,231 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 15:02:08,232 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-19 15:02:08,233 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2024-11-19 15:02:08,322 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2024-11-19 15:02:08,322 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 15:02:08,324 INFO L255 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 32 conjuncts are in the unsatisfiable core [2024-11-19 15:02:08,327 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-19 15:02:08,335 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 [2024-11-19 15:02:08,433 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 75 trivial. 0 not checked. [2024-11-19 15:02:08,433 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-19 15:02:08,755 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 74 trivial. 0 not checked. [2024-11-19 15:02:08,757 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [772599168] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-19 15:02:08,757 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-19 15:02:08,757 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9, 10] total 20 [2024-11-19 15:02:08,757 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1121550205] [2024-11-19 15:02:08,757 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-19 15:02:08,757 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-11-19 15:02:08,757 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 15:02:08,758 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2024-11-19 15:02:08,758 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=287, Unknown=0, NotChecked=0, Total=380 [2024-11-19 15:02:08,758 INFO L87 Difference]: Start difference. First operand 41 states and 47 transitions. cyclomatic complexity: 10 Second operand has 20 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 17 states have internal predecessors, (32), 9 states have call successors, (11), 5 states have call predecessors, (11), 5 states have return successors, (11), 6 states have call predecessors, (11), 8 states have call successors, (11) [2024-11-19 15:02:08,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-19 15:02:08,919 INFO L93 Difference]: Finished difference Result 43 states and 49 transitions. [2024-11-19 15:02:08,919 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 43 states and 49 transitions. [2024-11-19 15:02:08,920 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-11-19 15:02:08,921 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 43 states to 43 states and 49 transitions. [2024-11-19 15:02:08,921 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 43 [2024-11-19 15:02:08,921 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 43 [2024-11-19 15:02:08,921 INFO L73 IsDeterministic]: Start isDeterministic. Operand 43 states and 49 transitions. [2024-11-19 15:02:08,923 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-19 15:02:08,923 INFO L218 hiAutomatonCegarLoop]: Abstraction has 43 states and 49 transitions. [2024-11-19 15:02:08,923 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states and 49 transitions. [2024-11-19 15:02:08,925 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 43. [2024-11-19 15:02:08,925 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 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), 11 states have return successors, (14), 11 states have call predecessors, (14), 6 states have call successors, (14) [2024-11-19 15:02:08,925 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 49 transitions. [2024-11-19 15:02:08,925 INFO L240 hiAutomatonCegarLoop]: Abstraction has 43 states and 49 transitions. [2024-11-19 15:02:08,926 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2024-11-19 15:02:08,926 INFO L425 stractBuchiCegarLoop]: Abstraction has 43 states and 49 transitions. [2024-11-19 15:02:08,926 INFO L332 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2024-11-19 15:02:08,926 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 43 states and 49 transitions. [2024-11-19 15:02:08,927 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-11-19 15:02:08,927 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-19 15:02:08,927 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-19 15:02:08,928 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-11-19 15:02:08,928 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [12, 12, 10, 10, 10, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2024-11-19 15:02:08,928 INFO L745 eck$LassoCheckResult]: Stem: 1424#$Ultimate##0 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); 1411#L-1 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#3(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#4(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#2(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#1(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call write~int#3(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 1407#L107 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);< 1408#$Ultimate##0 [2024-11-19 15:02:08,929 INFO L747 eck$LassoCheckResult]: Loop: 1408#$Ultimate##0 ~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#3(~a.base, ~a.offset, 4); 1410#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#4(0, ~b.base, ~b.offset, 4); 1397#L87 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 1398#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 1418#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 1400#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 1412#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 1399#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 1402#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1414#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1426#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1413#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1414#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1426#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1413#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1414#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1426#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1413#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1414#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1426#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1413#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1414#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1426#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1413#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1414#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1426#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 1416#L25-1 assume true; 1417#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1421#L25-1 assume true; 1438#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1437#L25-1 assume true; 1436#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1435#L25-1 assume true; 1434#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1433#L25-1 assume true; 1431#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1428#L25-1 assume true; 1427#func_to_recursive_line_25_to_25_0EXIT >#80#return; 1422#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 1401#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 1412#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 1399#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 1403#L41-1 assume true; 1425#func_to_recursive_line_24_to_25_0EXIT >#82#return; 1419#L41-1 assume true; 1420#func_to_recursive_line_24_to_25_0EXIT >#84#return; 1423#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 1396#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 1398#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 1418#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 1400#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 1412#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 1399#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 1402#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1414#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1426#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1413#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1414#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1426#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1413#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1414#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1426#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1413#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1414#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1426#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1413#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1414#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1426#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1413#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1414#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1426#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 1416#L25-1 assume true; 1417#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1421#L25-1 assume true; 1438#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1437#L25-1 assume true; 1436#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1435#L25-1 assume true; 1434#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1433#L25-1 assume true; 1431#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1428#L25-1 assume true; 1427#func_to_recursive_line_25_to_25_0EXIT >#80#return; 1422#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 1401#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 1412#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 1399#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 1403#L41-1 assume true; 1425#func_to_recursive_line_24_to_25_0EXIT >#82#return; 1419#L41-1 assume true; 1420#func_to_recursive_line_24_to_25_0EXIT >#84#return; 1423#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 1396#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 1398#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 1418#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 1404#L61-1 assume true; 1405#func_to_recursive_line_23_to_24_0EXIT >#86#return; 1409#L61-1 assume true; 1432#func_to_recursive_line_23_to_24_0EXIT >#86#return; 1430#L61-1 assume true; 1429#func_to_recursive_line_23_to_24_0EXIT >#88#return; 1415#L87-1 call #t~mem14 := read~int#3(~a.base, ~a.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#3(1 + #t~mem14, ~a.base, ~a.offset, 4);havoc #t~mem14;havoc #t~pre15; 1406#L92 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);< 1408#$Ultimate##0 [2024-11-19 15:02:08,929 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:08,929 INFO L85 PathProgramCache]: Analyzing trace with hash 71610, now seen corresponding path program 7 times [2024-11-19 15:02:08,930 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:08,930 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1563775481] [2024-11-19 15:02:08,930 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-19 15:02:08,930 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:08,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-19 15:02:08,938 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-19 15:02:08,941 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-19 15:02:08,943 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-19 15:02:08,944 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:08,944 INFO L85 PathProgramCache]: Analyzing trace with hash -1106212002, now seen corresponding path program 4 times [2024-11-19 15:02:08,944 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:08,944 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1308294113] [2024-11-19 15:02:08,944 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-19 15:02:08,944 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:08,968 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-19 15:02:08,968 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 15:02:09,366 INFO L134 CoverageAnalysis]: Checked inductivity of 351 backedges. 26 proven. 3 refuted. 0 times theorem prover too weak. 322 trivial. 0 not checked. [2024-11-19 15:02:09,366 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 15:02:09,367 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1308294113] [2024-11-19 15:02:09,367 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1308294113] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-19 15:02:09,367 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [871857819] [2024-11-19 15:02:09,367 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-19 15:02:09,367 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 15:02:09,368 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 15:02:09,369 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-19 15:02:09,371 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2024-11-19 15:02:09,505 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-19 15:02:09,506 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 15:02:09,509 INFO L255 TraceCheckSpWp]: Trace formula consists of 670 conjuncts, 96 conjuncts are in the unsatisfiable core [2024-11-19 15:02:09,515 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-19 15:02:09,526 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 [2024-11-19 15:02:09,793 INFO L190 IndexEqualityManager]: detected not equals via solver [2024-11-19 15:02:09,794 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 1 [2024-11-19 15:02:09,798 INFO L134 CoverageAnalysis]: Checked inductivity of 351 backedges. 181 proven. 35 refuted. 0 times theorem prover too weak. 135 trivial. 0 not checked. [2024-11-19 15:02:09,799 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-19 15:02:11,844 INFO L134 CoverageAnalysis]: Checked inductivity of 351 backedges. 6 proven. 248 refuted. 0 times theorem prover too weak. 97 trivial. 0 not checked. [2024-11-19 15:02:11,844 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [871857819] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-19 15:02:11,844 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-19 15:02:11,845 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 14, 26] total 45 [2024-11-19 15:02:11,845 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [672352] [2024-11-19 15:02:11,845 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-19 15:02:11,846 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-11-19 15:02:11,846 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 15:02:11,846 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 45 interpolants. [2024-11-19 15:02:11,847 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=299, Invalid=1681, Unknown=0, NotChecked=0, Total=1980 [2024-11-19 15:02:11,847 INFO L87 Difference]: Start difference. First operand 43 states and 49 transitions. cyclomatic complexity: 10 Second operand has 45 states, 35 states have (on average 2.0) internal successors, (70), 37 states have internal predecessors, (70), 13 states have call successors, (25), 10 states have call predecessors, (25), 16 states have return successors, (30), 14 states have call predecessors, (30), 13 states have call successors, (30) [2024-11-19 15:02:12,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-19 15:02:12,585 INFO L93 Difference]: Finished difference Result 47 states and 53 transitions. [2024-11-19 15:02:12,585 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 47 states and 53 transitions. [2024-11-19 15:02:12,585 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-11-19 15:02:12,586 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 47 states to 47 states and 53 transitions. [2024-11-19 15:02:12,586 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 47 [2024-11-19 15:02:12,586 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 47 [2024-11-19 15:02:12,586 INFO L73 IsDeterministic]: Start isDeterministic. Operand 47 states and 53 transitions. [2024-11-19 15:02:12,587 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-19 15:02:12,587 INFO L218 hiAutomatonCegarLoop]: Abstraction has 47 states and 53 transitions. [2024-11-19 15:02:12,587 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states and 53 transitions. [2024-11-19 15:02:12,589 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 47. [2024-11-19 15:02:12,589 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 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), 13 states have return successors, (16), 13 states have call predecessors, (16), 6 states have call successors, (16) [2024-11-19 15:02:12,589 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 53 transitions. [2024-11-19 15:02:12,589 INFO L240 hiAutomatonCegarLoop]: Abstraction has 47 states and 53 transitions. [2024-11-19 15:02:12,591 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2024-11-19 15:02:12,591 INFO L425 stractBuchiCegarLoop]: Abstraction has 47 states and 53 transitions. [2024-11-19 15:02:12,591 INFO L332 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2024-11-19 15:02:12,592 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 47 states and 53 transitions. [2024-11-19 15:02:12,592 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-11-19 15:02:12,592 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-19 15:02:12,592 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-19 15:02:12,594 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-11-19 15:02:12,596 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [28, 28, 24, 24, 24, 6, 6, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2024-11-19 15:02:12,596 INFO L745 eck$LassoCheckResult]: Stem: 2208#$Ultimate##0 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); 2194#L-1 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#3(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#4(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#2(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#1(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call write~int#3(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 2190#L107 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);< 2191#$Ultimate##0 [2024-11-19 15:02:12,596 INFO L747 eck$LassoCheckResult]: Loop: 2191#$Ultimate##0 ~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#3(~a.base, ~a.offset, 4); 2193#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#4(0, ~b.base, ~b.offset, 4); 2180#L87 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 2181#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 2201#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 2184#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 2195#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 2182#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 2185#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 2197#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 2197#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 2197#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 2197#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 2197#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 2197#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 2199#L25-1 assume true; 2200#func_to_recursive_line_25_to_25_0EXIT >#92#return; 2203#L25-1 assume true; 2224#func_to_recursive_line_25_to_25_0EXIT >#92#return; 2223#L25-1 assume true; 2222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 2219#L25-1 assume true; 2218#func_to_recursive_line_25_to_25_0EXIT >#92#return; 2217#L25-1 assume true; 2216#func_to_recursive_line_25_to_25_0EXIT >#92#return; 2215#L25-1 assume true; 2214#func_to_recursive_line_25_to_25_0EXIT >#92#return; 2212#L25-1 assume true; 2211#func_to_recursive_line_25_to_25_0EXIT >#80#return; 2204#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 2183#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 2195#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 2182#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 2185#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 2197#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 2197#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 2197#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 2197#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 2197#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 2197#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 2199#L25-1 assume true; 2200#func_to_recursive_line_25_to_25_0EXIT >#92#return; 2203#L25-1 assume true; 2224#func_to_recursive_line_25_to_25_0EXIT >#92#return; 2223#L25-1 assume true; 2222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 2219#L25-1 assume true; 2218#func_to_recursive_line_25_to_25_0EXIT >#92#return; 2217#L25-1 assume true; 2216#func_to_recursive_line_25_to_25_0EXIT >#92#return; 2215#L25-1 assume true; 2214#func_to_recursive_line_25_to_25_0EXIT >#92#return; 2212#L25-1 assume true; 2211#func_to_recursive_line_25_to_25_0EXIT >#80#return; 2204#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 2183#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 2195#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 2182#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 2186#L41-1 assume true; 2202#func_to_recursive_line_24_to_25_0EXIT >#82#return; 2206#L41-1 assume true; 2225#func_to_recursive_line_24_to_25_0EXIT >#82#return; 2221#L41-1 assume true; 2220#func_to_recursive_line_24_to_25_0EXIT >#84#return; 2205#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 2179#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 2181#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 2201#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 2184#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 2195#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 2182#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 2185#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 2197#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 2197#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 2197#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 2197#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 2197#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 2197#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 2199#L25-1 assume true; 2200#func_to_recursive_line_25_to_25_0EXIT >#92#return; 2203#L25-1 assume true; 2224#func_to_recursive_line_25_to_25_0EXIT >#92#return; 2223#L25-1 assume true; 2222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 2219#L25-1 assume true; 2218#func_to_recursive_line_25_to_25_0EXIT >#92#return; 2217#L25-1 assume true; 2216#func_to_recursive_line_25_to_25_0EXIT >#92#return; 2215#L25-1 assume true; 2214#func_to_recursive_line_25_to_25_0EXIT >#92#return; 2212#L25-1 assume true; 2211#func_to_recursive_line_25_to_25_0EXIT >#80#return; 2204#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 2183#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 2195#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 2182#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 2185#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 2197#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 2197#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 2197#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 2197#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 2197#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 2197#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 2198#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 2207#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 2199#L25-1 assume true; 2200#func_to_recursive_line_25_to_25_0EXIT >#92#return; 2203#L25-1 assume true; 2224#func_to_recursive_line_25_to_25_0EXIT >#92#return; 2223#L25-1 assume true; 2222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 2219#L25-1 assume true; 2218#func_to_recursive_line_25_to_25_0EXIT >#92#return; 2217#L25-1 assume true; 2216#func_to_recursive_line_25_to_25_0EXIT >#92#return; 2215#L25-1 assume true; 2214#func_to_recursive_line_25_to_25_0EXIT >#92#return; 2212#L25-1 assume true; 2211#func_to_recursive_line_25_to_25_0EXIT >#80#return; 2204#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 2183#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 2195#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 2182#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 2186#L41-1 assume true; 2202#func_to_recursive_line_24_to_25_0EXIT >#82#return; 2206#L41-1 assume true; 2225#func_to_recursive_line_24_to_25_0EXIT >#82#return; 2221#L41-1 assume true; 2220#func_to_recursive_line_24_to_25_0EXIT >#84#return; 2205#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 2179#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 2181#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 2201#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 2187#L61-1 assume true; 2188#func_to_recursive_line_23_to_24_0EXIT >#86#return; 2192#L61-1 assume true; 2213#func_to_recursive_line_23_to_24_0EXIT >#86#return; 2210#L61-1 assume true; 2209#func_to_recursive_line_23_to_24_0EXIT >#88#return; 2196#L87-1 call #t~mem14 := read~int#3(~a.base, ~a.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#3(1 + #t~mem14, ~a.base, ~a.offset, 4);havoc #t~mem14;havoc #t~pre15; 2189#L92 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);< 2191#$Ultimate##0 [2024-11-19 15:02:12,597 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:12,597 INFO L85 PathProgramCache]: Analyzing trace with hash 71610, now seen corresponding path program 8 times [2024-11-19 15:02:12,597 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:12,597 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1720868399] [2024-11-19 15:02:12,597 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-19 15:02:12,597 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:12,604 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2024-11-19 15:02:12,604 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-19 15:02:12,604 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-19 15:02:12,607 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-19 15:02:12,609 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-19 15:02:12,609 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:12,609 INFO L85 PathProgramCache]: Analyzing trace with hash -348424290, now seen corresponding path program 5 times [2024-11-19 15:02:12,609 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:12,609 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1769989416] [2024-11-19 15:02:12,609 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-19 15:02:12,610 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:12,727 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 9 check-sat command(s) [2024-11-19 15:02:12,727 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 15:02:13,508 INFO L134 CoverageAnalysis]: Checked inductivity of 1881 backedges. 8 proven. 59 refuted. 0 times theorem prover too weak. 1814 trivial. 0 not checked. [2024-11-19 15:02:13,508 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 15:02:13,508 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1769989416] [2024-11-19 15:02:13,508 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1769989416] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-19 15:02:13,508 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1118436661] [2024-11-19 15:02:13,509 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-19 15:02:13,509 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 15:02:13,509 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 15:02:13,513 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-19 15:02:13,514 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2024-11-19 15:02:14,203 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 9 check-sat command(s) [2024-11-19 15:02:14,203 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 15:02:14,208 INFO L255 TraceCheckSpWp]: Trace formula consists of 990 conjuncts, 43 conjuncts are in the unsatisfiable core [2024-11-19 15:02:14,212 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-19 15:02:14,218 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 [2024-11-19 15:02:14,401 INFO L134 CoverageAnalysis]: Checked inductivity of 1881 backedges. 981 proven. 8 refuted. 0 times theorem prover too weak. 892 trivial. 0 not checked. [2024-11-19 15:02:14,401 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-19 15:02:15,273 INFO L134 CoverageAnalysis]: Checked inductivity of 1881 backedges. 4 proven. 66 refuted. 0 times theorem prover too weak. 1811 trivial. 0 not checked. [2024-11-19 15:02:15,273 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1118436661] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-19 15:02:15,274 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-19 15:02:15,274 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10, 14] total 28 [2024-11-19 15:02:15,274 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1829218694] [2024-11-19 15:02:15,274 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-19 15:02:15,274 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-11-19 15:02:15,274 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 15:02:15,275 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2024-11-19 15:02:15,275 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=150, Invalid=606, Unknown=0, NotChecked=0, Total=756 [2024-11-19 15:02:15,275 INFO L87 Difference]: Start difference. First operand 47 states and 53 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) [2024-11-19 15:02:15,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-19 15:02:15,496 INFO L93 Difference]: Finished difference Result 51 states and 57 transitions. [2024-11-19 15:02:15,497 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 51 states and 57 transitions. [2024-11-19 15:02:15,497 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-11-19 15:02:15,498 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 51 states to 51 states and 57 transitions. [2024-11-19 15:02:15,498 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 51 [2024-11-19 15:02:15,498 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 51 [2024-11-19 15:02:15,498 INFO L73 IsDeterministic]: Start isDeterministic. Operand 51 states and 57 transitions. [2024-11-19 15:02:15,498 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-19 15:02:15,498 INFO L218 hiAutomatonCegarLoop]: Abstraction has 51 states and 57 transitions. [2024-11-19 15:02:15,499 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states and 57 transitions. [2024-11-19 15:02:15,500 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 51. [2024-11-19 15:02:15,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 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), 15 states have return successors, (18), 15 states have call predecessors, (18), 6 states have call successors, (18) [2024-11-19 15:02:15,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 57 transitions. [2024-11-19 15:02:15,501 INFO L240 hiAutomatonCegarLoop]: Abstraction has 51 states and 57 transitions. [2024-11-19 15:02:15,501 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2024-11-19 15:02:15,502 INFO L425 stractBuchiCegarLoop]: Abstraction has 51 states and 57 transitions. [2024-11-19 15:02:15,502 INFO L332 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2024-11-19 15:02:15,502 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 51 states and 57 transitions. [2024-11-19 15:02:15,502 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-11-19 15:02:15,502 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-19 15:02:15,502 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-19 15:02:15,505 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-11-19 15:02:15,505 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [56, 56, 48, 48, 48, 10, 10, 8, 8, 8, 8, 8, 8, 8, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2024-11-19 15:02:15,506 INFO L745 eck$LassoCheckResult]: Stem: 3512#$Ultimate##0 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); 3499#L-1 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#3(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#4(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#2(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#1(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call write~int#3(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 3495#L107 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);< 3496#$Ultimate##0 [2024-11-19 15:02:15,506 INFO L747 eck$LassoCheckResult]: Loop: 3496#$Ultimate##0 ~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#3(~a.base, ~a.offset, 4); 3498#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#4(0, ~b.base, ~b.offset, 4); 3485#L87 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 3486#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 3506#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 3488#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 3500#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 3487#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 3490#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 3504#L25-1 assume true; 3505#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3508#L25-1 assume true; 3529#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3528#L25-1 assume true; 3527#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3524#L25-1 assume true; 3523#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3522#L25-1 assume true; 3521#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3520#L25-1 assume true; 3519#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3517#L25-1 assume true; 3516#func_to_recursive_line_25_to_25_0EXIT >#80#return; 3509#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 3489#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 3500#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 3487#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 3490#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 3504#L25-1 assume true; 3505#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3508#L25-1 assume true; 3529#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3528#L25-1 assume true; 3527#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3524#L25-1 assume true; 3523#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3522#L25-1 assume true; 3521#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3520#L25-1 assume true; 3519#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3517#L25-1 assume true; 3516#func_to_recursive_line_25_to_25_0EXIT >#80#return; 3509#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 3489#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 3500#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 3487#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 3490#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 3504#L25-1 assume true; 3505#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3508#L25-1 assume true; 3529#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3528#L25-1 assume true; 3527#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3524#L25-1 assume true; 3523#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3522#L25-1 assume true; 3521#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3520#L25-1 assume true; 3519#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3517#L25-1 assume true; 3516#func_to_recursive_line_25_to_25_0EXIT >#80#return; 3509#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 3489#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 3500#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 3487#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 3490#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 3504#L25-1 assume true; 3505#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3508#L25-1 assume true; 3529#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3528#L25-1 assume true; 3527#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3524#L25-1 assume true; 3523#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3522#L25-1 assume true; 3521#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3520#L25-1 assume true; 3519#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3517#L25-1 assume true; 3516#func_to_recursive_line_25_to_25_0EXIT >#80#return; 3509#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 3489#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 3500#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 3487#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 3491#L41-1 assume true; 3507#func_to_recursive_line_24_to_25_0EXIT >#82#return; 3511#L41-1 assume true; 3534#func_to_recursive_line_24_to_25_0EXIT >#82#return; 3533#L41-1 assume true; 3532#func_to_recursive_line_24_to_25_0EXIT >#82#return; 3531#L41-1 assume true; 3530#func_to_recursive_line_24_to_25_0EXIT >#82#return; 3526#L41-1 assume true; 3525#func_to_recursive_line_24_to_25_0EXIT >#84#return; 3510#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 3484#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 3486#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 3506#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 3488#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 3500#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 3487#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 3490#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 3504#L25-1 assume true; 3505#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3508#L25-1 assume true; 3529#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3528#L25-1 assume true; 3527#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3524#L25-1 assume true; 3523#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3522#L25-1 assume true; 3521#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3520#L25-1 assume true; 3519#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3517#L25-1 assume true; 3516#func_to_recursive_line_25_to_25_0EXIT >#80#return; 3509#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 3489#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 3500#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 3487#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 3490#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 3504#L25-1 assume true; 3505#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3508#L25-1 assume true; 3529#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3528#L25-1 assume true; 3527#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3524#L25-1 assume true; 3523#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3522#L25-1 assume true; 3521#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3520#L25-1 assume true; 3519#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3517#L25-1 assume true; 3516#func_to_recursive_line_25_to_25_0EXIT >#80#return; 3509#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 3489#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 3500#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 3487#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 3490#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 3504#L25-1 assume true; 3505#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3508#L25-1 assume true; 3529#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3528#L25-1 assume true; 3527#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3524#L25-1 assume true; 3523#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3522#L25-1 assume true; 3521#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3520#L25-1 assume true; 3519#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3517#L25-1 assume true; 3516#func_to_recursive_line_25_to_25_0EXIT >#80#return; 3509#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 3489#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 3500#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 3487#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 3490#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3502#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3503#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3513#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 3504#L25-1 assume true; 3505#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3508#L25-1 assume true; 3529#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3528#L25-1 assume true; 3527#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3524#L25-1 assume true; 3523#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3522#L25-1 assume true; 3521#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3520#L25-1 assume true; 3519#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3517#L25-1 assume true; 3516#func_to_recursive_line_25_to_25_0EXIT >#80#return; 3509#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 3489#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 3500#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 3487#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 3491#L41-1 assume true; 3507#func_to_recursive_line_24_to_25_0EXIT >#82#return; 3511#L41-1 assume true; 3534#func_to_recursive_line_24_to_25_0EXIT >#82#return; 3533#L41-1 assume true; 3532#func_to_recursive_line_24_to_25_0EXIT >#82#return; 3531#L41-1 assume true; 3530#func_to_recursive_line_24_to_25_0EXIT >#82#return; 3526#L41-1 assume true; 3525#func_to_recursive_line_24_to_25_0EXIT >#84#return; 3510#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 3484#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 3486#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 3506#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 3492#L61-1 assume true; 3493#func_to_recursive_line_23_to_24_0EXIT >#86#return; 3497#L61-1 assume true; 3518#func_to_recursive_line_23_to_24_0EXIT >#86#return; 3515#L61-1 assume true; 3514#func_to_recursive_line_23_to_24_0EXIT >#88#return; 3501#L87-1 call #t~mem14 := read~int#3(~a.base, ~a.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#3(1 + #t~mem14, ~a.base, ~a.offset, 4);havoc #t~mem14;havoc #t~pre15; 3494#L92 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);< 3496#$Ultimate##0 [2024-11-19 15:02:15,507 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:15,507 INFO L85 PathProgramCache]: Analyzing trace with hash 71610, now seen corresponding path program 9 times [2024-11-19 15:02:15,507 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:15,507 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [475985107] [2024-11-19 15:02:15,507 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-19 15:02:15,507 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:15,512 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2024-11-19 15:02:15,513 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-19 15:02:15,513 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-19 15:02:15,515 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-19 15:02:15,517 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-19 15:02:15,517 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:15,517 INFO L85 PathProgramCache]: Analyzing trace with hash -1882058786, now seen corresponding path program 6 times [2024-11-19 15:02:15,517 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:15,517 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1110884122] [2024-11-19 15:02:15,517 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-19 15:02:15,517 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:15,548 INFO L227 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2024-11-19 15:02:15,548 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 15:02:15,852 INFO L134 CoverageAnalysis]: Checked inductivity of 7567 backedges. 3 proven. 9 refuted. 0 times theorem prover too weak. 7555 trivial. 0 not checked. [2024-11-19 15:02:15,852 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 15:02:15,852 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1110884122] [2024-11-19 15:02:15,852 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1110884122] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-19 15:02:15,852 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [497900271] [2024-11-19 15:02:15,853 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-19 15:02:15,853 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 15:02:15,853 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 15:02:15,854 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-19 15:02:15,856 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2024-11-19 15:02:16,028 INFO L227 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2024-11-19 15:02:16,028 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 15:02:16,030 INFO L255 TraceCheckSpWp]: Trace formula consists of 342 conjuncts, 43 conjuncts are in the unsatisfiable core [2024-11-19 15:02:16,038 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-19 15:02:16,044 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 [2024-11-19 15:02:16,199 INFO L134 CoverageAnalysis]: Checked inductivity of 7567 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 7559 trivial. 0 not checked. [2024-11-19 15:02:16,199 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-19 15:02:17,341 INFO L134 CoverageAnalysis]: Checked inductivity of 7567 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 7552 trivial. 0 not checked. [2024-11-19 15:02:17,342 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [497900271] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-19 15:02:17,342 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-19 15:02:17,342 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10, 14] total 29 [2024-11-19 15:02:17,342 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1580750811] [2024-11-19 15:02:17,342 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-19 15:02:17,343 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-11-19 15:02:17,343 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 15:02:17,343 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2024-11-19 15:02:17,344 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=159, Invalid=653, Unknown=0, NotChecked=0, Total=812 [2024-11-19 15:02:17,344 INFO L87 Difference]: Start difference. First operand 51 states and 57 transitions. cyclomatic complexity: 10 Second operand has 29 states, 21 states have (on average 1.9047619047619047) internal successors, (40), 25 states have internal predecessors, (40), 14 states have call successors, (16), 6 states have call predecessors, (16), 8 states have return successors, (16), 11 states have call predecessors, (16), 13 states have call successors, (16) [2024-11-19 15:02:17,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-19 15:02:17,593 INFO L93 Difference]: Finished difference Result 55 states and 61 transitions. [2024-11-19 15:02:17,594 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 55 states and 61 transitions. [2024-11-19 15:02:17,594 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-11-19 15:02:17,595 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 55 states to 55 states and 61 transitions. [2024-11-19 15:02:17,595 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 55 [2024-11-19 15:02:17,595 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 55 [2024-11-19 15:02:17,595 INFO L73 IsDeterministic]: Start isDeterministic. Operand 55 states and 61 transitions. [2024-11-19 15:02:17,595 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-19 15:02:17,595 INFO L218 hiAutomatonCegarLoop]: Abstraction has 55 states and 61 transitions. [2024-11-19 15:02:17,595 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states and 61 transitions. [2024-11-19 15:02:17,600 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2024-11-19 15:02:17,600 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 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), 17 states have return successors, (20), 17 states have call predecessors, (20), 6 states have call successors, (20) [2024-11-19 15:02:17,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 61 transitions. [2024-11-19 15:02:17,601 INFO L240 hiAutomatonCegarLoop]: Abstraction has 55 states and 61 transitions. [2024-11-19 15:02:17,601 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2024-11-19 15:02:17,601 INFO L425 stractBuchiCegarLoop]: Abstraction has 55 states and 61 transitions. [2024-11-19 15:02:17,601 INFO L332 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2024-11-19 15:02:17,601 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 55 states and 61 transitions. [2024-11-19 15:02:17,602 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-11-19 15:02:17,602 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-19 15:02:17,602 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-19 15:02:17,608 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-11-19 15:02:17,608 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [112, 112, 96, 96, 96, 20, 20, 16, 16, 16, 16, 16, 16, 16, 5, 5, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1] [2024-11-19 15:02:17,608 INFO L745 eck$LassoCheckResult]: Stem: 5811#$Ultimate##0 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); 5797#L-1 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#3(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#4(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#2(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#1(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call write~int#3(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 5793#L107 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);< 5794#$Ultimate##0 [2024-11-19 15:02:17,609 INFO L747 eck$LassoCheckResult]: Loop: 5794#$Ultimate##0 ~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#3(~a.base, ~a.offset, 4); 5796#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#4(0, ~b.base, ~b.offset, 4); 5783#L87 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 5784#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 5804#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 5786#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 5798#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 5785#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 5788#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 5802#L25-1 assume true; 5803#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5807#L25-1 assume true; 5830#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5829#L25-1 assume true; 5828#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5827#L25-1 assume true; 5826#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5824#L25-1 assume true; 5822#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5820#L25-1 assume true; 5818#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5816#L25-1 assume true; 5815#func_to_recursive_line_25_to_25_0EXIT >#80#return; 5808#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 5787#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 5798#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 5785#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 5788#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 5802#L25-1 assume true; 5803#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5807#L25-1 assume true; 5830#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5829#L25-1 assume true; 5828#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5827#L25-1 assume true; 5826#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5824#L25-1 assume true; 5822#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5820#L25-1 assume true; 5818#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5816#L25-1 assume true; 5815#func_to_recursive_line_25_to_25_0EXIT >#80#return; 5808#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 5787#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 5798#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 5785#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 5788#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 5802#L25-1 assume true; 5803#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5807#L25-1 assume true; 5830#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5829#L25-1 assume true; 5828#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5827#L25-1 assume true; 5826#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5824#L25-1 assume true; 5822#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5820#L25-1 assume true; 5818#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5816#L25-1 assume true; 5815#func_to_recursive_line_25_to_25_0EXIT >#80#return; 5808#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 5787#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 5798#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 5785#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 5788#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 5802#L25-1 assume true; 5803#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5807#L25-1 assume true; 5830#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5829#L25-1 assume true; 5828#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5827#L25-1 assume true; 5826#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5824#L25-1 assume true; 5822#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5820#L25-1 assume true; 5818#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5816#L25-1 assume true; 5815#func_to_recursive_line_25_to_25_0EXIT >#80#return; 5808#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 5787#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 5798#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 5785#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 5789#L41-1 assume true; 5810#func_to_recursive_line_24_to_25_0EXIT >#82#return; 5805#L41-1 assume true; 5806#func_to_recursive_line_24_to_25_0EXIT >#82#return; 5836#L41-1 assume true; 5835#func_to_recursive_line_24_to_25_0EXIT >#82#return; 5834#L41-1 assume true; 5833#func_to_recursive_line_24_to_25_0EXIT >#82#return; 5832#L41-1 assume true; 5831#func_to_recursive_line_24_to_25_0EXIT >#84#return; 5809#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 5782#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 5784#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 5804#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 5786#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 5798#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 5785#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 5788#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 5802#L25-1 assume true; 5803#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5807#L25-1 assume true; 5830#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5829#L25-1 assume true; 5828#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5827#L25-1 assume true; 5826#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5824#L25-1 assume true; 5822#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5820#L25-1 assume true; 5818#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5816#L25-1 assume true; 5815#func_to_recursive_line_25_to_25_0EXIT >#80#return; 5808#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 5787#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 5798#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 5785#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 5788#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 5802#L25-1 assume true; 5803#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5807#L25-1 assume true; 5830#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5829#L25-1 assume true; 5828#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5827#L25-1 assume true; 5826#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5824#L25-1 assume true; 5822#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5820#L25-1 assume true; 5818#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5816#L25-1 assume true; 5815#func_to_recursive_line_25_to_25_0EXIT >#80#return; 5808#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 5787#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 5798#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 5785#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 5788#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 5802#L25-1 assume true; 5803#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5807#L25-1 assume true; 5830#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5829#L25-1 assume true; 5828#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5827#L25-1 assume true; 5826#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5824#L25-1 assume true; 5822#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5820#L25-1 assume true; 5818#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5816#L25-1 assume true; 5815#func_to_recursive_line_25_to_25_0EXIT >#80#return; 5808#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 5787#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 5798#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 5785#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 5788#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 5802#L25-1 assume true; 5803#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5807#L25-1 assume true; 5830#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5829#L25-1 assume true; 5828#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5827#L25-1 assume true; 5826#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5824#L25-1 assume true; 5822#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5820#L25-1 assume true; 5818#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5816#L25-1 assume true; 5815#func_to_recursive_line_25_to_25_0EXIT >#80#return; 5808#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 5787#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 5798#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 5785#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 5789#L41-1 assume true; 5810#func_to_recursive_line_24_to_25_0EXIT >#82#return; 5805#L41-1 assume true; 5806#func_to_recursive_line_24_to_25_0EXIT >#82#return; 5836#L41-1 assume true; 5835#func_to_recursive_line_24_to_25_0EXIT >#82#return; 5834#L41-1 assume true; 5833#func_to_recursive_line_24_to_25_0EXIT >#82#return; 5832#L41-1 assume true; 5831#func_to_recursive_line_24_to_25_0EXIT >#84#return; 5809#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 5782#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 5784#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 5804#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 5786#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 5798#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 5785#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 5788#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 5802#L25-1 assume true; 5803#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5807#L25-1 assume true; 5830#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5829#L25-1 assume true; 5828#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5827#L25-1 assume true; 5826#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5824#L25-1 assume true; 5822#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5820#L25-1 assume true; 5818#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5816#L25-1 assume true; 5815#func_to_recursive_line_25_to_25_0EXIT >#80#return; 5808#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 5787#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 5798#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 5785#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 5788#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 5802#L25-1 assume true; 5803#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5807#L25-1 assume true; 5830#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5829#L25-1 assume true; 5828#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5827#L25-1 assume true; 5826#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5824#L25-1 assume true; 5822#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5820#L25-1 assume true; 5818#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5816#L25-1 assume true; 5815#func_to_recursive_line_25_to_25_0EXIT >#80#return; 5808#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 5787#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 5798#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 5785#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 5788#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 5802#L25-1 assume true; 5803#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5807#L25-1 assume true; 5830#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5829#L25-1 assume true; 5828#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5827#L25-1 assume true; 5826#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5824#L25-1 assume true; 5822#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5820#L25-1 assume true; 5818#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5816#L25-1 assume true; 5815#func_to_recursive_line_25_to_25_0EXIT >#80#return; 5808#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 5787#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 5798#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 5785#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 5788#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 5802#L25-1 assume true; 5803#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5807#L25-1 assume true; 5830#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5829#L25-1 assume true; 5828#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5827#L25-1 assume true; 5826#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5824#L25-1 assume true; 5822#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5820#L25-1 assume true; 5818#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5816#L25-1 assume true; 5815#func_to_recursive_line_25_to_25_0EXIT >#80#return; 5808#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 5787#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 5798#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 5785#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 5789#L41-1 assume true; 5810#func_to_recursive_line_24_to_25_0EXIT >#82#return; 5805#L41-1 assume true; 5806#func_to_recursive_line_24_to_25_0EXIT >#82#return; 5836#L41-1 assume true; 5835#func_to_recursive_line_24_to_25_0EXIT >#82#return; 5834#L41-1 assume true; 5833#func_to_recursive_line_24_to_25_0EXIT >#82#return; 5832#L41-1 assume true; 5831#func_to_recursive_line_24_to_25_0EXIT >#84#return; 5809#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 5782#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 5784#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 5804#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 5786#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 5798#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 5785#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 5788#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 5802#L25-1 assume true; 5803#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5807#L25-1 assume true; 5830#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5829#L25-1 assume true; 5828#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5827#L25-1 assume true; 5826#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5824#L25-1 assume true; 5822#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5820#L25-1 assume true; 5818#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5816#L25-1 assume true; 5815#func_to_recursive_line_25_to_25_0EXIT >#80#return; 5808#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 5787#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 5798#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 5785#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 5788#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 5802#L25-1 assume true; 5803#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5807#L25-1 assume true; 5830#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5829#L25-1 assume true; 5828#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5827#L25-1 assume true; 5826#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5824#L25-1 assume true; 5822#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5820#L25-1 assume true; 5818#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5816#L25-1 assume true; 5815#func_to_recursive_line_25_to_25_0EXIT >#80#return; 5808#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 5787#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 5798#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 5785#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 5788#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 5802#L25-1 assume true; 5803#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5807#L25-1 assume true; 5830#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5829#L25-1 assume true; 5828#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5827#L25-1 assume true; 5826#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5824#L25-1 assume true; 5822#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5820#L25-1 assume true; 5818#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5816#L25-1 assume true; 5815#func_to_recursive_line_25_to_25_0EXIT >#80#return; 5808#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 5787#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 5798#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 5785#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 5788#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 5800#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 5801#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 5812#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 5802#L25-1 assume true; 5803#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5807#L25-1 assume true; 5830#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5829#L25-1 assume true; 5828#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5827#L25-1 assume true; 5826#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5824#L25-1 assume true; 5822#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5820#L25-1 assume true; 5818#func_to_recursive_line_25_to_25_0EXIT >#92#return; 5816#L25-1 assume true; 5815#func_to_recursive_line_25_to_25_0EXIT >#80#return; 5808#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 5787#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 5798#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 5785#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 5789#L41-1 assume true; 5810#func_to_recursive_line_24_to_25_0EXIT >#82#return; 5805#L41-1 assume true; 5806#func_to_recursive_line_24_to_25_0EXIT >#82#return; 5836#L41-1 assume true; 5835#func_to_recursive_line_24_to_25_0EXIT >#82#return; 5834#L41-1 assume true; 5833#func_to_recursive_line_24_to_25_0EXIT >#82#return; 5832#L41-1 assume true; 5831#func_to_recursive_line_24_to_25_0EXIT >#84#return; 5809#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 5782#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 5784#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 5804#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 5790#L61-1 assume true; 5791#func_to_recursive_line_23_to_24_0EXIT >#86#return; 5795#L61-1 assume true; 5825#func_to_recursive_line_23_to_24_0EXIT >#86#return; 5823#L61-1 assume true; 5821#func_to_recursive_line_23_to_24_0EXIT >#86#return; 5819#L61-1 assume true; 5817#func_to_recursive_line_23_to_24_0EXIT >#86#return; 5814#L61-1 assume true; 5813#func_to_recursive_line_23_to_24_0EXIT >#88#return; 5799#L87-1 call #t~mem14 := read~int#3(~a.base, ~a.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#3(1 + #t~mem14, ~a.base, ~a.offset, 4);havoc #t~mem14;havoc #t~pre15; 5792#L92 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);< 5794#$Ultimate##0 [2024-11-19 15:02:17,610 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:17,610 INFO L85 PathProgramCache]: Analyzing trace with hash 71610, now seen corresponding path program 10 times [2024-11-19 15:02:17,610 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:17,611 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [861071329] [2024-11-19 15:02:17,611 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-11-19 15:02:17,611 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:17,619 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-11-19 15:02:17,620 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-19 15:02:17,620 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-19 15:02:17,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-19 15:02:17,625 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-19 15:02:17,627 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:17,627 INFO L85 PathProgramCache]: Analyzing trace with hash -1508638848, now seen corresponding path program 7 times [2024-11-19 15:02:17,627 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:17,628 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1836657816] [2024-11-19 15:02:17,628 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-19 15:02:17,628 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:17,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 15:02:21,698 INFO L134 CoverageAnalysis]: Checked inductivity of 30602 backedges. 19 proven. 480 refuted. 0 times theorem prover too weak. 30103 trivial. 0 not checked. [2024-11-19 15:02:21,700 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 15:02:21,700 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1836657816] [2024-11-19 15:02:21,700 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1836657816] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-19 15:02:21,700 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1896624107] [2024-11-19 15:02:21,700 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2024-11-19 15:02:21,700 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 15:02:21,701 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 15:02:21,703 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-19 15:02:21,703 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2024-11-19 15:02:22,244 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-11-19 15:02:22,264 INFO L255 TraceCheckSpWp]: Trace formula consists of 4056 conjuncts, 121 conjuncts are in the unsatisfiable core [2024-11-19 15:02:22,275 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-19 15:02:22,282 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 [2024-11-19 15:02:22,529 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 13 [2024-11-19 15:02:22,540 INFO L134 CoverageAnalysis]: Checked inductivity of 30602 backedges. 11591 proven. 24 refuted. 0 times theorem prover too weak. 18987 trivial. 0 not checked. [2024-11-19 15:02:22,540 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-19 15:02:25,848 INFO L134 CoverageAnalysis]: Checked inductivity of 30602 backedges. 8 proven. 511 refuted. 0 times theorem prover too weak. 30083 trivial. 0 not checked. [2024-11-19 15:02:25,848 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1896624107] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-19 15:02:25,848 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-19 15:02:25,848 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 12, 22] total 40 [2024-11-19 15:02:25,848 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2053298312] [2024-11-19 15:02:25,848 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-19 15:02:25,849 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-11-19 15:02:25,849 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 15:02:25,850 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 40 interpolants. [2024-11-19 15:02:25,850 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=313, Invalid=1247, Unknown=0, NotChecked=0, Total=1560 [2024-11-19 15:02:25,850 INFO L87 Difference]: Start difference. First operand 55 states and 61 transitions. cyclomatic complexity: 10 Second operand has 40 states, 30 states have (on average 2.4) internal successors, (72), 34 states have internal predecessors, (72), 18 states have call successors, (29), 8 states have call predecessors, (29), 13 states have return successors, (33), 17 states have call predecessors, (33), 18 states have call successors, (33) [2024-11-19 15:02:26,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-19 15:02:26,149 INFO L93 Difference]: Finished difference Result 59 states and 65 transitions. [2024-11-19 15:02:26,149 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 59 states and 65 transitions. [2024-11-19 15:02:26,150 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-11-19 15:02:26,150 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 59 states to 59 states and 65 transitions. [2024-11-19 15:02:26,151 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 59 [2024-11-19 15:02:26,151 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 59 [2024-11-19 15:02:26,151 INFO L73 IsDeterministic]: Start isDeterministic. Operand 59 states and 65 transitions. [2024-11-19 15:02:26,151 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-19 15:02:26,151 INFO L218 hiAutomatonCegarLoop]: Abstraction has 59 states and 65 transitions. [2024-11-19 15:02:26,151 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states and 65 transitions. [2024-11-19 15:02:26,153 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 59. [2024-11-19 15:02:26,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 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), 19 states have return successors, (22), 19 states have call predecessors, (22), 6 states have call successors, (22) [2024-11-19 15:02:26,154 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 65 transitions. [2024-11-19 15:02:26,154 INFO L240 hiAutomatonCegarLoop]: Abstraction has 59 states and 65 transitions. [2024-11-19 15:02:26,154 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2024-11-19 15:02:26,156 INFO L425 stractBuchiCegarLoop]: Abstraction has 59 states and 65 transitions. [2024-11-19 15:02:26,156 INFO L332 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2024-11-19 15:02:26,156 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 59 states and 65 transitions. [2024-11-19 15:02:26,157 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-11-19 15:02:26,157 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-19 15:02:26,157 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-19 15:02:26,160 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-11-19 15:02:26,160 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [168, 168, 144, 144, 144, 28, 28, 24, 24, 24, 24, 24, 24, 24, 5, 5, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1] [2024-11-19 15:02:26,160 INFO L745 eck$LassoCheckResult]: Stem: 10228#$Ultimate##0 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); 10216#L-1 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#3(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#4(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#2(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#1(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call write~int#3(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 10212#L107 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);< 10213#$Ultimate##0 [2024-11-19 15:02:26,161 INFO L747 eck$LassoCheckResult]: Loop: 10213#$Ultimate##0 ~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#3(~a.base, ~a.offset, 4); 10215#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#4(0, ~b.base, ~b.offset, 4); 10202#L87 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 10203#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 10223#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 10206#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 10207#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 10221#L25-1 assume true; 10222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10225#L25-1 assume true; 10252#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10250#L25-1 assume true; 10249#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10247#L25-1 assume true; 10243#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10241#L25-1 assume true; 10239#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10237#L25-1 assume true; 10235#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10232#L25-1 assume true; 10231#func_to_recursive_line_25_to_25_0EXIT >#80#return; 10226#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 10205#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 10207#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 10221#L25-1 assume true; 10222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10225#L25-1 assume true; 10252#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10250#L25-1 assume true; 10249#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10247#L25-1 assume true; 10243#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10241#L25-1 assume true; 10239#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10237#L25-1 assume true; 10235#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10232#L25-1 assume true; 10231#func_to_recursive_line_25_to_25_0EXIT >#80#return; 10226#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 10205#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 10207#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 10221#L25-1 assume true; 10222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10225#L25-1 assume true; 10252#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10250#L25-1 assume true; 10249#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10247#L25-1 assume true; 10243#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10241#L25-1 assume true; 10239#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10237#L25-1 assume true; 10235#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10232#L25-1 assume true; 10231#func_to_recursive_line_25_to_25_0EXIT >#80#return; 10226#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 10205#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 10207#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 10221#L25-1 assume true; 10222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10225#L25-1 assume true; 10252#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10250#L25-1 assume true; 10249#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10247#L25-1 assume true; 10243#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10241#L25-1 assume true; 10239#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10237#L25-1 assume true; 10235#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10232#L25-1 assume true; 10231#func_to_recursive_line_25_to_25_0EXIT >#80#return; 10226#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 10205#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 10207#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 10221#L25-1 assume true; 10222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10225#L25-1 assume true; 10252#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10250#L25-1 assume true; 10249#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10247#L25-1 assume true; 10243#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10241#L25-1 assume true; 10239#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10237#L25-1 assume true; 10235#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10232#L25-1 assume true; 10231#func_to_recursive_line_25_to_25_0EXIT >#80#return; 10226#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 10205#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 10207#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 10221#L25-1 assume true; 10222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10225#L25-1 assume true; 10252#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10250#L25-1 assume true; 10249#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10247#L25-1 assume true; 10243#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10241#L25-1 assume true; 10239#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10237#L25-1 assume true; 10235#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10232#L25-1 assume true; 10231#func_to_recursive_line_25_to_25_0EXIT >#80#return; 10226#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 10205#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 10208#L41-1 assume true; 10224#func_to_recursive_line_24_to_25_0EXIT >#82#return; 10229#L41-1 assume true; 10259#func_to_recursive_line_24_to_25_0EXIT >#82#return; 10258#L41-1 assume true; 10257#func_to_recursive_line_24_to_25_0EXIT >#82#return; 10256#L41-1 assume true; 10255#func_to_recursive_line_24_to_25_0EXIT >#82#return; 10254#L41-1 assume true; 10253#func_to_recursive_line_24_to_25_0EXIT >#82#return; 10251#L41-1 assume true; 10248#func_to_recursive_line_24_to_25_0EXIT >#82#return; 10246#L41-1 assume true; 10245#func_to_recursive_line_24_to_25_0EXIT >#84#return; 10227#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 10201#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 10203#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 10223#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 10206#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 10207#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 10221#L25-1 assume true; 10222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10225#L25-1 assume true; 10252#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10250#L25-1 assume true; 10249#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10247#L25-1 assume true; 10243#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10241#L25-1 assume true; 10239#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10237#L25-1 assume true; 10235#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10232#L25-1 assume true; 10231#func_to_recursive_line_25_to_25_0EXIT >#80#return; 10226#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 10205#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 10207#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 10221#L25-1 assume true; 10222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10225#L25-1 assume true; 10252#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10250#L25-1 assume true; 10249#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10247#L25-1 assume true; 10243#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10241#L25-1 assume true; 10239#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10237#L25-1 assume true; 10235#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10232#L25-1 assume true; 10231#func_to_recursive_line_25_to_25_0EXIT >#80#return; 10226#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 10205#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 10207#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 10221#L25-1 assume true; 10222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10225#L25-1 assume true; 10252#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10250#L25-1 assume true; 10249#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10247#L25-1 assume true; 10243#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10241#L25-1 assume true; 10239#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10237#L25-1 assume true; 10235#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10232#L25-1 assume true; 10231#func_to_recursive_line_25_to_25_0EXIT >#80#return; 10226#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 10205#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 10207#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 10221#L25-1 assume true; 10222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10225#L25-1 assume true; 10252#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10250#L25-1 assume true; 10249#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10247#L25-1 assume true; 10243#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10241#L25-1 assume true; 10239#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10237#L25-1 assume true; 10235#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10232#L25-1 assume true; 10231#func_to_recursive_line_25_to_25_0EXIT >#80#return; 10226#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 10205#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 10207#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 10221#L25-1 assume true; 10222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10225#L25-1 assume true; 10252#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10250#L25-1 assume true; 10249#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10247#L25-1 assume true; 10243#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10241#L25-1 assume true; 10239#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10237#L25-1 assume true; 10235#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10232#L25-1 assume true; 10231#func_to_recursive_line_25_to_25_0EXIT >#80#return; 10226#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 10205#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 10207#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 10221#L25-1 assume true; 10222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10225#L25-1 assume true; 10252#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10250#L25-1 assume true; 10249#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10247#L25-1 assume true; 10243#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10241#L25-1 assume true; 10239#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10237#L25-1 assume true; 10235#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10232#L25-1 assume true; 10231#func_to_recursive_line_25_to_25_0EXIT >#80#return; 10226#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 10205#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 10208#L41-1 assume true; 10224#func_to_recursive_line_24_to_25_0EXIT >#82#return; 10229#L41-1 assume true; 10259#func_to_recursive_line_24_to_25_0EXIT >#82#return; 10258#L41-1 assume true; 10257#func_to_recursive_line_24_to_25_0EXIT >#82#return; 10256#L41-1 assume true; 10255#func_to_recursive_line_24_to_25_0EXIT >#82#return; 10254#L41-1 assume true; 10253#func_to_recursive_line_24_to_25_0EXIT >#82#return; 10251#L41-1 assume true; 10248#func_to_recursive_line_24_to_25_0EXIT >#82#return; 10246#L41-1 assume true; 10245#func_to_recursive_line_24_to_25_0EXIT >#84#return; 10227#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 10201#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 10203#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 10223#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 10206#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 10207#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 10221#L25-1 assume true; 10222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10225#L25-1 assume true; 10252#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10250#L25-1 assume true; 10249#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10247#L25-1 assume true; 10243#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10241#L25-1 assume true; 10239#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10237#L25-1 assume true; 10235#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10232#L25-1 assume true; 10231#func_to_recursive_line_25_to_25_0EXIT >#80#return; 10226#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 10205#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 10207#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 10221#L25-1 assume true; 10222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10225#L25-1 assume true; 10252#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10250#L25-1 assume true; 10249#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10247#L25-1 assume true; 10243#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10241#L25-1 assume true; 10239#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10237#L25-1 assume true; 10235#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10232#L25-1 assume true; 10231#func_to_recursive_line_25_to_25_0EXIT >#80#return; 10226#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 10205#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 10207#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 10221#L25-1 assume true; 10222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10225#L25-1 assume true; 10252#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10250#L25-1 assume true; 10249#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10247#L25-1 assume true; 10243#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10241#L25-1 assume true; 10239#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10237#L25-1 assume true; 10235#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10232#L25-1 assume true; 10231#func_to_recursive_line_25_to_25_0EXIT >#80#return; 10226#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 10205#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 10207#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 10221#L25-1 assume true; 10222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10225#L25-1 assume true; 10252#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10250#L25-1 assume true; 10249#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10247#L25-1 assume true; 10243#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10241#L25-1 assume true; 10239#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10237#L25-1 assume true; 10235#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10232#L25-1 assume true; 10231#func_to_recursive_line_25_to_25_0EXIT >#80#return; 10226#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 10205#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 10207#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 10221#L25-1 assume true; 10222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10225#L25-1 assume true; 10252#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10250#L25-1 assume true; 10249#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10247#L25-1 assume true; 10243#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10241#L25-1 assume true; 10239#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10237#L25-1 assume true; 10235#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10232#L25-1 assume true; 10231#func_to_recursive_line_25_to_25_0EXIT >#80#return; 10226#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 10205#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 10207#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 10221#L25-1 assume true; 10222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10225#L25-1 assume true; 10252#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10250#L25-1 assume true; 10249#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10247#L25-1 assume true; 10243#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10241#L25-1 assume true; 10239#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10237#L25-1 assume true; 10235#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10232#L25-1 assume true; 10231#func_to_recursive_line_25_to_25_0EXIT >#80#return; 10226#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 10205#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 10208#L41-1 assume true; 10224#func_to_recursive_line_24_to_25_0EXIT >#82#return; 10229#L41-1 assume true; 10259#func_to_recursive_line_24_to_25_0EXIT >#82#return; 10258#L41-1 assume true; 10257#func_to_recursive_line_24_to_25_0EXIT >#82#return; 10256#L41-1 assume true; 10255#func_to_recursive_line_24_to_25_0EXIT >#82#return; 10254#L41-1 assume true; 10253#func_to_recursive_line_24_to_25_0EXIT >#82#return; 10251#L41-1 assume true; 10248#func_to_recursive_line_24_to_25_0EXIT >#82#return; 10246#L41-1 assume true; 10245#func_to_recursive_line_24_to_25_0EXIT >#84#return; 10227#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 10201#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 10203#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 10223#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 10206#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 10207#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 10221#L25-1 assume true; 10222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10225#L25-1 assume true; 10252#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10250#L25-1 assume true; 10249#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10247#L25-1 assume true; 10243#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10241#L25-1 assume true; 10239#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10237#L25-1 assume true; 10235#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10232#L25-1 assume true; 10231#func_to_recursive_line_25_to_25_0EXIT >#80#return; 10226#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 10205#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 10207#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 10221#L25-1 assume true; 10222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10225#L25-1 assume true; 10252#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10250#L25-1 assume true; 10249#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10247#L25-1 assume true; 10243#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10241#L25-1 assume true; 10239#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10237#L25-1 assume true; 10235#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10232#L25-1 assume true; 10231#func_to_recursive_line_25_to_25_0EXIT >#80#return; 10226#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 10205#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 10207#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 10221#L25-1 assume true; 10222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10225#L25-1 assume true; 10252#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10250#L25-1 assume true; 10249#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10247#L25-1 assume true; 10243#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10241#L25-1 assume true; 10239#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10237#L25-1 assume true; 10235#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10232#L25-1 assume true; 10231#func_to_recursive_line_25_to_25_0EXIT >#80#return; 10226#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 10205#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 10207#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 10221#L25-1 assume true; 10222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10225#L25-1 assume true; 10252#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10250#L25-1 assume true; 10249#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10247#L25-1 assume true; 10243#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10241#L25-1 assume true; 10239#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10237#L25-1 assume true; 10235#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10232#L25-1 assume true; 10231#func_to_recursive_line_25_to_25_0EXIT >#80#return; 10226#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 10205#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 10207#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 10221#L25-1 assume true; 10222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10225#L25-1 assume true; 10252#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10250#L25-1 assume true; 10249#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10247#L25-1 assume true; 10243#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10241#L25-1 assume true; 10239#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10237#L25-1 assume true; 10235#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10232#L25-1 assume true; 10231#func_to_recursive_line_25_to_25_0EXIT >#80#return; 10226#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 10205#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 10207#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 10218#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 10219#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 10230#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 10221#L25-1 assume true; 10222#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10225#L25-1 assume true; 10252#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10250#L25-1 assume true; 10249#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10247#L25-1 assume true; 10243#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10241#L25-1 assume true; 10239#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10237#L25-1 assume true; 10235#func_to_recursive_line_25_to_25_0EXIT >#92#return; 10232#L25-1 assume true; 10231#func_to_recursive_line_25_to_25_0EXIT >#80#return; 10226#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 10205#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 10217#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 10204#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 10208#L41-1 assume true; 10224#func_to_recursive_line_24_to_25_0EXIT >#82#return; 10229#L41-1 assume true; 10259#func_to_recursive_line_24_to_25_0EXIT >#82#return; 10258#L41-1 assume true; 10257#func_to_recursive_line_24_to_25_0EXIT >#82#return; 10256#L41-1 assume true; 10255#func_to_recursive_line_24_to_25_0EXIT >#82#return; 10254#L41-1 assume true; 10253#func_to_recursive_line_24_to_25_0EXIT >#82#return; 10251#L41-1 assume true; 10248#func_to_recursive_line_24_to_25_0EXIT >#82#return; 10246#L41-1 assume true; 10245#func_to_recursive_line_24_to_25_0EXIT >#84#return; 10227#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 10201#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 10203#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 10223#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 10209#L61-1 assume true; 10210#func_to_recursive_line_23_to_24_0EXIT >#86#return; 10214#L61-1 assume true; 10244#func_to_recursive_line_23_to_24_0EXIT >#86#return; 10242#L61-1 assume true; 10240#func_to_recursive_line_23_to_24_0EXIT >#86#return; 10238#L61-1 assume true; 10236#func_to_recursive_line_23_to_24_0EXIT >#86#return; 10234#L61-1 assume true; 10233#func_to_recursive_line_23_to_24_0EXIT >#88#return; 10220#L87-1 call #t~mem14 := read~int#3(~a.base, ~a.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#3(1 + #t~mem14, ~a.base, ~a.offset, 4);havoc #t~mem14;havoc #t~pre15; 10211#L92 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);< 10213#$Ultimate##0 [2024-11-19 15:02:26,165 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:26,165 INFO L85 PathProgramCache]: Analyzing trace with hash 71610, now seen corresponding path program 11 times [2024-11-19 15:02:26,165 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:26,165 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [386461295] [2024-11-19 15:02:26,165 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2024-11-19 15:02:26,165 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:26,173 INFO L227 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2024-11-19 15:02:26,174 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-19 15:02:26,174 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-19 15:02:26,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-19 15:02:26,182 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-19 15:02:26,183 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:26,183 INFO L85 PathProgramCache]: Analyzing trace with hash -1880621056, now seen corresponding path program 8 times [2024-11-19 15:02:26,183 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:26,183 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [345039452] [2024-11-19 15:02:26,183 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-19 15:02:26,183 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:27,184 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-19 15:02:27,185 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 15:02:33,497 INFO L134 CoverageAnalysis]: Checked inductivity of 68806 backedges. 12 proven. 24 refuted. 0 times theorem prover too weak. 68770 trivial. 0 not checked. [2024-11-19 15:02:33,497 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-11-19 15:02:33,497 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [345039452] [2024-11-19 15:02:33,497 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [345039452] provided 0 perfect and 1 imperfect interpolant sequences [2024-11-19 15:02:33,497 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1006164460] [2024-11-19 15:02:33,497 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-11-19 15:02:33,497 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-11-19 15:02:33,498 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-11-19 15:02:33,499 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-11-19 15:02:33,501 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2024-11-19 15:02:34,316 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-11-19 15:02:34,316 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-11-19 15:02:34,338 INFO L255 TraceCheckSpWp]: Trace formula consists of 5864 conjuncts, 67 conjuncts are in the unsatisfiable core [2024-11-19 15:02:34,359 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-11-19 15:02:34,370 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 [2024-11-19 15:02:34,602 INFO L134 CoverageAnalysis]: Checked inductivity of 68806 backedges. 0 proven. 24 refuted. 0 times theorem prover too weak. 68782 trivial. 0 not checked. [2024-11-19 15:02:34,603 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-11-19 15:02:38,308 INFO L134 CoverageAnalysis]: Checked inductivity of 68806 backedges. 0 proven. 58 refuted. 0 times theorem prover too weak. 68748 trivial. 0 not checked. [2024-11-19 15:02:38,308 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1006164460] provided 0 perfect and 2 imperfect interpolant sequences [2024-11-19 15:02:38,308 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-11-19 15:02:38,308 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 12, 22] total 40 [2024-11-19 15:02:38,309 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1187190763] [2024-11-19 15:02:38,309 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-11-19 15:02:38,310 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-11-19 15:02:38,310 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-11-19 15:02:38,310 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 40 interpolants. [2024-11-19 15:02:38,310 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=313, Invalid=1247, Unknown=0, NotChecked=0, Total=1560 [2024-11-19 15:02:38,311 INFO L87 Difference]: Start difference. First operand 59 states and 65 transitions. cyclomatic complexity: 10 Second operand has 40 states, 30 states have (on average 1.7333333333333334) internal successors, (52), 34 states have internal predecessors, (52), 18 states have call successors, (20), 8 states have call predecessors, (20), 12 states have return successors, (24), 17 states have call predecessors, (24), 17 states have call successors, (24) [2024-11-19 15:02:38,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-11-19 15:02:38,632 INFO L93 Difference]: Finished difference Result 63 states and 69 transitions. [2024-11-19 15:02:38,633 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 63 states and 69 transitions. [2024-11-19 15:02:38,633 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-11-19 15:02:38,634 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 63 states to 63 states and 69 transitions. [2024-11-19 15:02:38,634 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 63 [2024-11-19 15:02:38,634 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 63 [2024-11-19 15:02:38,634 INFO L73 IsDeterministic]: Start isDeterministic. Operand 63 states and 69 transitions. [2024-11-19 15:02:38,634 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-11-19 15:02:38,634 INFO L218 hiAutomatonCegarLoop]: Abstraction has 63 states and 69 transitions. [2024-11-19 15:02:38,635 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states and 69 transitions. [2024-11-19 15:02:38,639 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 63. [2024-11-19 15:02:38,639 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 34 states have (on average 1.088235294117647) internal successors, (37), 37 states have internal predecessors, (37), 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) [2024-11-19 15:02:38,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 69 transitions. [2024-11-19 15:02:38,640 INFO L240 hiAutomatonCegarLoop]: Abstraction has 63 states and 69 transitions. [2024-11-19 15:02:38,640 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2024-11-19 15:02:38,641 INFO L425 stractBuchiCegarLoop]: Abstraction has 63 states and 69 transitions. [2024-11-19 15:02:38,641 INFO L332 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2024-11-19 15:02:38,641 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 63 states and 69 transitions. [2024-11-19 15:02:38,641 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-11-19 15:02:38,642 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-11-19 15:02:38,642 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-11-19 15:02:38,647 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-11-19 15:02:38,650 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] [2024-11-19 15:02:38,650 INFO L745 eck$LassoCheckResult]: Stem: 16624#$Ultimate##0 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); 16611#L-1 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#3(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#4(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#2(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#1(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call write~int#3(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 16607#L107 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);< 16608#$Ultimate##0 [2024-11-19 15:02:38,652 INFO L747 eck$LassoCheckResult]: Loop: 16608#$Ultimate##0 ~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#3(~a.base, ~a.offset, 4); 16610#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#4(0, ~b.base, ~b.offset, 4); 16597#L87 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 16598#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 16618#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 16600#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 16603#L41-1 assume true; 16619#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16625#L41-1 assume true; 16658#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16657#L41-1 assume true; 16656#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16655#L41-1 assume true; 16654#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16653#L41-1 assume true; 16651#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16650#L41-1 assume true; 16645#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16642#L41-1 assume true; 16641#func_to_recursive_line_24_to_25_0EXIT >#84#return; 16623#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 16596#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 16598#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 16618#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 16600#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 16603#L41-1 assume true; 16619#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16625#L41-1 assume true; 16658#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16657#L41-1 assume true; 16656#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16655#L41-1 assume true; 16654#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16653#L41-1 assume true; 16651#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16650#L41-1 assume true; 16645#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16642#L41-1 assume true; 16641#func_to_recursive_line_24_to_25_0EXIT >#84#return; 16623#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 16596#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 16598#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 16618#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 16600#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 16603#L41-1 assume true; 16619#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16625#L41-1 assume true; 16658#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16657#L41-1 assume true; 16656#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16655#L41-1 assume true; 16654#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16653#L41-1 assume true; 16651#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16650#L41-1 assume true; 16645#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16642#L41-1 assume true; 16641#func_to_recursive_line_24_to_25_0EXIT >#84#return; 16623#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 16596#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 16598#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 16618#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 16600#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 16603#L41-1 assume true; 16619#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16625#L41-1 assume true; 16658#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16657#L41-1 assume true; 16656#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16655#L41-1 assume true; 16654#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16653#L41-1 assume true; 16651#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16650#L41-1 assume true; 16645#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16642#L41-1 assume true; 16641#func_to_recursive_line_24_to_25_0EXIT >#84#return; 16623#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 16596#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 16598#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 16618#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 16600#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 16603#L41-1 assume true; 16619#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16625#L41-1 assume true; 16658#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16657#L41-1 assume true; 16656#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16655#L41-1 assume true; 16654#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16653#L41-1 assume true; 16651#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16650#L41-1 assume true; 16645#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16642#L41-1 assume true; 16641#func_to_recursive_line_24_to_25_0EXIT >#84#return; 16623#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 16596#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 16598#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 16618#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#2(0, ~c.base, ~c.offset, 4); 16600#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 16602#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 16613#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 16614#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 16626#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 16616#L25-1 assume true; 16617#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16621#L25-1 assume true; 16652#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16648#L25-1 assume true; 16646#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16644#L25-1 assume true; 16639#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16637#L25-1 assume true; 16635#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16633#L25-1 assume true; 16631#func_to_recursive_line_25_to_25_0EXIT >#92#return; 16628#L25-1 assume true; 16627#func_to_recursive_line_25_to_25_0EXIT >#80#return; 16622#L47-1 call #t~mem8 := read~int#2(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#2(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 16601#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 16612#$Ultimate##0 ~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#2(~c.base, ~c.offset, 4); 16599#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 16603#L41-1 assume true; 16619#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16625#L41-1 assume true; 16658#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16657#L41-1 assume true; 16656#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16655#L41-1 assume true; 16654#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16653#L41-1 assume true; 16651#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16650#L41-1 assume true; 16645#func_to_recursive_line_24_to_25_0EXIT >#82#return; 16642#L41-1 assume true; 16641#func_to_recursive_line_24_to_25_0EXIT >#84#return; 16623#L67-1 call #t~mem11 := read~int#4(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#4(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 16596#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 16598#$Ultimate##0 ~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#4(~b.base, ~b.offset, 4); 16618#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 16620#L61-1 assume true; 16609#func_to_recursive_line_23_to_24_0EXIT >#86#return; 16604#L61-1 assume true; 16605#func_to_recursive_line_23_to_24_0EXIT >#86#return; 16649#L61-1 assume true; 16647#func_to_recursive_line_23_to_24_0EXIT >#86#return; 16643#L61-1 assume true; 16640#func_to_recursive_line_23_to_24_0EXIT >#86#return; 16638#L61-1 assume true; 16636#func_to_recursive_line_23_to_24_0EXIT >#86#return; 16634#L61-1 assume true; 16632#func_to_recursive_line_23_to_24_0EXIT >#86#return; 16630#L61-1 assume true; 16629#func_to_recursive_line_23_to_24_0EXIT >#88#return; 16615#L87-1 call #t~mem14 := read~int#3(~a.base, ~a.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#3(1 + #t~mem14, ~a.base, ~a.offset, 4);havoc #t~mem14;havoc #t~pre15; 16606#L92 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);< 16608#$Ultimate##0 [2024-11-19 15:02:38,654 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:38,654 INFO L85 PathProgramCache]: Analyzing trace with hash 71610, now seen corresponding path program 12 times [2024-11-19 15:02:38,654 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:38,655 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [982506401] [2024-11-19 15:02:38,655 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2024-11-19 15:02:38,655 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:38,662 INFO L227 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2024-11-19 15:02:38,662 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-19 15:02:38,662 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-19 15:02:38,664 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-19 15:02:38,673 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-19 15:02:38,673 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:38,674 INFO L85 PathProgramCache]: Analyzing trace with hash 815036130, now seen corresponding path program 9 times [2024-11-19 15:02:38,674 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:38,674 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [597034525] [2024-11-19 15:02:38,674 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-11-19 15:02:38,674 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:44,704 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 124 check-sat command(s) [2024-11-19 15:02:44,704 INFO L228 tOrderPrioritization]: Conjunction of SSA is sat [2024-11-19 15:02:44,705 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-19 15:02:45,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-19 15:02:45,596 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-11-19 15:02:45,596 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-11-19 15:02:45,597 INFO L85 PathProgramCache]: Analyzing trace with hash 1469748745, now seen corresponding path program 1 times [2024-11-19 15:02:45,597 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-11-19 15:02:45,597 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1663615301] [2024-11-19 15:02:45,597 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-11-19 15:02:45,597 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-11-19 15:02:46,329 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-19 15:02:46,329 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-11-19 15:02:47,000 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-11-19 15:02:47,154 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace