./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 4fc63b2a Calling Ultimate with: /usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java -Dosgi.configuration.area=/tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/data/config -Xmx15G -Xms4m -jar /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/data -tc /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/config/AutomizerTermination.xml -i ../../sv-benchmarks/c/recursified_loop-simple/recursified_nested_4.c -s /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/config/svcomp-Termination-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU --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-dev-4fc63b2 [2024-10-31 21:57:56,164 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-10-31 21:57:56,269 INFO L114 SettingsManager]: Loading settings from /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/config/svcomp-Termination-32bit-Automizer_Default.epf [2024-10-31 21:57:56,279 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-10-31 21:57:56,279 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-10-31 21:57:56,321 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-10-31 21:57:56,323 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-10-31 21:57:56,324 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-10-31 21:57:56,325 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-10-31 21:57:56,326 INFO L153 SettingsManager]: * Use memory slicer=true [2024-10-31 21:57:56,328 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-10-31 21:57:56,329 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-10-31 21:57:56,329 INFO L153 SettingsManager]: * Use SBE=true [2024-10-31 21:57:56,331 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2024-10-31 21:57:56,331 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2024-10-31 21:57:56,332 INFO L153 SettingsManager]: * Use old map elimination=false [2024-10-31 21:57:56,332 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2024-10-31 21:57:56,332 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2024-10-31 21:57:56,333 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2024-10-31 21:57:56,333 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-10-31 21:57:56,333 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2024-10-31 21:57:56,334 INFO L153 SettingsManager]: * sizeof long=4 [2024-10-31 21:57:56,335 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-10-31 21:57:56,335 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-10-31 21:57:56,335 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-10-31 21:57:56,336 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2024-10-31 21:57:56,336 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2024-10-31 21:57:56,337 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2024-10-31 21:57:56,337 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-10-31 21:57:56,337 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2024-10-31 21:57:56,338 INFO L153 SettingsManager]: * sizeof long double=12 [2024-10-31 21:57:56,338 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-10-31 21:57:56,339 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2024-10-31 21:57:56,339 INFO L153 SettingsManager]: * Use constant arrays=true [2024-10-31 21:57:56,339 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-10-31 21:57:56,340 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-10-31 21:57:56,340 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-10-31 21:57:56,340 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-10-31 21:57:56,341 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2024-10-31 21:57:56,341 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:/tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/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 -> /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU 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-10-31 21:57:56,662 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-10-31 21:57:56,694 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-10-31 21:57:56,698 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-10-31 21:57:56,699 INFO L270 PluginConnector]: Initializing CDTParser... [2024-10-31 21:57:56,700 INFO L274 PluginConnector]: CDTParser initialized [2024-10-31 21:57:56,701 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/../../sv-benchmarks/c/recursified_loop-simple/recursified_nested_4.c Unable to find full path for "g++" [2024-10-31 21:57:59,162 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-10-31 21:57:59,470 INFO L384 CDTParser]: Found 1 translation units. [2024-10-31 21:57:59,471 INFO L180 CDTParser]: Scanning /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/sv-benchmarks/c/recursified_loop-simple/recursified_nested_4.c [2024-10-31 21:57:59,482 INFO L427 CDTParser]: About to delete temporary CDT project at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/data/492c871cf/509492090b84425a8a5249d7941e2959/FLAGde1686798 [2024-10-31 21:57:59,771 INFO L435 CDTParser]: Successfully deleted /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/data/492c871cf/509492090b84425a8a5249d7941e2959 [2024-10-31 21:57:59,775 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-10-31 21:57:59,778 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-10-31 21:57:59,781 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-10-31 21:57:59,782 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-10-31 21:57:59,788 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-10-31 21:57:59,789 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 31.10 09:57:59" (1/1) ... [2024-10-31 21:57:59,793 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4505fd0f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:57:59, skipping insertion in model container [2024-10-31 21:57:59,793 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 31.10 09:57:59" (1/1) ... [2024-10-31 21:57:59,822 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-10-31 21:58:00,020 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-10-31 21:58:00,036 INFO L200 MainTranslator]: Completed pre-run [2024-10-31 21:58:00,059 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-10-31 21:58:00,080 INFO L204 MainTranslator]: Completed translation [2024-10-31 21:58:00,081 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:58:00 WrapperNode [2024-10-31 21:58:00,081 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-10-31 21:58:00,082 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-10-31 21:58:00,082 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-10-31 21:58:00,083 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-10-31 21:58:00,089 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:58:00" (1/1) ... [2024-10-31 21:58:00,097 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:58:00" (1/1) ... [2024-10-31 21:58:00,120 INFO L138 Inliner]: procedures = 15, calls = 52, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 67 [2024-10-31 21:58:00,120 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-10-31 21:58:00,123 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-10-31 21:58:00,123 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-10-31 21:58:00,123 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-10-31 21:58:00,145 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:58:00" (1/1) ... [2024-10-31 21:58:00,145 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:58:00" (1/1) ... [2024-10-31 21:58:00,152 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:58:00" (1/1) ... [2024-10-31 21:58:00,190 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-10-31 21:58:00,191 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:58:00" (1/1) ... [2024-10-31 21:58:00,191 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:58:00" (1/1) ... [2024-10-31 21:58:00,200 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:58:00" (1/1) ... [2024-10-31 21:58:00,202 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:58:00" (1/1) ... [2024-10-31 21:58:00,204 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:58:00" (1/1) ... [2024-10-31 21:58:00,206 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:58:00" (1/1) ... [2024-10-31 21:58:00,209 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-10-31 21:58:00,210 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-10-31 21:58:00,210 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-10-31 21:58:00,211 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-10-31 21:58:00,212 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:58:00" (1/1) ... [2024-10-31 21:58:00,222 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-31 21:58:00,241 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/z3 [2024-10-31 21:58:00,257 INFO L229 MonitoredProcess]: Starting monitored process 1 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-10-31 21:58:00,260 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2024-10-31 21:58:00,289 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-10-31 21:58:00,289 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-10-31 21:58:00,289 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-10-31 21:58:00,289 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2024-10-31 21:58:00,290 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#3 [2024-10-31 21:58:00,290 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#4 [2024-10-31 21:58:00,290 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-10-31 21:58:00,290 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-10-31 21:58:00,290 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-10-31 21:58:00,290 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2024-10-31 21:58:00,290 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#3 [2024-10-31 21:58:00,291 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#4 [2024-10-31 21:58:00,291 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_24_to_25_0 [2024-10-31 21:58:00,291 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_24_to_25_0 [2024-10-31 21:58:00,291 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_23_to_24_0 [2024-10-31 21:58:00,291 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_23_to_24_0 [2024-10-31 21:58:00,291 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_22_to_23_0 [2024-10-31 21:58:00,291 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_22_to_23_0 [2024-10-31 21:58:00,292 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_25_to_25_0 [2024-10-31 21:58:00,292 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_25_to_25_0 [2024-10-31 21:58:00,292 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-10-31 21:58:00,292 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-10-31 21:58:00,292 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-10-31 21:58:00,292 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-10-31 21:58:00,294 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2024-10-31 21:58:00,294 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#3 [2024-10-31 21:58:00,294 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#4 [2024-10-31 21:58:00,294 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-10-31 21:58:00,399 INFO L238 CfgBuilder]: Building ICFG [2024-10-31 21:58:00,401 INFO L264 CfgBuilder]: Building CFG for each procedure with an implementation [2024-10-31 21:58:00,692 INFO L? ?]: Removed 12 outVars from TransFormulas that were not future-live. [2024-10-31 21:58:00,692 INFO L287 CfgBuilder]: Performing block encoding [2024-10-31 21:58:00,712 INFO L311 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-10-31 21:58:00,712 INFO L316 CfgBuilder]: Removed 0 assume(true) statements. [2024-10-31 21:58:00,712 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 31.10 09:58:00 BoogieIcfgContainer [2024-10-31 21:58:00,713 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-10-31 21:58:00,714 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2024-10-31 21:58:00,714 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2024-10-31 21:58:00,720 INFO L274 PluginConnector]: BuchiAutomizer initialized [2024-10-31 21:58:00,721 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-10-31 21:58:00,721 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 31.10 09:57:59" (1/3) ... [2024-10-31 21:58:00,722 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@247572a0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 31.10 09:58:00, skipping insertion in model container [2024-10-31 21:58:00,722 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-10-31 21:58:00,722 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:58:00" (2/3) ... [2024-10-31 21:58:00,722 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@247572a0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 31.10 09:58:00, skipping insertion in model container [2024-10-31 21:58:00,723 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-10-31 21:58:00,723 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 31.10 09:58:00" (3/3) ... [2024-10-31 21:58:00,724 INFO L332 chiAutomizerObserver]: Analyzing ICFG recursified_nested_4.c [2024-10-31 21:58:00,792 INFO L300 stractBuchiCegarLoop]: Interprodecural is true [2024-10-31 21:58:00,792 INFO L301 stractBuchiCegarLoop]: Hoare is None [2024-10-31 21:58:00,792 INFO L302 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2024-10-31 21:58:00,792 INFO L303 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2024-10-31 21:58:00,792 INFO L304 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2024-10-31 21:58:00,793 INFO L305 stractBuchiCegarLoop]: Difference is false [2024-10-31 21:58:00,793 INFO L306 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2024-10-31 21:58:00,793 INFO L310 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2024-10-31 21:58:00,798 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-10-31 21:58:00,820 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-10-31 21:58:00,820 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-31 21:58:00,820 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-31 21:58:00,828 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-10-31 21:58:00,828 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-31 21:58:00,828 INFO L332 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2024-10-31 21:58:00,829 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-10-31 21:58:00,832 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-10-31 21:58:00,833 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-31 21:58:00,833 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-31 21:58:00,833 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-10-31 21:58:00,833 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-31 21:58:00,842 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#2(6, main_~#b~0#1.base, main_~#b~0#1.offset, 4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#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-10-31 21:58:00,842 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#2(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#2(~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-10-31 21:58:00,849 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:58:00,849 INFO L85 PathProgramCache]: Analyzing trace with hash 71610, now seen corresponding path program 1 times [2024-10-31 21:58:00,860 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:58:00,861 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1533841910] [2024-10-31 21:58:00,861 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:58:00,862 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:58:01,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:58:01,065 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-31 21:58:01,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:58:01,152 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-31 21:58:01,156 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:58:01,157 INFO L85 PathProgramCache]: Analyzing trace with hash -448633028, now seen corresponding path program 1 times [2024-10-31 21:58:01,157 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:58:01,157 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [126249669] [2024-10-31 21:58:01,157 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:58:01,158 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:58:01,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:01,558 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:01,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:01,734 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-10-31 21:58:01,735 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-31 21:58:01,735 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [126249669] [2024-10-31 21:58:01,736 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [126249669] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-31 21:58:01,736 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-31 21:58:01,737 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2024-10-31 21:58:01,737 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2087658530] [2024-10-31 21:58:01,738 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-31 21:58:01,743 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-10-31 21:58:01,744 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-31 21:58:01,787 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-10-31 21:58:01,787 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2024-10-31 21:58:01,790 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-10-31 21:58:02,068 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-31 21:58:02,069 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2024-10-31 21:58:02,070 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 48 states and 61 transitions. [2024-10-31 21:58:02,074 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-10-31 21:58:02,080 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 48 states to 33 states and 41 transitions. [2024-10-31 21:58:02,081 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 33 [2024-10-31 21:58:02,082 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 33 [2024-10-31 21:58:02,082 INFO L73 IsDeterministic]: Start isDeterministic. Operand 33 states and 41 transitions. [2024-10-31 21:58:02,084 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-10-31 21:58:02,084 INFO L218 hiAutomatonCegarLoop]: Abstraction has 33 states and 41 transitions. [2024-10-31 21:58:02,100 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states and 41 transitions. [2024-10-31 21:58:02,111 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 29. [2024-10-31 21:58:02,112 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-10-31 21:58:02,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 35 transitions. [2024-10-31 21:58:02,115 INFO L240 hiAutomatonCegarLoop]: Abstraction has 29 states and 35 transitions. [2024-10-31 21:58:02,116 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-10-31 21:58:02,120 INFO L425 stractBuchiCegarLoop]: Abstraction has 29 states and 35 transitions. [2024-10-31 21:58:02,120 INFO L332 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2024-10-31 21:58:02,120 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 29 states and 35 transitions. [2024-10-31 21:58:02,121 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-10-31 21:58:02,121 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-31 21:58:02,122 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-31 21:58:02,122 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-10-31 21:58:02,123 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-10-31 21:58:02,123 INFO L745 eck$LassoCheckResult]: Stem: 136#$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); 124#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#2(6, main_~#b~0#1.base, main_~#b~0#1.offset, 4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#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); 120#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);< 121#$Ultimate##0 [2024-10-31 21:58:02,123 INFO L747 eck$LassoCheckResult]: Loop: 121#$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); 123#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#2(0, ~b.base, ~b.offset, 4); 110#L87 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 111#$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#2(~b.base, ~b.offset, 4); 131#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(0, ~c.base, ~c.offset, 4); 113#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 125#$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#4(~c.base, ~c.offset, 4); 112#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 116#L41-1 assume true; 132#func_to_recursive_line_24_to_25_0EXIT >#84#return; 134#L67-1 call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 109#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 111#$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#2(~b.base, ~b.offset, 4); 131#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 117#L61-1 assume true; 118#func_to_recursive_line_23_to_24_0EXIT >#86#return; 122#L61-1 assume true; 137#func_to_recursive_line_23_to_24_0EXIT >#88#return; 128#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; 119#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);< 121#$Ultimate##0 [2024-10-31 21:58:02,126 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:58:02,126 INFO L85 PathProgramCache]: Analyzing trace with hash 71610, now seen corresponding path program 2 times [2024-10-31 21:58:02,126 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:58:02,126 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1652140509] [2024-10-31 21:58:02,126 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:58:02,127 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:58:02,165 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:58:02,165 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-31 21:58:02,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:58:02,188 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-31 21:58:02,192 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:58:02,193 INFO L85 PathProgramCache]: Analyzing trace with hash 1860565822, now seen corresponding path program 1 times [2024-10-31 21:58:02,193 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:58:02,193 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [221889829] [2024-10-31 21:58:02,194 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:58:02,194 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:58:02,221 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:02,410 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:02,423 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:02,536 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:02,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:02,620 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2024-10-31 21:58:02,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:02,629 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2024-10-31 21:58:02,632 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-31 21:58:02,633 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [221889829] [2024-10-31 21:58:02,633 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [221889829] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-31 21:58:02,633 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-31 21:58:02,633 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2024-10-31 21:58:02,634 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [148340113] [2024-10-31 21:58:02,634 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-31 21:58:02,635 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-10-31 21:58:02,635 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-31 21:58:02,635 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2024-10-31 21:58:02,636 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2024-10-31 21:58:02,637 INFO L87 Difference]: Start difference. First operand 29 states and 35 transitions. cyclomatic complexity: 10 Second operand has 7 states, 6 states have (on average 2.0) 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-10-31 21:58:02,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-31 21:58:02,853 INFO L93 Difference]: Finished difference Result 33 states and 40 transitions. [2024-10-31 21:58:02,853 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 33 states and 40 transitions. [2024-10-31 21:58:02,854 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-10-31 21:58:02,855 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 33 states to 33 states and 40 transitions. [2024-10-31 21:58:02,856 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 33 [2024-10-31 21:58:02,858 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 33 [2024-10-31 21:58:02,858 INFO L73 IsDeterministic]: Start isDeterministic. Operand 33 states and 40 transitions. [2024-10-31 21:58:02,858 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-10-31 21:58:02,858 INFO L218 hiAutomatonCegarLoop]: Abstraction has 33 states and 40 transitions. [2024-10-31 21:58:02,859 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states and 40 transitions. [2024-10-31 21:58:02,863 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 31. [2024-10-31 21:58:02,863 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-10-31 21:58:02,865 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 37 transitions. [2024-10-31 21:58:02,866 INFO L240 hiAutomatonCegarLoop]: Abstraction has 31 states and 37 transitions. [2024-10-31 21:58:02,867 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2024-10-31 21:58:02,868 INFO L425 stractBuchiCegarLoop]: Abstraction has 31 states and 37 transitions. [2024-10-31 21:58:02,868 INFO L332 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2024-10-31 21:58:02,868 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 31 states and 37 transitions. [2024-10-31 21:58:02,869 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-10-31 21:58:02,869 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-31 21:58:02,869 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-31 21:58:02,870 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-10-31 21:58:02,870 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-10-31 21:58:02,870 INFO L745 eck$LassoCheckResult]: Stem: 237#$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); 223#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#2(6, main_~#b~0#1.base, main_~#b~0#1.offset, 4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#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); 219#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);< 220#$Ultimate##0 [2024-10-31 21:58:02,870 INFO L747 eck$LassoCheckResult]: Loop: 220#$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); 222#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#2(0, ~b.base, ~b.offset, 4); 209#L87 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 210#$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#2(~b.base, ~b.offset, 4); 230#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(0, ~c.base, ~c.offset, 4); 212#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 224#$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#4(~c.base, ~c.offset, 4); 211#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 214#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 226#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 235#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 228#L25-1 assume true; 229#func_to_recursive_line_25_to_25_0EXIT >#80#return; 233#L47-1 call #t~mem8 := read~int#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 213#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 224#$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#4(~c.base, ~c.offset, 4); 211#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 215#L41-1 assume true; 236#func_to_recursive_line_24_to_25_0EXIT >#82#return; 231#L41-1 assume true; 232#func_to_recursive_line_24_to_25_0EXIT >#84#return; 234#L67-1 call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 208#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 210#$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#2(~b.base, ~b.offset, 4); 230#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 216#L61-1 assume true; 217#func_to_recursive_line_23_to_24_0EXIT >#86#return; 221#L61-1 assume true; 238#func_to_recursive_line_23_to_24_0EXIT >#88#return; 227#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; 218#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);< 220#$Ultimate##0 [2024-10-31 21:58:02,872 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:58:02,873 INFO L85 PathProgramCache]: Analyzing trace with hash 71610, now seen corresponding path program 3 times [2024-10-31 21:58:02,873 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:58:02,873 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1840243933] [2024-10-31 21:58:02,873 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:58:02,873 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:58:02,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:58:02,896 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-31 21:58:02,904 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:58:02,910 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-31 21:58:02,911 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:58:02,912 INFO L85 PathProgramCache]: Analyzing trace with hash -1780666575, now seen corresponding path program 1 times [2024-10-31 21:58:02,912 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:58:02,912 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1674432840] [2024-10-31 21:58:02,913 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:58:02,913 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:58:02,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:03,116 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:03,133 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:03,269 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:03,276 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:03,367 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:03,370 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:03,456 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2024-10-31 21:58:03,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:03,462 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 19 [2024-10-31 21:58:03,464 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:03,467 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-10-31 21:58:03,468 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-31 21:58:03,469 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1674432840] [2024-10-31 21:58:03,469 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1674432840] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-31 21:58:03,469 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-31 21:58:03,469 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2024-10-31 21:58:03,470 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2029437687] [2024-10-31 21:58:03,470 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-31 21:58:03,470 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-10-31 21:58:03,470 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-31 21:58:03,471 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2024-10-31 21:58:03,471 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2024-10-31 21:58:03,471 INFO L87 Difference]: Start difference. First operand 31 states and 37 transitions. cyclomatic complexity: 10 Second operand has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (5), 1 states have call predecessors, (5), 3 states have call successors, (5) [2024-10-31 21:58:03,646 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-31 21:58:03,647 INFO L93 Difference]: Finished difference Result 33 states and 39 transitions. [2024-10-31 21:58:03,647 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 33 states and 39 transitions. [2024-10-31 21:58:03,648 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-10-31 21:58:03,649 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 33 states to 33 states and 39 transitions. [2024-10-31 21:58:03,649 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 33 [2024-10-31 21:58:03,650 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 33 [2024-10-31 21:58:03,650 INFO L73 IsDeterministic]: Start isDeterministic. Operand 33 states and 39 transitions. [2024-10-31 21:58:03,653 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-10-31 21:58:03,653 INFO L218 hiAutomatonCegarLoop]: Abstraction has 33 states and 39 transitions. [2024-10-31 21:58:03,653 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states and 39 transitions. [2024-10-31 21:58:03,655 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2024-10-31 21:58:03,655 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-10-31 21:58:03,658 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 39 transitions. [2024-10-31 21:58:03,658 INFO L240 hiAutomatonCegarLoop]: Abstraction has 33 states and 39 transitions. [2024-10-31 21:58:03,658 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2024-10-31 21:58:03,660 INFO L425 stractBuchiCegarLoop]: Abstraction has 33 states and 39 transitions. [2024-10-31 21:58:03,660 INFO L332 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2024-10-31 21:58:03,660 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 33 states and 39 transitions. [2024-10-31 21:58:03,661 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-10-31 21:58:03,663 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-31 21:58:03,663 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-31 21:58:03,664 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-10-31 21:58:03,665 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-10-31 21:58:03,666 INFO L745 eck$LassoCheckResult]: Stem: 369#$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); 355#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#2(6, main_~#b~0#1.base, main_~#b~0#1.offset, 4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#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); 351#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);< 352#$Ultimate##0 [2024-10-31 21:58:03,666 INFO L747 eck$LassoCheckResult]: Loop: 352#$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); 354#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#2(0, ~b.base, ~b.offset, 4); 341#L87 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 342#$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#2(~b.base, ~b.offset, 4); 362#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(0, ~c.base, ~c.offset, 4); 344#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 356#$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#4(~c.base, ~c.offset, 4); 343#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 346#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 358#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 367#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 357#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 358#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 367#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 360#L25-1 assume true; 361#func_to_recursive_line_25_to_25_0EXIT >#92#return; 364#L25-1 assume true; 370#func_to_recursive_line_25_to_25_0EXIT >#80#return; 365#L47-1 call #t~mem8 := read~int#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 345#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 356#$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#4(~c.base, ~c.offset, 4); 343#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 347#L41-1 assume true; 363#func_to_recursive_line_24_to_25_0EXIT >#82#return; 368#L41-1 assume true; 372#func_to_recursive_line_24_to_25_0EXIT >#84#return; 366#L67-1 call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 340#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 342#$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#2(~b.base, ~b.offset, 4); 362#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 348#L61-1 assume true; 349#func_to_recursive_line_23_to_24_0EXIT >#86#return; 353#L61-1 assume true; 371#func_to_recursive_line_23_to_24_0EXIT >#88#return; 359#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; 350#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);< 352#$Ultimate##0 [2024-10-31 21:58:03,667 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:58:03,667 INFO L85 PathProgramCache]: Analyzing trace with hash 71610, now seen corresponding path program 4 times [2024-10-31 21:58:03,667 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:58:03,667 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [623130975] [2024-10-31 21:58:03,668 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:58:03,668 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:58:03,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:58:03,691 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-31 21:58:03,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:58:03,708 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-31 21:58:03,712 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:58:03,712 INFO L85 PathProgramCache]: Analyzing trace with hash -971158242, now seen corresponding path program 1 times [2024-10-31 21:58:03,712 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:58:03,712 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [580390140] [2024-10-31 21:58:03,712 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:58:03,713 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:58:03,744 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:03,985 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:04,002 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:04,281 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:04,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:04,468 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:04,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:04,654 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:04,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:04,721 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2024-10-31 21:58:04,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:04,728 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2024-10-31 21:58:04,730 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:04,732 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2024-10-31 21:58:04,733 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-31 21:58:04,733 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [580390140] [2024-10-31 21:58:04,733 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [580390140] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-31 21:58:04,733 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [361239372] [2024-10-31 21:58:04,733 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:58:04,734 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-31 21:58:04,736 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/z3 [2024-10-31 21:58:04,738 INFO L229 MonitoredProcess]: Starting monitored process 2 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-10-31 21:58:04,739 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2024-10-31 21:58:04,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:04,880 INFO L255 TraceCheckSpWp]: Trace formula consists of 279 conjuncts, 26 conjuncts are in the unsatisfiable core [2024-10-31 21:58:04,891 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-31 21:58:04,962 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-10-31 21:58:05,213 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2024-10-31 21:58:05,213 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-31 21:58:06,215 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-10-31 21:58:06,215 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [361239372] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-31 21:58:06,215 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-31 21:58:06,216 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9, 10] total 23 [2024-10-31 21:58:06,216 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [598391670] [2024-10-31 21:58:06,216 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-31 21:58:06,217 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-10-31 21:58:06,217 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-31 21:58:06,217 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2024-10-31 21:58:06,218 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=410, Unknown=0, NotChecked=0, Total=506 [2024-10-31 21:58:06,218 INFO L87 Difference]: Start difference. First operand 33 states and 39 transitions. cyclomatic complexity: 10 Second operand has 23 states, 18 states have (on average 2.1666666666666665) internal successors, (39), 18 states have internal predecessors, (39), 7 states have call successors, (16), 7 states have call predecessors, (16), 7 states have return successors, (12), 4 states have call predecessors, (12), 7 states have call successors, (12) [2024-10-31 21:58:06,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-31 21:58:06,696 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2024-10-31 21:58:06,696 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 37 states and 43 transitions. [2024-10-31 21:58:06,697 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-10-31 21:58:06,698 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 37 states to 37 states and 43 transitions. [2024-10-31 21:58:06,699 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 37 [2024-10-31 21:58:06,699 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 37 [2024-10-31 21:58:06,699 INFO L73 IsDeterministic]: Start isDeterministic. Operand 37 states and 43 transitions. [2024-10-31 21:58:06,700 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-10-31 21:58:06,700 INFO L218 hiAutomatonCegarLoop]: Abstraction has 37 states and 43 transitions. [2024-10-31 21:58:06,700 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states and 43 transitions. [2024-10-31 21:58:06,703 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 37. [2024-10-31 21:58:06,703 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-10-31 21:58:06,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 43 transitions. [2024-10-31 21:58:06,705 INFO L240 hiAutomatonCegarLoop]: Abstraction has 37 states and 43 transitions. [2024-10-31 21:58:06,707 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2024-10-31 21:58:06,708 INFO L425 stractBuchiCegarLoop]: Abstraction has 37 states and 43 transitions. [2024-10-31 21:58:06,708 INFO L332 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2024-10-31 21:58:06,708 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 37 states and 43 transitions. [2024-10-31 21:58:06,709 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-10-31 21:58:06,709 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-31 21:58:06,709 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-31 21:58:06,711 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-10-31 21:58:06,711 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-10-31 21:58:06,711 INFO L745 eck$LassoCheckResult]: Stem: 756#$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); 743#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#2(6, main_~#b~0#1.base, main_~#b~0#1.offset, 4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#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); 739#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);< 740#$Ultimate##0 [2024-10-31 21:58:06,711 INFO L747 eck$LassoCheckResult]: Loop: 740#$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); 742#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#2(0, ~b.base, ~b.offset, 4); 729#L87 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 730#$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#2(~b.base, ~b.offset, 4); 750#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(0, ~c.base, ~c.offset, 4); 732#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 744#$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#4(~c.base, ~c.offset, 4); 731#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 734#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 747#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 757#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 746#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 747#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 757#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 746#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 747#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 757#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 746#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 747#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 757#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 748#L25-1 assume true; 749#func_to_recursive_line_25_to_25_0EXIT >#92#return; 752#L25-1 assume true; 763#func_to_recursive_line_25_to_25_0EXIT >#92#return; 762#L25-1 assume true; 761#func_to_recursive_line_25_to_25_0EXIT >#92#return; 760#L25-1 assume true; 759#func_to_recursive_line_25_to_25_0EXIT >#80#return; 753#L47-1 call #t~mem8 := read~int#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 733#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 744#$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#4(~c.base, ~c.offset, 4); 731#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 735#L41-1 assume true; 751#func_to_recursive_line_24_to_25_0EXIT >#82#return; 755#L41-1 assume true; 764#func_to_recursive_line_24_to_25_0EXIT >#84#return; 754#L67-1 call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 728#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 730#$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#2(~b.base, ~b.offset, 4); 750#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 736#L61-1 assume true; 737#func_to_recursive_line_23_to_24_0EXIT >#86#return; 741#L61-1 assume true; 758#func_to_recursive_line_23_to_24_0EXIT >#88#return; 745#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; 738#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);< 740#$Ultimate##0 [2024-10-31 21:58:06,712 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:58:06,712 INFO L85 PathProgramCache]: Analyzing trace with hash 71610, now seen corresponding path program 5 times [2024-10-31 21:58:06,712 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:58:06,713 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [60755733] [2024-10-31 21:58:06,713 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:58:06,713 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:58:06,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:58:06,726 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-31 21:58:06,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:58:06,734 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-31 21:58:06,734 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:58:06,734 INFO L85 PathProgramCache]: Analyzing trace with hash -2092880572, now seen corresponding path program 2 times [2024-10-31 21:58:06,735 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:58:06,735 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1517435109] [2024-10-31 21:58:06,735 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:58:06,735 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:58:06,758 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:07,254 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:07,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:07,546 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:07,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:07,913 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:07,921 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:08,306 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:08,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:08,544 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:08,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:08,671 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:08,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:08,794 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2024-10-31 21:58:08,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:08,804 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 34 [2024-10-31 21:58:08,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:08,818 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 8 proven. 15 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2024-10-31 21:58:08,819 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-31 21:58:08,819 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1517435109] [2024-10-31 21:58:08,819 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1517435109] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-31 21:58:08,820 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [976512329] [2024-10-31 21:58:08,820 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-10-31 21:58:08,820 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-31 21:58:08,820 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/z3 [2024-10-31 21:58:08,834 INFO L229 MonitoredProcess]: Starting monitored process 3 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-10-31 21:58:08,837 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2024-10-31 21:58:09,005 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-10-31 21:58:09,006 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-10-31 21:58:09,009 INFO L255 TraceCheckSpWp]: Trace formula consists of 333 conjuncts, 50 conjuncts are in the unsatisfiable core [2024-10-31 21:58:09,014 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-31 21:58:09,020 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-10-31 21:58:09,367 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 4 proven. 15 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2024-10-31 21:58:09,368 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-31 21:58:11,247 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 4 proven. 27 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2024-10-31 21:58:11,248 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [976512329] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-31 21:58:11,248 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-31 21:58:11,248 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 11, 18] total 36 [2024-10-31 21:58:11,248 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1638424542] [2024-10-31 21:58:11,249 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-31 21:58:11,249 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-10-31 21:58:11,249 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-31 21:58:11,250 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2024-10-31 21:58:11,251 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=228, Invalid=1032, Unknown=0, NotChecked=0, Total=1260 [2024-10-31 21:58:11,251 INFO L87 Difference]: Start difference. First operand 37 states and 43 transitions. cyclomatic complexity: 10 Second operand has 36 states, 27 states have (on average 1.8518518518518519) internal successors, (50), 29 states have internal predecessors, (50), 11 states have call successors, (19), 9 states have call predecessors, (19), 11 states have return successors, (19), 8 states have call predecessors, (19), 11 states have call successors, (19) [2024-10-31 21:58:11,929 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-31 21:58:11,929 INFO L93 Difference]: Finished difference Result 41 states and 47 transitions. [2024-10-31 21:58:11,929 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 41 states and 47 transitions. [2024-10-31 21:58:11,931 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-10-31 21:58:11,932 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 41 states to 41 states and 47 transitions. [2024-10-31 21:58:11,932 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 41 [2024-10-31 21:58:11,932 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 41 [2024-10-31 21:58:11,933 INFO L73 IsDeterministic]: Start isDeterministic. Operand 41 states and 47 transitions. [2024-10-31 21:58:11,933 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-10-31 21:58:11,933 INFO L218 hiAutomatonCegarLoop]: Abstraction has 41 states and 47 transitions. [2024-10-31 21:58:11,933 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states and 47 transitions. [2024-10-31 21:58:11,936 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 41. [2024-10-31 21:58:11,936 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-10-31 21:58:11,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 47 transitions. [2024-10-31 21:58:11,937 INFO L240 hiAutomatonCegarLoop]: Abstraction has 41 states and 47 transitions. [2024-10-31 21:58:11,938 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2024-10-31 21:58:11,938 INFO L425 stractBuchiCegarLoop]: Abstraction has 41 states and 47 transitions. [2024-10-31 21:58:11,938 INFO L332 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2024-10-31 21:58:11,939 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 41 states and 47 transitions. [2024-10-31 21:58:11,940 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-10-31 21:58:11,940 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-31 21:58:11,940 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-31 21:58:11,941 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-10-31 21:58:11,941 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-10-31 21:58:11,942 INFO L745 eck$LassoCheckResult]: Stem: 1285#$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); 1271#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#2(6, main_~#b~0#1.base, main_~#b~0#1.offset, 4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#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); 1267#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);< 1268#$Ultimate##0 [2024-10-31 21:58:11,942 INFO L747 eck$LassoCheckResult]: Loop: 1268#$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); 1270#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#2(0, ~b.base, ~b.offset, 4); 1257#L87 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 1258#$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#2(~b.base, ~b.offset, 4); 1278#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(0, ~c.base, ~c.offset, 4); 1260#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 1272#$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#4(~c.base, ~c.offset, 4); 1259#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 1262#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1274#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1284#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1273#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1274#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1284#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1273#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1274#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1284#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1273#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1274#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1284#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1273#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1274#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1284#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1273#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1274#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1284#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 1276#L25-1 assume true; 1277#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1280#L25-1 assume true; 1296#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1295#L25-1 assume true; 1294#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1293#L25-1 assume true; 1292#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1290#L25-1 assume true; 1289#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1287#L25-1 assume true; 1286#func_to_recursive_line_25_to_25_0EXIT >#80#return; 1281#L47-1 call #t~mem8 := read~int#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 1261#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 1272#$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#4(~c.base, ~c.offset, 4); 1259#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 1263#L41-1 assume true; 1279#func_to_recursive_line_24_to_25_0EXIT >#82#return; 1283#L41-1 assume true; 1291#func_to_recursive_line_24_to_25_0EXIT >#84#return; 1282#L67-1 call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 1256#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 1258#$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#2(~b.base, ~b.offset, 4); 1278#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 1264#L61-1 assume true; 1265#func_to_recursive_line_23_to_24_0EXIT >#86#return; 1269#L61-1 assume true; 1288#func_to_recursive_line_23_to_24_0EXIT >#88#return; 1275#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; 1266#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);< 1268#$Ultimate##0 [2024-10-31 21:58:11,942 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:58:11,943 INFO L85 PathProgramCache]: Analyzing trace with hash 71610, now seen corresponding path program 6 times [2024-10-31 21:58:11,943 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:58:11,943 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [977801481] [2024-10-31 21:58:11,943 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:58:11,943 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:58:11,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:58:11,954 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-31 21:58:11,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:58:11,960 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-31 21:58:11,961 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:58:11,961 INFO L85 PathProgramCache]: Analyzing trace with hash 1778629226, now seen corresponding path program 3 times [2024-10-31 21:58:11,961 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:58:11,961 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [988937634] [2024-10-31 21:58:11,962 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:58:11,962 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:58:11,982 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:12,685 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:12,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:13,399 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:13,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:13,921 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:13,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:14,400 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:14,414 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:14,794 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:14,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:15,117 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:15,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:15,397 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:15,404 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:15,608 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:15,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:15,721 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 33 [2024-10-31 21:58:15,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:15,726 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2024-10-31 21:58:15,729 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:15,732 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 4 proven. 55 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2024-10-31 21:58:15,732 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-31 21:58:15,732 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [988937634] [2024-10-31 21:58:15,733 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [988937634] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-31 21:58:15,733 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [389264928] [2024-10-31 21:58:15,733 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-10-31 21:58:15,733 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-31 21:58:15,733 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/z3 [2024-10-31 21:58:15,736 INFO L229 MonitoredProcess]: Starting monitored process 4 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-10-31 21:58:15,738 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2024-10-31 21:58:15,860 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2024-10-31 21:58:15,860 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-10-31 21:58:15,862 INFO L255 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 31 conjuncts are in the unsatisfiable core [2024-10-31 21:58:15,865 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-31 21:58:15,877 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-10-31 21:58:16,221 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 75 trivial. 0 not checked. [2024-10-31 21:58:16,222 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-31 21:58:17,049 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 74 trivial. 0 not checked. [2024-10-31 21:58:17,050 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [389264928] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-31 21:58:17,050 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-31 21:58:17,050 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 9, 10] total 38 [2024-10-31 21:58:17,051 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [570414169] [2024-10-31 21:58:17,051 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-31 21:58:17,052 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-10-31 21:58:17,052 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-31 21:58:17,053 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2024-10-31 21:58:17,054 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=120, Invalid=1286, Unknown=0, NotChecked=0, Total=1406 [2024-10-31 21:58:17,054 INFO L87 Difference]: Start difference. First operand 41 states and 47 transitions. cyclomatic complexity: 10 Second operand has 38 states, 28 states have (on average 2.0) internal successors, (56), 32 states have internal predecessors, (56), 14 states have call successors, (20), 8 states have call predecessors, (20), 12 states have return successors, (19), 11 states have call predecessors, (19), 14 states have call successors, (19) [2024-10-31 21:58:18,655 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-31 21:58:18,655 INFO L93 Difference]: Finished difference Result 45 states and 51 transitions. [2024-10-31 21:58:18,655 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 45 states and 51 transitions. [2024-10-31 21:58:18,657 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-10-31 21:58:18,658 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 45 states to 45 states and 51 transitions. [2024-10-31 21:58:18,658 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 45 [2024-10-31 21:58:18,658 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 45 [2024-10-31 21:58:18,659 INFO L73 IsDeterministic]: Start isDeterministic. Operand 45 states and 51 transitions. [2024-10-31 21:58:18,659 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-10-31 21:58:18,659 INFO L218 hiAutomatonCegarLoop]: Abstraction has 45 states and 51 transitions. [2024-10-31 21:58:18,659 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states and 51 transitions. [2024-10-31 21:58:18,663 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 45. [2024-10-31 21:58:18,663 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 25 states have (on average 1.12) internal successors, (28), 28 states have internal predecessors, (28), 8 states have call successors, (8), 4 states have call predecessors, (8), 12 states have return successors, (15), 12 states have call predecessors, (15), 6 states have call successors, (15) [2024-10-31 21:58:18,664 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 51 transitions. [2024-10-31 21:58:18,664 INFO L240 hiAutomatonCegarLoop]: Abstraction has 45 states and 51 transitions. [2024-10-31 21:58:18,668 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2024-10-31 21:58:18,669 INFO L425 stractBuchiCegarLoop]: Abstraction has 45 states and 51 transitions. [2024-10-31 21:58:18,669 INFO L332 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2024-10-31 21:58:18,669 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 45 states and 51 transitions. [2024-10-31 21:58:18,670 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-10-31 21:58:18,671 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-31 21:58:18,671 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-31 21:58:18,673 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-10-31 21:58:18,673 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [14, 14, 12, 12, 12, 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-10-31 21:58:18,674 INFO L745 eck$LassoCheckResult]: Stem: 1968#$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); 1955#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#2(6, main_~#b~0#1.base, main_~#b~0#1.offset, 4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#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); 1951#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);< 1952#$Ultimate##0 [2024-10-31 21:58:18,674 INFO L747 eck$LassoCheckResult]: Loop: 1952#$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); 1954#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#2(0, ~b.base, ~b.offset, 4); 1941#L87 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 1942#$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#2(~b.base, ~b.offset, 4); 1962#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(0, ~c.base, ~c.offset, 4); 1945#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 1956#$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#4(~c.base, ~c.offset, 4); 1943#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 1946#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1959#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1969#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1958#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1959#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1969#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1958#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1959#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1969#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1958#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1959#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1969#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1958#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1959#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1969#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1958#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1959#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1969#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1958#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1959#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1969#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 1960#L25-1 assume true; 1961#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1964#L25-1 assume true; 1984#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1983#L25-1 assume true; 1982#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1980#L25-1 assume true; 1979#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1978#L25-1 assume true; 1977#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1976#L25-1 assume true; 1975#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1973#L25-1 assume true; 1972#func_to_recursive_line_25_to_25_0EXIT >#80#return; 1965#L47-1 call #t~mem8 := read~int#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 1944#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 1956#$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#4(~c.base, ~c.offset, 4); 1943#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 1947#L41-1 assume true; 1963#func_to_recursive_line_24_to_25_0EXIT >#82#return; 1967#L41-1 assume true; 1981#func_to_recursive_line_24_to_25_0EXIT >#84#return; 1966#L67-1 call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 1940#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 1942#$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#2(~b.base, ~b.offset, 4); 1962#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(0, ~c.base, ~c.offset, 4); 1945#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 1956#$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#4(~c.base, ~c.offset, 4); 1943#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 1946#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1959#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1969#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1958#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1959#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1969#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1958#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1959#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1969#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1958#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1959#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1969#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1958#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1959#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1969#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1958#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1959#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1969#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 1958#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 1959#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 1969#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 1960#L25-1 assume true; 1961#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1964#L25-1 assume true; 1984#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1983#L25-1 assume true; 1982#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1980#L25-1 assume true; 1979#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1978#L25-1 assume true; 1977#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1976#L25-1 assume true; 1975#func_to_recursive_line_25_to_25_0EXIT >#92#return; 1973#L25-1 assume true; 1972#func_to_recursive_line_25_to_25_0EXIT >#80#return; 1965#L47-1 call #t~mem8 := read~int#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 1944#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 1956#$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#4(~c.base, ~c.offset, 4); 1943#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 1947#L41-1 assume true; 1963#func_to_recursive_line_24_to_25_0EXIT >#82#return; 1967#L41-1 assume true; 1981#func_to_recursive_line_24_to_25_0EXIT >#84#return; 1966#L67-1 call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 1940#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 1942#$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#2(~b.base, ~b.offset, 4); 1962#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 1948#L61-1 assume true; 1949#func_to_recursive_line_23_to_24_0EXIT >#86#return; 1953#L61-1 assume true; 1974#func_to_recursive_line_23_to_24_0EXIT >#86#return; 1971#L61-1 assume true; 1970#func_to_recursive_line_23_to_24_0EXIT >#88#return; 1957#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; 1950#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);< 1952#$Ultimate##0 [2024-10-31 21:58:18,675 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:58:18,678 INFO L85 PathProgramCache]: Analyzing trace with hash 71610, now seen corresponding path program 7 times [2024-10-31 21:58:18,679 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:58:18,679 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1531054384] [2024-10-31 21:58:18,679 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:58:18,680 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:58:18,692 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:58:18,694 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-31 21:58:18,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:58:18,705 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-31 21:58:18,705 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:58:18,706 INFO L85 PathProgramCache]: Analyzing trace with hash -348181174, now seen corresponding path program 4 times [2024-10-31 21:58:18,706 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:58:18,706 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1488392305] [2024-10-31 21:58:18,706 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:58:18,706 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:58:18,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:19,214 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:19,239 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:19,614 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:19,634 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:19,876 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:19,885 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:19,907 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:19,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:19,919 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:19,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:19,928 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:19,932 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:19,937 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:19,939 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:19,943 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:19,945 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:19,948 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:19,949 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:19,951 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2024-10-31 21:58:19,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:20,001 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2024-10-31 21:58:20,015 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:20,028 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:20,035 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:20,045 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:20,051 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:20,059 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:20,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:20,071 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:20,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:20,080 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:20,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:20,089 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:20,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:20,095 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:20,097 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:20,100 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:20,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:20,103 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2024-10-31 21:58:20,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:20,106 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2024-10-31 21:58:20,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:20,110 INFO L134 CoverageAnalysis]: Checked inductivity of 472 backedges. 4 proven. 21 refuted. 0 times theorem prover too weak. 447 trivial. 0 not checked. [2024-10-31 21:58:20,111 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-31 21:58:20,111 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1488392305] [2024-10-31 21:58:20,111 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1488392305] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-31 21:58:20,111 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1792403771] [2024-10-31 21:58:20,111 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2024-10-31 21:58:20,112 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-31 21:58:20,112 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/z3 [2024-10-31 21:58:20,115 INFO L229 MonitoredProcess]: Starting monitored process 5 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-10-31 21:58:20,117 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_a86a08b6-a43f-4190-ab01-511b4e70ecc7/bin/uautomizer-verify-4GaUIPS5ZU/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2024-10-31 21:58:20,352 INFO L227 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2024-10-31 21:58:20,352 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-10-31 21:58:20,356 INFO L255 TraceCheckSpWp]: Trace formula consists of 724 conjuncts, 39 conjuncts are in the unsatisfiable core [2024-10-31 21:58:20,365 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-31 21:58:20,380 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-10-31 21:58:20,673 INFO L134 CoverageAnalysis]: Checked inductivity of 472 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 464 trivial. 0 not checked. [2024-10-31 21:58:20,673 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-31 21:58:21,727 INFO L134 CoverageAnalysis]: Checked inductivity of 472 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 457 trivial. 0 not checked. [2024-10-31 21:58:21,727 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1792403771] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-31 21:58:21,727 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-31 21:58:21,728 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10, 14] total 31 [2024-10-31 21:58:21,728 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1731443196] [2024-10-31 21:58:21,728 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-31 21:58:21,729 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-10-31 21:58:21,729 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-31 21:58:21,730 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2024-10-31 21:58:21,730 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=134, Invalid=796, Unknown=0, NotChecked=0, Total=930 [2024-10-31 21:58:21,731 INFO L87 Difference]: Start difference. First operand 45 states and 51 transitions. cyclomatic complexity: 10 Second operand has 31 states, 24 states have (on average 2.0833333333333335) internal successors, (50), 24 states have internal predecessors, (50), 13 states have call successors, (22), 9 states have call predecessors, (22), 10 states have return successors, (19), 11 states have call predecessors, (19), 13 states have call successors, (19) [2024-10-31 21:58:22,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-31 21:58:22,405 INFO L93 Difference]: Finished difference Result 49 states and 55 transitions. [2024-10-31 21:58:22,405 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 49 states and 55 transitions. [2024-10-31 21:58:22,406 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-10-31 21:58:22,407 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 49 states to 49 states and 55 transitions. [2024-10-31 21:58:22,408 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 49 [2024-10-31 21:58:22,408 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 49 [2024-10-31 21:58:22,408 INFO L73 IsDeterministic]: Start isDeterministic. Operand 49 states and 55 transitions. [2024-10-31 21:58:22,409 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-10-31 21:58:22,409 INFO L218 hiAutomatonCegarLoop]: Abstraction has 49 states and 55 transitions. [2024-10-31 21:58:22,409 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states and 55 transitions. [2024-10-31 21:58:22,413 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 49. [2024-10-31 21:58:22,413 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 30 states have internal predecessors, (30), 8 states have call successors, (8), 4 states have call predecessors, (8), 14 states have return successors, (17), 14 states have call predecessors, (17), 6 states have call successors, (17) [2024-10-31 21:58:22,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 55 transitions. [2024-10-31 21:58:22,414 INFO L240 hiAutomatonCegarLoop]: Abstraction has 49 states and 55 transitions. [2024-10-31 21:58:22,415 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2024-10-31 21:58:22,415 INFO L425 stractBuchiCegarLoop]: Abstraction has 49 states and 55 transitions. [2024-10-31 21:58:22,416 INFO L332 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2024-10-31 21:58:22,416 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 49 states and 55 transitions. [2024-10-31 21:58:22,421 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 18 [2024-10-31 21:58:22,424 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-31 21:58:22,424 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-31 21:58:22,430 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-10-31 21:58:22,434 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [42, 42, 36, 36, 36, 9, 9, 6, 6, 6, 6, 6, 6, 6, 4, 4, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1] [2024-10-31 21:58:22,434 INFO L745 eck$LassoCheckResult]: Stem: 3321#$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); 3307#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#2(6, main_~#b~0#1.base, main_~#b~0#1.offset, 4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#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); 3303#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);< 3304#$Ultimate##0 [2024-10-31 21:58:22,435 INFO L747 eck$LassoCheckResult]: Loop: 3304#$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); 3306#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#2(0, ~b.base, ~b.offset, 4); 3293#L87 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 3294#$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#2(~b.base, ~b.offset, 4); 3314#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(0, ~c.base, ~c.offset, 4); 3296#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 3308#$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#4(~c.base, ~c.offset, 4); 3295#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 3298#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 3312#L25-1 assume true; 3313#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3318#L25-1 assume true; 3340#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3339#L25-1 assume true; 3338#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3337#L25-1 assume true; 3334#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3333#L25-1 assume true; 3332#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3330#L25-1 assume true; 3328#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3325#L25-1 assume true; 3324#func_to_recursive_line_25_to_25_0EXIT >#80#return; 3319#L47-1 call #t~mem8 := read~int#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 3297#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 3308#$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#4(~c.base, ~c.offset, 4); 3295#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 3298#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 3312#L25-1 assume true; 3313#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3318#L25-1 assume true; 3340#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3339#L25-1 assume true; 3338#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3337#L25-1 assume true; 3334#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3333#L25-1 assume true; 3332#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3330#L25-1 assume true; 3328#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3325#L25-1 assume true; 3324#func_to_recursive_line_25_to_25_0EXIT >#80#return; 3319#L47-1 call #t~mem8 := read~int#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 3297#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 3308#$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#4(~c.base, ~c.offset, 4); 3295#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 3299#L41-1 assume true; 3322#func_to_recursive_line_24_to_25_0EXIT >#82#return; 3315#L41-1 assume true; 3316#func_to_recursive_line_24_to_25_0EXIT >#82#return; 3336#L41-1 assume true; 3335#func_to_recursive_line_24_to_25_0EXIT >#84#return; 3320#L67-1 call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 3292#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 3294#$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#2(~b.base, ~b.offset, 4); 3314#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(0, ~c.base, ~c.offset, 4); 3296#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 3308#$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#4(~c.base, ~c.offset, 4); 3295#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 3298#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 3312#L25-1 assume true; 3313#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3318#L25-1 assume true; 3340#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3339#L25-1 assume true; 3338#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3337#L25-1 assume true; 3334#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3333#L25-1 assume true; 3332#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3330#L25-1 assume true; 3328#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3325#L25-1 assume true; 3324#func_to_recursive_line_25_to_25_0EXIT >#80#return; 3319#L47-1 call #t~mem8 := read~int#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 3297#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 3308#$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#4(~c.base, ~c.offset, 4); 3295#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 3298#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 3312#L25-1 assume true; 3313#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3318#L25-1 assume true; 3340#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3339#L25-1 assume true; 3338#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3337#L25-1 assume true; 3334#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3333#L25-1 assume true; 3332#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3330#L25-1 assume true; 3328#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3325#L25-1 assume true; 3324#func_to_recursive_line_25_to_25_0EXIT >#80#return; 3319#L47-1 call #t~mem8 := read~int#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 3297#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 3308#$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#4(~c.base, ~c.offset, 4); 3295#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 3299#L41-1 assume true; 3322#func_to_recursive_line_24_to_25_0EXIT >#82#return; 3315#L41-1 assume true; 3316#func_to_recursive_line_24_to_25_0EXIT >#82#return; 3336#L41-1 assume true; 3335#func_to_recursive_line_24_to_25_0EXIT >#84#return; 3320#L67-1 call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 3292#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 3294#$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#2(~b.base, ~b.offset, 4); 3314#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(0, ~c.base, ~c.offset, 4); 3296#L67 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 3308#$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#4(~c.base, ~c.offset, 4); 3295#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 3298#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 3312#L25-1 assume true; 3313#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3318#L25-1 assume true; 3340#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3339#L25-1 assume true; 3338#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3337#L25-1 assume true; 3334#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3333#L25-1 assume true; 3332#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3330#L25-1 assume true; 3328#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3325#L25-1 assume true; 3324#func_to_recursive_line_25_to_25_0EXIT >#80#return; 3319#L47-1 call #t~mem8 := read~int#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 3297#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 3308#$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#4(~c.base, ~c.offset, 4); 3295#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#1(0, ~d.base, ~d.offset, 4); 3298#L47 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#1(~d.base, ~d.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#1(1 + #t~mem5, ~d.base, ~d.offset, 4);havoc #t~mem5;havoc #t~pre6; 3309#L32 call func_to_recursive_line_25_to_25_0(~d.base, ~d.offset);< 3310#$Ultimate##0 ~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem4 := read~int#1(~d.base, ~d.offset, 4); 3323#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 3312#L25-1 assume true; 3313#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3318#L25-1 assume true; 3340#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3339#L25-1 assume true; 3338#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3337#L25-1 assume true; 3334#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3333#L25-1 assume true; 3332#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3330#L25-1 assume true; 3328#func_to_recursive_line_25_to_25_0EXIT >#92#return; 3325#L25-1 assume true; 3324#func_to_recursive_line_25_to_25_0EXIT >#80#return; 3319#L47-1 call #t~mem8 := read~int#4(~c.base, ~c.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~c.base, ~c.offset, 4);havoc #t~mem8;havoc #t~pre9; 3297#L52 call func_to_recursive_line_24_to_25_0(~d.base, ~d.offset, ~c.base, ~c.offset);< 3308#$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#4(~c.base, ~c.offset, 4); 3295#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 3299#L41-1 assume true; 3322#func_to_recursive_line_24_to_25_0EXIT >#82#return; 3315#L41-1 assume true; 3316#func_to_recursive_line_24_to_25_0EXIT >#82#return; 3336#L41-1 assume true; 3335#func_to_recursive_line_24_to_25_0EXIT >#84#return; 3320#L67-1 call #t~mem11 := read~int#2(~b.base, ~b.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#2(1 + #t~mem11, ~b.base, ~b.offset, 4);havoc #t~mem11;havoc #t~pre12; 3292#L72 call func_to_recursive_line_23_to_24_0(~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 3294#$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#2(~b.base, ~b.offset, 4); 3314#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 3317#L61-1 assume true; 3305#func_to_recursive_line_23_to_24_0EXIT >#86#return; 3300#L61-1 assume true; 3301#func_to_recursive_line_23_to_24_0EXIT >#86#return; 3331#L61-1 assume true; 3329#func_to_recursive_line_23_to_24_0EXIT >#86#return; 3327#L61-1 assume true; 3326#func_to_recursive_line_23_to_24_0EXIT >#88#return; 3311#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; 3302#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);< 3304#$Ultimate##0 [2024-10-31 21:58:22,435 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:58:22,435 INFO L85 PathProgramCache]: Analyzing trace with hash 71610, now seen corresponding path program 8 times [2024-10-31 21:58:22,435 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:58:22,436 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [235950395] [2024-10-31 21:58:22,436 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:58:22,436 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:58:22,454 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:58:22,454 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-31 21:58:22,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:58:22,465 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-31 21:58:22,466 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:58:22,469 INFO L85 PathProgramCache]: Analyzing trace with hash 732034000, now seen corresponding path program 5 times [2024-10-31 21:58:22,469 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:58:22,469 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1340155981] [2024-10-31 21:58:22,470 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:58:22,470 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:58:22,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:24,167 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:24,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:25,581 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:25,635 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:26,061 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:26,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:26,090 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:26,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:26,100 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:26,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:26,108 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:26,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:26,116 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:26,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:26,121 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:26,123 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:26,126 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:58:26,127 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:58:26,128 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38