./Ultimate.py --spec ../../sv-benchmarks/c/properties/termination.prp --file ../../sv-benchmarks/c/recursified_loop-simple/recursified_nested_5.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version 4fc63b2a Calling Ultimate with: /usr/lib/jvm/java-11-openjdk-amd64/bin/java -Dosgi.configuration.area=/tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_0b29ef58-bbdc-409b-8b77-6613a5c24340/bin/uautomizer-verify-4GaUIPS5ZU/data/config -Xmx15G -Xms4m -jar /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_0b29ef58-bbdc-409b-8b77-6613a5c24340/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_0b29ef58-bbdc-409b-8b77-6613a5c24340/bin/uautomizer-verify-4GaUIPS5ZU/data -tc /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_0b29ef58-bbdc-409b-8b77-6613a5c24340/bin/uautomizer-verify-4GaUIPS5ZU/config/AutomizerTermination.xml -i ../../sv-benchmarks/c/recursified_loop-simple/recursified_nested_5.c -s /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_0b29ef58-bbdc-409b-8b77-6613a5c24340/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_0b29ef58-bbdc-409b-8b77-6613a5c24340/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 c9dfd2bf12e8d041fe6d1d6bf651e6b1ba93f167a26b0485680374a443f598c5 --- Real Ultimate output --- This is Ultimate 0.2.5-dev-4fc63b2 [2024-10-31 21:57:05,617 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-10-31 21:57:05,705 INFO L114 SettingsManager]: Loading settings from /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_0b29ef58-bbdc-409b-8b77-6613a5c24340/bin/uautomizer-verify-4GaUIPS5ZU/config/svcomp-Termination-32bit-Automizer_Default.epf [2024-10-31 21:57:05,710 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-10-31 21:57:05,711 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-10-31 21:57:05,756 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-10-31 21:57:05,759 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-10-31 21:57:05,759 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-10-31 21:57:05,760 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-10-31 21:57:05,760 INFO L153 SettingsManager]: * Use memory slicer=true [2024-10-31 21:57:05,761 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-10-31 21:57:05,761 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-10-31 21:57:05,763 INFO L153 SettingsManager]: * Use SBE=true [2024-10-31 21:57:05,766 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2024-10-31 21:57:05,766 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2024-10-31 21:57:05,767 INFO L153 SettingsManager]: * Use old map elimination=false [2024-10-31 21:57:05,770 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2024-10-31 21:57:05,771 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2024-10-31 21:57:05,771 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2024-10-31 21:57:05,771 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-10-31 21:57:05,772 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2024-10-31 21:57:05,773 INFO L153 SettingsManager]: * sizeof long=4 [2024-10-31 21:57:05,777 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-10-31 21:57:05,777 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-10-31 21:57:05,777 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-10-31 21:57:05,778 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2024-10-31 21:57:05,778 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2024-10-31 21:57:05,779 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2024-10-31 21:57:05,782 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-10-31 21:57:05,782 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2024-10-31 21:57:05,782 INFO L153 SettingsManager]: * sizeof long double=12 [2024-10-31 21:57:05,783 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-10-31 21:57:05,783 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2024-10-31 21:57:05,783 INFO L153 SettingsManager]: * Use constant arrays=true [2024-10-31 21:57:05,784 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-10-31 21:57:05,784 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-10-31 21:57:05,784 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-10-31 21:57:05,785 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-10-31 21:57:05,786 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2024-10-31 21:57:05,786 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_0b29ef58-bbdc-409b-8b77-6613a5c24340/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_0b29ef58-bbdc-409b-8b77-6613a5c24340/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 -> c9dfd2bf12e8d041fe6d1d6bf651e6b1ba93f167a26b0485680374a443f598c5 [2024-10-31 21:57:06,146 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-10-31 21:57:06,212 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-10-31 21:57:06,219 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-10-31 21:57:06,220 INFO L270 PluginConnector]: Initializing CDTParser... [2024-10-31 21:57:06,225 INFO L274 PluginConnector]: CDTParser initialized [2024-10-31 21:57:06,227 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_0b29ef58-bbdc-409b-8b77-6613a5c24340/bin/uautomizer-verify-4GaUIPS5ZU/../../sv-benchmarks/c/recursified_loop-simple/recursified_nested_5.c Unable to find full path for "g++" [2024-10-31 21:57:08,656 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-10-31 21:57:08,927 INFO L384 CDTParser]: Found 1 translation units. [2024-10-31 21:57:08,927 INFO L180 CDTParser]: Scanning /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_0b29ef58-bbdc-409b-8b77-6613a5c24340/sv-benchmarks/c/recursified_loop-simple/recursified_nested_5.c [2024-10-31 21:57:08,934 INFO L427 CDTParser]: About to delete temporary CDT project at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_0b29ef58-bbdc-409b-8b77-6613a5c24340/bin/uautomizer-verify-4GaUIPS5ZU/data/d7ed2b3e7/1d62a5ce99164df394cdfceb04e9717a/FLAG6c56e4f9e [2024-10-31 21:57:08,948 INFO L435 CDTParser]: Successfully deleted /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_0b29ef58-bbdc-409b-8b77-6613a5c24340/bin/uautomizer-verify-4GaUIPS5ZU/data/d7ed2b3e7/1d62a5ce99164df394cdfceb04e9717a [2024-10-31 21:57:08,950 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-10-31 21:57:08,952 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2024-10-31 21:57:08,953 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-10-31 21:57:08,953 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-10-31 21:57:08,961 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-10-31 21:57:08,962 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 31.10 09:57:08" (1/1) ... [2024-10-31 21:57:08,963 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5ed79f22 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:57:08, skipping insertion in model container [2024-10-31 21:57:08,963 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 31.10 09:57:08" (1/1) ... [2024-10-31 21:57:08,984 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-10-31 21:57:09,185 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-10-31 21:57:09,196 INFO L200 MainTranslator]: Completed pre-run [2024-10-31 21:57:09,220 INFO L210 PostProcessor]: Analyzing one entry point: main [2024-10-31 21:57:09,238 INFO L204 MainTranslator]: Completed translation [2024-10-31 21:57:09,238 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:57:09 WrapperNode [2024-10-31 21:57:09,238 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-10-31 21:57:09,240 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-10-31 21:57:09,240 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-10-31 21:57:09,240 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-10-31 21:57:09,248 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:57:09" (1/1) ... [2024-10-31 21:57:09,259 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:57:09" (1/1) ... [2024-10-31 21:57:09,280 INFO L138 Inliner]: procedures = 16, calls = 63, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 81 [2024-10-31 21:57:09,281 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-10-31 21:57:09,282 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-10-31 21:57:09,282 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-10-31 21:57:09,282 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-10-31 21:57:09,294 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:57:09" (1/1) ... [2024-10-31 21:57:09,294 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:57:09" (1/1) ... [2024-10-31 21:57:09,298 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:57:09" (1/1) ... [2024-10-31 21:57:09,327 INFO L175 MemorySlicer]: Split 32 memory accesses to 6 slices as follows [2, 6, 6, 6, 6, 6]. 19 percent of accesses are in the largest equivalence class. The 7 initializations are split as follows [2, 1, 1, 1, 1, 1]. The 10 writes are split as follows [0, 2, 2, 2, 2, 2]. [2024-10-31 21:57:09,327 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:57:09" (1/1) ... [2024-10-31 21:57:09,328 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:57:09" (1/1) ... [2024-10-31 21:57:09,338 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:57:09" (1/1) ... [2024-10-31 21:57:09,340 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:57:09" (1/1) ... [2024-10-31 21:57:09,345 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:57:09" (1/1) ... [2024-10-31 21:57:09,346 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:57:09" (1/1) ... [2024-10-31 21:57:09,353 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-10-31 21:57:09,354 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-10-31 21:57:09,355 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-10-31 21:57:09,355 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-10-31 21:57:09,356 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:57:09" (1/1) ... [2024-10-31 21:57:09,362 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-10-31 21:57:09,374 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_0b29ef58-bbdc-409b-8b77-6613a5c24340/bin/uautomizer-verify-4GaUIPS5ZU/z3 [2024-10-31 21:57:09,387 INFO L229 MonitoredProcess]: Starting monitored process 1 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_0b29ef58-bbdc-409b-8b77-6613a5c24340/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:57:09,395 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_0b29ef58-bbdc-409b-8b77-6613a5c24340/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:57:09,421 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-10-31 21:57:09,422 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-10-31 21:57:09,422 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-10-31 21:57:09,422 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2024-10-31 21:57:09,423 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#3 [2024-10-31 21:57:09,423 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#4 [2024-10-31 21:57:09,423 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#5 [2024-10-31 21:57:09,423 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-10-31 21:57:09,423 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-10-31 21:57:09,423 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-10-31 21:57:09,423 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2024-10-31 21:57:09,424 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#3 [2024-10-31 21:57:09,424 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#4 [2024-10-31 21:57:09,424 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#5 [2024-10-31 21:57:09,426 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_24_to_25_0 [2024-10-31 21:57:09,426 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_24_to_25_0 [2024-10-31 21:57:09,426 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_23_to_24_0 [2024-10-31 21:57:09,426 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_23_to_24_0 [2024-10-31 21:57:09,426 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_25_to_26_0 [2024-10-31 21:57:09,426 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_25_to_26_0 [2024-10-31 21:57:09,427 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-10-31 21:57:09,427 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-10-31 21:57:09,427 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-10-31 21:57:09,427 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-10-31 21:57:09,427 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2024-10-31 21:57:09,427 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#3 [2024-10-31 21:57:09,427 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#4 [2024-10-31 21:57:09,428 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#5 [2024-10-31 21:57:09,428 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_27_to_27_0 [2024-10-31 21:57:09,428 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_27_to_27_0 [2024-10-31 21:57:09,428 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_26_to_27_0 [2024-10-31 21:57:09,428 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_26_to_27_0 [2024-10-31 21:57:09,428 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-10-31 21:57:09,538 INFO L238 CfgBuilder]: Building ICFG [2024-10-31 21:57:09,540 INFO L264 CfgBuilder]: Building CFG for each procedure with an implementation [2024-10-31 21:57:10,016 INFO L? ?]: Removed 15 outVars from TransFormulas that were not future-live. [2024-10-31 21:57:10,016 INFO L287 CfgBuilder]: Performing block encoding [2024-10-31 21:57:10,035 INFO L311 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-10-31 21:57:10,036 INFO L316 CfgBuilder]: Removed 0 assume(true) statements. [2024-10-31 21:57:10,036 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 31.10 09:57:10 BoogieIcfgContainer [2024-10-31 21:57:10,036 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-10-31 21:57:10,037 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2024-10-31 21:57:10,038 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2024-10-31 21:57:10,042 INFO L274 PluginConnector]: BuchiAutomizer initialized [2024-10-31 21:57:10,043 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-10-31 21:57:10,043 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 31.10 09:57:08" (1/3) ... [2024-10-31 21:57:10,045 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@5c89d0a6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 31.10 09:57:10, skipping insertion in model container [2024-10-31 21:57:10,045 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-10-31 21:57:10,045 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 31.10 09:57:09" (2/3) ... [2024-10-31 21:57:10,047 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@5c89d0a6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 31.10 09:57:10, skipping insertion in model container [2024-10-31 21:57:10,047 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2024-10-31 21:57:10,047 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 31.10 09:57:10" (3/3) ... [2024-10-31 21:57:10,049 INFO L332 chiAutomizerObserver]: Analyzing ICFG recursified_nested_5.c [2024-10-31 21:57:10,121 INFO L300 stractBuchiCegarLoop]: Interprodecural is true [2024-10-31 21:57:10,121 INFO L301 stractBuchiCegarLoop]: Hoare is None [2024-10-31 21:57:10,121 INFO L302 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2024-10-31 21:57:10,122 INFO L303 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2024-10-31 21:57:10,122 INFO L304 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2024-10-31 21:57:10,122 INFO L305 stractBuchiCegarLoop]: Difference is false [2024-10-31 21:57:10,122 INFO L306 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2024-10-31 21:57:10,122 INFO L310 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2024-10-31 21:57:10,127 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 50 states, 34 states have (on average 1.2941176470588236) internal successors, (44), 39 states have internal predecessors, (44), 10 states have call successors, (10), 5 states have call predecessors, (10), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2024-10-31 21:57:10,171 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 23 [2024-10-31 21:57:10,171 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-31 21:57:10,171 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-31 21:57:10,178 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-10-31 21:57:10,178 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-31 21:57:10,179 INFO L332 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2024-10-31 21:57:10,179 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 50 states, 34 states have (on average 1.2941176470588236) internal successors, (44), 39 states have internal predecessors, (44), 10 states have call successors, (10), 5 states have call predecessors, (10), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2024-10-31 21:57:10,183 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 23 [2024-10-31 21:57:10,184 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-31 21:57:10,184 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-31 21:57:10,184 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-10-31 21:57:10,185 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-31 21:57:10,192 INFO L745 eck$LassoCheckResult]: Stem: 19#$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); 26#L-1true assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~mem19#1, main_#t~mem20#1, main_#t~short21#1, main_#t~mem22#1, main_#t~short23#1, main_#t~mem24#1, main_#t~short25#1, main_#t~mem26#1, main_#t~short27#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, main_~#e~0#1.base, main_~#e~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#2(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#1(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#5(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call main_~#e~0#1.base, main_~#e~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#3(6, main_~#e~0#1.base, main_~#e~0#1.offset, 4);call write~int#2(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 39#L128true call func_to_recursive_line_23_to_24_0(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_~#e~0#1.base, main_~#e~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset);< 29#$Ultimate##0true [2024-10-31 21:57:10,193 INFO L747 eck$LassoCheckResult]: Loop: 29#$Ultimate##0true ~a.base, ~a.offset := #in~a.base, #in~a.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem16 := read~int#2(~a.base, ~a.offset, 4); 5#L101true assume #t~mem16 < 6;havoc #t~mem16;call write~int#1(0, ~b.base, ~b.offset, 4); 6#L107true call func_to_recursive_line_24_to_25_0(~e.base, ~e.offset, ~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 42#$Ultimate##0true ~e.base, ~e.offset := #in~e.base, #in~e.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem13 := read~int#1(~b.base, ~b.offset, 4); 25#L81true assume !(#t~mem13 < 6);havoc #t~mem13; 21#L81-1true assume true; 20#func_to_recursive_line_24_to_25_0EXITtrue >#112#return; 3#L107-1true call #t~mem17 := read~int#2(~a.base, ~a.offset, 4);#t~pre18 := 1 + #t~mem17;call write~int#2(1 + #t~mem17, ~a.base, ~a.offset, 4);havoc #t~mem17;havoc #t~pre18; 34#L112true call func_to_recursive_line_23_to_24_0(~a.base, ~a.offset, ~b.base, ~b.offset, ~c.base, ~c.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 29#$Ultimate##0true [2024-10-31 21:57:10,226 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:57:10,227 INFO L85 PathProgramCache]: Analyzing trace with hash 82544, now seen corresponding path program 1 times [2024-10-31 21:57:10,240 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:57:10,241 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1215454104] [2024-10-31 21:57:10,241 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:57:10,242 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:57:10,442 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:57:10,443 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-31 21:57:10,512 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:57:10,540 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-31 21:57:10,544 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:57:10,544 INFO L85 PathProgramCache]: Analyzing trace with hash 2053320187, now seen corresponding path program 1 times [2024-10-31 21:57:10,544 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:57:10,545 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1555524947] [2024-10-31 21:57:10,545 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:57:10,546 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:57:10,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:10,992 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:11,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:11,152 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:57:11,155 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-31 21:57:11,156 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1555524947] [2024-10-31 21:57:11,156 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1555524947] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-31 21:57:11,157 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-31 21:57:11,157 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2024-10-31 21:57:11,158 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [715425374] [2024-10-31 21:57:11,159 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-31 21:57:11,164 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-10-31 21:57:11,166 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-31 21:57:11,218 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2024-10-31 21:57:11,219 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2024-10-31 21:57:11,221 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.2941176470588236) internal successors, (44), 39 states have internal predecessors, (44), 10 states have call successors, (10), 5 states have call predecessors, (10), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) 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:57:11,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-31 21:57:11,631 INFO L93 Difference]: Finished difference Result 59 states and 76 transitions. [2024-10-31 21:57:11,633 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 59 states and 76 transitions. [2024-10-31 21:57:11,644 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 23 [2024-10-31 21:57:11,651 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 59 states to 42 states and 53 transitions. [2024-10-31 21:57:11,653 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 42 [2024-10-31 21:57:11,653 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 42 [2024-10-31 21:57:11,654 INFO L73 IsDeterministic]: Start isDeterministic. Operand 42 states and 53 transitions. [2024-10-31 21:57:11,655 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-10-31 21:57:11,656 INFO L218 hiAutomatonCegarLoop]: Abstraction has 42 states and 53 transitions. [2024-10-31 21:57:11,674 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states and 53 transitions. [2024-10-31 21:57:11,688 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 36. [2024-10-31 21:57:11,689 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 25 states have internal predecessors, (25), 10 states have call successors, (10), 5 states have call predecessors, (10), 5 states have return successors, (9), 8 states have call predecessors, (9), 8 states have call successors, (9) [2024-10-31 21:57:11,690 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 44 transitions. [2024-10-31 21:57:11,691 INFO L240 hiAutomatonCegarLoop]: Abstraction has 36 states and 44 transitions. [2024-10-31 21:57:11,693 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2024-10-31 21:57:11,697 INFO L425 stractBuchiCegarLoop]: Abstraction has 36 states and 44 transitions. [2024-10-31 21:57:11,697 INFO L332 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2024-10-31 21:57:11,697 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 36 states and 44 transitions. [2024-10-31 21:57:11,698 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 23 [2024-10-31 21:57:11,698 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-31 21:57:11,698 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-31 21:57:11,699 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-10-31 21:57:11,699 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:57:11,700 INFO L745 eck$LassoCheckResult]: Stem: 161#$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); 145#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~mem19#1, main_#t~mem20#1, main_#t~short21#1, main_#t~mem22#1, main_#t~short23#1, main_#t~mem24#1, main_#t~short25#1, main_#t~mem26#1, main_#t~short27#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, main_~#e~0#1.base, main_~#e~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#2(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#1(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#5(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call main_~#e~0#1.base, main_~#e~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#3(6, main_~#e~0#1.base, main_~#e~0#1.offset, 4);call write~int#2(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 134#L128 call func_to_recursive_line_23_to_24_0(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_~#e~0#1.base, main_~#e~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset);< 158#$Ultimate##0 [2024-10-31 21:57:11,700 INFO L747 eck$LassoCheckResult]: Loop: 158#$Ultimate##0 ~a.base, ~a.offset := #in~a.base, #in~a.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem16 := read~int#2(~a.base, ~a.offset, 4); 143#L101 assume #t~mem16 < 6;havoc #t~mem16;call write~int#1(0, ~b.base, ~b.offset, 4); 139#L107 call func_to_recursive_line_24_to_25_0(~e.base, ~e.offset, ~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 144#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem13 := read~int#1(~b.base, ~b.offset, 4); 138#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#5(0, ~c.base, ~c.offset, 4); 141#L87 call func_to_recursive_line_25_to_26_0(~e.base, ~e.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 159#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.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#5(~c.base, ~c.offset, 4); 160#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 149#L61-1 assume true; 146#func_to_recursive_line_25_to_26_0EXIT >#98#return; 148#L87-1 call #t~mem14 := read~int#1(~b.base, ~b.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#1(1 + #t~mem14, ~b.base, ~b.offset, 4);havoc #t~mem14;havoc #t~pre15; 140#L92 call func_to_recursive_line_24_to_25_0(~e.base, ~e.offset, ~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 144#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem13 := read~int#1(~b.base, ~b.offset, 4); 138#L81 assume !(#t~mem13 < 6);havoc #t~mem13; 142#L81-1 assume true; 162#func_to_recursive_line_24_to_25_0EXIT >#100#return; 163#L81-1 assume true; 164#func_to_recursive_line_24_to_25_0EXIT >#112#return; 133#L107-1 call #t~mem17 := read~int#2(~a.base, ~a.offset, 4);#t~pre18 := 1 + #t~mem17;call write~int#2(1 + #t~mem17, ~a.base, ~a.offset, 4);havoc #t~mem17;havoc #t~pre18; 135#L112 call func_to_recursive_line_23_to_24_0(~a.base, ~a.offset, ~b.base, ~b.offset, ~c.base, ~c.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 158#$Ultimate##0 [2024-10-31 21:57:11,700 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:57:11,701 INFO L85 PathProgramCache]: Analyzing trace with hash 82544, now seen corresponding path program 2 times [2024-10-31 21:57:11,701 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:57:11,701 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [156461837] [2024-10-31 21:57:11,701 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:57:11,702 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:57:11,732 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:57:11,734 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-31 21:57:11,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:57:11,763 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-31 21:57:11,767 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:57:11,767 INFO L85 PathProgramCache]: Analyzing trace with hash 54735792, now seen corresponding path program 1 times [2024-10-31 21:57:11,768 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:57:11,770 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [265976180] [2024-10-31 21:57:11,770 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:57:11,770 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:57:11,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:12,050 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:12,060 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:12,183 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:12,190 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:12,265 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2024-10-31 21:57:12,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:12,274 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:57:12,275 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-31 21:57:12,275 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [265976180] [2024-10-31 21:57:12,275 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [265976180] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-31 21:57:12,276 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-31 21:57:12,276 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2024-10-31 21:57:12,278 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2103776033] [2024-10-31 21:57:12,278 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-31 21:57:12,278 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-10-31 21:57:12,279 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-31 21:57:12,279 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2024-10-31 21:57:12,280 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2024-10-31 21:57:12,282 INFO L87 Difference]: Start difference. First operand 36 states and 44 transitions. cyclomatic complexity: 13 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:57:12,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-31 21:57:12,575 INFO L93 Difference]: Finished difference Result 42 states and 52 transitions. [2024-10-31 21:57:12,575 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 42 states and 52 transitions. [2024-10-31 21:57:12,577 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 23 [2024-10-31 21:57:12,581 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 42 states to 42 states and 52 transitions. [2024-10-31 21:57:12,581 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 42 [2024-10-31 21:57:12,582 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 42 [2024-10-31 21:57:12,582 INFO L73 IsDeterministic]: Start isDeterministic. Operand 42 states and 52 transitions. [2024-10-31 21:57:12,582 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-10-31 21:57:12,584 INFO L218 hiAutomatonCegarLoop]: Abstraction has 42 states and 52 transitions. [2024-10-31 21:57:12,585 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states and 52 transitions. [2024-10-31 21:57:12,588 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 38. [2024-10-31 21:57:12,589 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 26 states have internal predecessors, (26), 10 states have call successors, (10), 5 states have call predecessors, (10), 6 states have return successors, (10), 8 states have call predecessors, (10), 8 states have call successors, (10) [2024-10-31 21:57:12,589 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 46 transitions. [2024-10-31 21:57:12,591 INFO L240 hiAutomatonCegarLoop]: Abstraction has 38 states and 46 transitions. [2024-10-31 21:57:12,592 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2024-10-31 21:57:12,592 INFO L425 stractBuchiCegarLoop]: Abstraction has 38 states and 46 transitions. [2024-10-31 21:57:12,593 INFO L332 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2024-10-31 21:57:12,593 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 38 states and 46 transitions. [2024-10-31 21:57:12,596 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 23 [2024-10-31 21:57:12,596 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-31 21:57:12,597 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-31 21:57:12,600 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-10-31 21:57:12,600 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:57:12,600 INFO L745 eck$LassoCheckResult]: Stem: 278#$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); 260#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~mem19#1, main_#t~mem20#1, main_#t~short21#1, main_#t~mem22#1, main_#t~short23#1, main_#t~mem24#1, main_#t~short25#1, main_#t~mem26#1, main_#t~short27#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, main_~#e~0#1.base, main_~#e~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#2(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#1(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#5(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call main_~#e~0#1.base, main_~#e~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#3(6, main_~#e~0#1.base, main_~#e~0#1.offset, 4);call write~int#2(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 249#L128 call func_to_recursive_line_23_to_24_0(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_~#e~0#1.base, main_~#e~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset);< 272#$Ultimate##0 [2024-10-31 21:57:12,601 INFO L747 eck$LassoCheckResult]: Loop: 272#$Ultimate##0 ~a.base, ~a.offset := #in~a.base, #in~a.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem16 := read~int#2(~a.base, ~a.offset, 4); 258#L101 assume #t~mem16 < 6;havoc #t~mem16;call write~int#1(0, ~b.base, ~b.offset, 4); 255#L107 call func_to_recursive_line_24_to_25_0(~e.base, ~e.offset, ~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 259#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem13 := read~int#1(~b.base, ~b.offset, 4); 253#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#5(0, ~c.base, ~c.offset, 4); 256#L87 call func_to_recursive_line_25_to_26_0(~e.base, ~e.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 273#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.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#5(~c.base, ~c.offset, 4); 276#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(0, ~d.base, ~d.offset, 4); 267#L67 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 265#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 268#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 270#L41-1 assume true; 269#func_to_recursive_line_26_to_27_0EXIT >#102#return; 271#L67-1 call #t~mem11 := read~int#5(~c.base, ~c.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#5(1 + #t~mem11, ~c.base, ~c.offset, 4);havoc #t~mem11;havoc #t~pre12; 262#L72 call func_to_recursive_line_25_to_26_0(~e.base, ~e.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 273#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.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#5(~c.base, ~c.offset, 4); 276#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 277#L61-1 assume true; 261#func_to_recursive_line_25_to_26_0EXIT >#104#return; 263#L61-1 assume true; 275#func_to_recursive_line_25_to_26_0EXIT >#98#return; 274#L87-1 call #t~mem14 := read~int#1(~b.base, ~b.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#1(1 + #t~mem14, ~b.base, ~b.offset, 4);havoc #t~mem14;havoc #t~pre15; 254#L92 call func_to_recursive_line_24_to_25_0(~e.base, ~e.offset, ~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 259#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem13 := read~int#1(~b.base, ~b.offset, 4); 253#L81 assume !(#t~mem13 < 6);havoc #t~mem13; 257#L81-1 assume true; 279#func_to_recursive_line_24_to_25_0EXIT >#100#return; 280#L81-1 assume true; 281#func_to_recursive_line_24_to_25_0EXIT >#112#return; 248#L107-1 call #t~mem17 := read~int#2(~a.base, ~a.offset, 4);#t~pre18 := 1 + #t~mem17;call write~int#2(1 + #t~mem17, ~a.base, ~a.offset, 4);havoc #t~mem17;havoc #t~pre18; 250#L112 call func_to_recursive_line_23_to_24_0(~a.base, ~a.offset, ~b.base, ~b.offset, ~c.base, ~c.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 272#$Ultimate##0 [2024-10-31 21:57:12,601 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:57:12,601 INFO L85 PathProgramCache]: Analyzing trace with hash 82544, now seen corresponding path program 3 times [2024-10-31 21:57:12,602 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:57:12,603 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [259213425] [2024-10-31 21:57:12,603 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:57:12,603 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:57:12,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:57:12,634 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-31 21:57:12,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:57:12,659 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-31 21:57:12,659 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:57:12,660 INFO L85 PathProgramCache]: Analyzing trace with hash 1525796123, now seen corresponding path program 1 times [2024-10-31 21:57:12,660 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:57:12,660 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [757953730] [2024-10-31 21:57:12,660 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:57:12,661 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:57:12,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:12,914 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:12,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:13,069 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:13,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:13,188 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:13,191 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:13,239 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2024-10-31 21:57:13,241 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:13,246 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 19 [2024-10-31 21:57:13,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:13,253 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:57:13,253 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-31 21:57:13,254 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [757953730] [2024-10-31 21:57:13,254 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [757953730] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-31 21:57:13,254 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-31 21:57:13,254 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2024-10-31 21:57:13,254 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1620675761] [2024-10-31 21:57:13,255 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-31 21:57:13,255 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-10-31 21:57:13,256 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-31 21:57:13,256 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2024-10-31 21:57:13,256 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2024-10-31 21:57:13,257 INFO L87 Difference]: Start difference. First operand 38 states and 46 transitions. cyclomatic complexity: 13 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:57:13,485 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-31 21:57:13,485 INFO L93 Difference]: Finished difference Result 42 states and 51 transitions. [2024-10-31 21:57:13,486 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 42 states and 51 transitions. [2024-10-31 21:57:13,488 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 23 [2024-10-31 21:57:13,493 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 42 states to 42 states and 51 transitions. [2024-10-31 21:57:13,493 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 42 [2024-10-31 21:57:13,493 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 42 [2024-10-31 21:57:13,495 INFO L73 IsDeterministic]: Start isDeterministic. Operand 42 states and 51 transitions. [2024-10-31 21:57:13,495 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-10-31 21:57:13,495 INFO L218 hiAutomatonCegarLoop]: Abstraction has 42 states and 51 transitions. [2024-10-31 21:57:13,496 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states and 51 transitions. [2024-10-31 21:57:13,501 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 40. [2024-10-31 21:57:13,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 40 states, 23 states have (on average 1.173913043478261) internal successors, (27), 27 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 7 states have return successors, (11), 8 states have call predecessors, (11), 8 states have call successors, (11) [2024-10-31 21:57:13,504 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 48 transitions. [2024-10-31 21:57:13,504 INFO L240 hiAutomatonCegarLoop]: Abstraction has 40 states and 48 transitions. [2024-10-31 21:57:13,505 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2024-10-31 21:57:13,506 INFO L425 stractBuchiCegarLoop]: Abstraction has 40 states and 48 transitions. [2024-10-31 21:57:13,508 INFO L332 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2024-10-31 21:57:13,509 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 40 states and 48 transitions. [2024-10-31 21:57:13,509 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 23 [2024-10-31 21:57:13,510 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-31 21:57:13,510 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-31 21:57:13,511 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-10-31 21:57:13,514 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, 1, 1, 1, 1, 1, 1] [2024-10-31 21:57:13,514 INFO L745 eck$LassoCheckResult]: Stem: 429#$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); 408#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~mem19#1, main_#t~mem20#1, main_#t~short21#1, main_#t~mem22#1, main_#t~short23#1, main_#t~mem24#1, main_#t~short25#1, main_#t~mem26#1, main_#t~short27#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, main_~#e~0#1.base, main_~#e~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#2(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#1(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#5(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call main_~#e~0#1.base, main_~#e~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#3(6, main_~#e~0#1.base, main_~#e~0#1.offset, 4);call write~int#2(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 393#L128 call func_to_recursive_line_23_to_24_0(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_~#e~0#1.base, main_~#e~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset);< 419#$Ultimate##0 [2024-10-31 21:57:13,514 INFO L747 eck$LassoCheckResult]: Loop: 419#$Ultimate##0 ~a.base, ~a.offset := #in~a.base, #in~a.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem16 := read~int#2(~a.base, ~a.offset, 4); 406#L101 assume #t~mem16 < 6;havoc #t~mem16;call write~int#1(0, ~b.base, ~b.offset, 4); 402#L107 call func_to_recursive_line_24_to_25_0(~e.base, ~e.offset, ~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 407#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem13 := read~int#1(~b.base, ~b.offset, 4); 401#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#5(0, ~c.base, ~c.offset, 4); 404#L87 call func_to_recursive_line_25_to_26_0(~e.base, ~e.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 421#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.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#5(~c.base, ~c.offset, 4); 425#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(0, ~d.base, ~d.offset, 4); 414#L67 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 413#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 416#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#3(0, ~e.base, ~e.offset, 4); 397#L47 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 399#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 400#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 395#L25-1 assume true; 398#func_to_recursive_line_27_to_27_0EXIT >#108#return; 412#L47-1 call #t~mem8 := read~int#4(~d.base, ~d.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~d.base, ~d.offset, 4);havoc #t~mem8;havoc #t~pre9; 415#L52 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 413#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 416#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 420#L41-1 assume true; 417#func_to_recursive_line_26_to_27_0EXIT >#110#return; 418#L41-1 assume true; 431#func_to_recursive_line_26_to_27_0EXIT >#102#return; 423#L67-1 call #t~mem11 := read~int#5(~c.base, ~c.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#5(1 + #t~mem11, ~c.base, ~c.offset, 4);havoc #t~mem11;havoc #t~pre12; 410#L72 call func_to_recursive_line_25_to_26_0(~e.base, ~e.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 421#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.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#5(~c.base, ~c.offset, 4); 425#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 426#L61-1 assume true; 409#func_to_recursive_line_25_to_26_0EXIT >#104#return; 411#L61-1 assume true; 424#func_to_recursive_line_25_to_26_0EXIT >#98#return; 422#L87-1 call #t~mem14 := read~int#1(~b.base, ~b.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#1(1 + #t~mem14, ~b.base, ~b.offset, 4);havoc #t~mem14;havoc #t~pre15; 403#L92 call func_to_recursive_line_24_to_25_0(~e.base, ~e.offset, ~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 407#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem13 := read~int#1(~b.base, ~b.offset, 4); 401#L81 assume !(#t~mem13 < 6);havoc #t~mem13; 405#L81-1 assume true; 427#func_to_recursive_line_24_to_25_0EXIT >#100#return; 428#L81-1 assume true; 430#func_to_recursive_line_24_to_25_0EXIT >#112#return; 392#L107-1 call #t~mem17 := read~int#2(~a.base, ~a.offset, 4);#t~pre18 := 1 + #t~mem17;call write~int#2(1 + #t~mem17, ~a.base, ~a.offset, 4);havoc #t~mem17;havoc #t~pre18; 394#L112 call func_to_recursive_line_23_to_24_0(~a.base, ~a.offset, ~b.base, ~b.offset, ~c.base, ~c.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 419#$Ultimate##0 [2024-10-31 21:57:13,515 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:57:13,515 INFO L85 PathProgramCache]: Analyzing trace with hash 82544, now seen corresponding path program 4 times [2024-10-31 21:57:13,515 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:57:13,515 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1134131663] [2024-10-31 21:57:13,515 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:57:13,516 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:57:13,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:57:13,537 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-31 21:57:13,546 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:57:13,549 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-31 21:57:13,550 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:57:13,550 INFO L85 PathProgramCache]: Analyzing trace with hash 1439872263, now seen corresponding path program 1 times [2024-10-31 21:57:13,551 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:57:13,551 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [92560434] [2024-10-31 21:57:13,551 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:57:13,551 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:57:13,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:13,742 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:13,762 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:13,910 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:13,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:14,081 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:14,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:14,194 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:14,197 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:14,258 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2024-10-31 21:57:14,261 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:14,264 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 19 [2024-10-31 21:57:14,267 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:14,271 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2024-10-31 21:57:14,275 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:14,279 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2024-10-31 21:57:14,279 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-31 21:57:14,280 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [92560434] [2024-10-31 21:57:14,280 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [92560434] provided 1 perfect and 0 imperfect interpolant sequences [2024-10-31 21:57:14,280 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-10-31 21:57:14,280 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2024-10-31 21:57:14,281 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [309985948] [2024-10-31 21:57:14,281 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-10-31 21:57:14,281 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-10-31 21:57:14,281 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-31 21:57:14,282 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2024-10-31 21:57:14,282 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2024-10-31 21:57:14,282 INFO L87 Difference]: Start difference. First operand 40 states and 48 transitions. cyclomatic complexity: 13 Second operand has 9 states, 8 states have (on average 3.0) internal successors, (24), 5 states have internal predecessors, (24), 3 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 1 states have call predecessors, (7), 3 states have call successors, (7) [2024-10-31 21:57:14,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-31 21:57:14,535 INFO L93 Difference]: Finished difference Result 42 states and 50 transitions. [2024-10-31 21:57:14,536 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 42 states and 50 transitions. [2024-10-31 21:57:14,537 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 23 [2024-10-31 21:57:14,538 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 42 states to 42 states and 50 transitions. [2024-10-31 21:57:14,539 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 42 [2024-10-31 21:57:14,539 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 42 [2024-10-31 21:57:14,539 INFO L73 IsDeterministic]: Start isDeterministic. Operand 42 states and 50 transitions. [2024-10-31 21:57:14,540 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-10-31 21:57:14,540 INFO L218 hiAutomatonCegarLoop]: Abstraction has 42 states and 50 transitions. [2024-10-31 21:57:14,540 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states and 50 transitions. [2024-10-31 21:57:14,543 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 42. [2024-10-31 21:57:14,543 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 24 states have (on average 1.1666666666666667) internal successors, (28), 28 states have internal predecessors, (28), 10 states have call successors, (10), 5 states have call predecessors, (10), 8 states have return successors, (12), 8 states have call predecessors, (12), 8 states have call successors, (12) [2024-10-31 21:57:14,544 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 50 transitions. [2024-10-31 21:57:14,545 INFO L240 hiAutomatonCegarLoop]: Abstraction has 42 states and 50 transitions. [2024-10-31 21:57:14,545 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2024-10-31 21:57:14,546 INFO L425 stractBuchiCegarLoop]: Abstraction has 42 states and 50 transitions. [2024-10-31 21:57:14,546 INFO L332 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2024-10-31 21:57:14,546 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 42 states and 50 transitions. [2024-10-31 21:57:14,547 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 23 [2024-10-31 21:57:14,548 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-31 21:57:14,548 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-31 21:57:14,549 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-10-31 21:57:14,549 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [2, 2, 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, 1, 1, 1, 1, 1, 1, 1] [2024-10-31 21:57:14,550 INFO L745 eck$LassoCheckResult]: Stem: 621#$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); 600#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~mem19#1, main_#t~mem20#1, main_#t~short21#1, main_#t~mem22#1, main_#t~short23#1, main_#t~mem24#1, main_#t~short25#1, main_#t~mem26#1, main_#t~short27#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, main_~#e~0#1.base, main_~#e~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#2(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#1(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#5(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call main_~#e~0#1.base, main_~#e~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#3(6, main_~#e~0#1.base, main_~#e~0#1.offset, 4);call write~int#2(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 585#L128 call func_to_recursive_line_23_to_24_0(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_~#e~0#1.base, main_~#e~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset);< 611#$Ultimate##0 [2024-10-31 21:57:14,550 INFO L747 eck$LassoCheckResult]: Loop: 611#$Ultimate##0 ~a.base, ~a.offset := #in~a.base, #in~a.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem16 := read~int#2(~a.base, ~a.offset, 4); 598#L101 assume #t~mem16 < 6;havoc #t~mem16;call write~int#1(0, ~b.base, ~b.offset, 4); 594#L107 call func_to_recursive_line_24_to_25_0(~e.base, ~e.offset, ~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 599#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem13 := read~int#1(~b.base, ~b.offset, 4); 593#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#5(0, ~c.base, ~c.offset, 4); 596#L87 call func_to_recursive_line_25_to_26_0(~e.base, ~e.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 613#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.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#5(~c.base, ~c.offset, 4); 617#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(0, ~d.base, ~d.offset, 4); 606#L67 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 605#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 608#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#3(0, ~e.base, ~e.offset, 4); 588#L47 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 591#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 592#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 589#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 591#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 592#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 587#L25-1 assume true; 590#func_to_recursive_line_27_to_27_0EXIT >#106#return; 604#L25-1 assume true; 624#func_to_recursive_line_27_to_27_0EXIT >#108#return; 622#L47-1 call #t~mem8 := read~int#4(~d.base, ~d.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~d.base, ~d.offset, 4);havoc #t~mem8;havoc #t~pre9; 607#L52 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 605#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 608#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 612#L41-1 assume true; 609#func_to_recursive_line_26_to_27_0EXIT >#110#return; 610#L41-1 assume true; 625#func_to_recursive_line_26_to_27_0EXIT >#102#return; 615#L67-1 call #t~mem11 := read~int#5(~c.base, ~c.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#5(1 + #t~mem11, ~c.base, ~c.offset, 4);havoc #t~mem11;havoc #t~pre12; 602#L72 call func_to_recursive_line_25_to_26_0(~e.base, ~e.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 613#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.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#5(~c.base, ~c.offset, 4); 617#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 618#L61-1 assume true; 601#func_to_recursive_line_25_to_26_0EXIT >#104#return; 603#L61-1 assume true; 616#func_to_recursive_line_25_to_26_0EXIT >#98#return; 614#L87-1 call #t~mem14 := read~int#1(~b.base, ~b.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#1(1 + #t~mem14, ~b.base, ~b.offset, 4);havoc #t~mem14;havoc #t~pre15; 595#L92 call func_to_recursive_line_24_to_25_0(~e.base, ~e.offset, ~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 599#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem13 := read~int#1(~b.base, ~b.offset, 4); 593#L81 assume !(#t~mem13 < 6);havoc #t~mem13; 597#L81-1 assume true; 619#func_to_recursive_line_24_to_25_0EXIT >#100#return; 620#L81-1 assume true; 623#func_to_recursive_line_24_to_25_0EXIT >#112#return; 584#L107-1 call #t~mem17 := read~int#2(~a.base, ~a.offset, 4);#t~pre18 := 1 + #t~mem17;call write~int#2(1 + #t~mem17, ~a.base, ~a.offset, 4);havoc #t~mem17;havoc #t~pre18; 586#L112 call func_to_recursive_line_23_to_24_0(~a.base, ~a.offset, ~b.base, ~b.offset, ~c.base, ~c.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 611#$Ultimate##0 [2024-10-31 21:57:14,550 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:57:14,551 INFO L85 PathProgramCache]: Analyzing trace with hash 82544, now seen corresponding path program 5 times [2024-10-31 21:57:14,551 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:57:14,551 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [322335563] [2024-10-31 21:57:14,551 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:57:14,552 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:57:14,568 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:57:14,569 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-31 21:57:14,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:57:14,580 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-31 21:57:14,580 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:57:14,581 INFO L85 PathProgramCache]: Analyzing trace with hash 405682375, now seen corresponding path program 1 times [2024-10-31 21:57:14,581 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:57:14,581 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1631911518] [2024-10-31 21:57:14,582 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:57:14,582 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:57:14,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:14,920 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:14,939 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:15,225 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:15,250 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:15,475 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:15,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:15,605 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:15,610 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:15,758 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:15,762 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:15,815 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2024-10-31 21:57:15,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:15,820 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2024-10-31 21:57:15,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:15,824 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 35 [2024-10-31 21:57:15,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:15,829 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 6 proven. 3 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2024-10-31 21:57:15,830 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-31 21:57:15,830 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1631911518] [2024-10-31 21:57:15,830 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1631911518] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-31 21:57:15,831 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1912998290] [2024-10-31 21:57:15,831 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:57:15,831 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-31 21:57:15,831 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_0b29ef58-bbdc-409b-8b77-6613a5c24340/bin/uautomizer-verify-4GaUIPS5ZU/z3 [2024-10-31 21:57:15,834 INFO L229 MonitoredProcess]: Starting monitored process 2 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_0b29ef58-bbdc-409b-8b77-6613a5c24340/bin/uautomizer-verify-4GaUIPS5ZU/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-10-31 21:57:15,837 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_0b29ef58-bbdc-409b-8b77-6613a5c24340/bin/uautomizer-verify-4GaUIPS5ZU/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2024-10-31 21:57:16,002 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:16,010 INFO L255 TraceCheckSpWp]: Trace formula consists of 403 conjuncts, 26 conjuncts are in the unsatisfiable core [2024-10-31 21:57:16,019 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-31 21:57:16,084 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:57:16,403 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2024-10-31 21:57:16,404 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-31 21:57:17,173 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2024-10-31 21:57:17,174 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1912998290] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-31 21:57:17,174 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-31 21:57:17,174 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9, 10] total 27 [2024-10-31 21:57:17,174 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [611766757] [2024-10-31 21:57:17,174 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-31 21:57:17,175 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-10-31 21:57:17,175 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-31 21:57:17,175 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2024-10-31 21:57:17,176 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=100, Invalid=602, Unknown=0, NotChecked=0, Total=702 [2024-10-31 21:57:17,176 INFO L87 Difference]: Start difference. First operand 42 states and 50 transitions. cyclomatic complexity: 13 Second operand has 27 states, 21 states have (on average 2.5238095238095237) internal successors, (53), 20 states have internal predecessors, (53), 10 states have call successors, (21), 9 states have call predecessors, (21), 8 states have return successors, (18), 7 states have call predecessors, (18), 10 states have call successors, (18) [2024-10-31 21:57:18,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-31 21:57:18,179 INFO L93 Difference]: Finished difference Result 46 states and 54 transitions. [2024-10-31 21:57:18,179 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 46 states and 54 transitions. [2024-10-31 21:57:18,180 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 23 [2024-10-31 21:57:18,182 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 46 states to 46 states and 54 transitions. [2024-10-31 21:57:18,182 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 46 [2024-10-31 21:57:18,182 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 46 [2024-10-31 21:57:18,182 INFO L73 IsDeterministic]: Start isDeterministic. Operand 46 states and 54 transitions. [2024-10-31 21:57:18,183 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-10-31 21:57:18,183 INFO L218 hiAutomatonCegarLoop]: Abstraction has 46 states and 54 transitions. [2024-10-31 21:57:18,183 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states and 54 transitions. [2024-10-31 21:57:18,186 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2024-10-31 21:57:18,187 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 30 states have internal predecessors, (30), 10 states have call successors, (10), 5 states have call predecessors, (10), 10 states have return successors, (14), 10 states have call predecessors, (14), 8 states have call successors, (14) [2024-10-31 21:57:18,188 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 54 transitions. [2024-10-31 21:57:18,188 INFO L240 hiAutomatonCegarLoop]: Abstraction has 46 states and 54 transitions. [2024-10-31 21:57:18,188 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2024-10-31 21:57:18,189 INFO L425 stractBuchiCegarLoop]: Abstraction has 46 states and 54 transitions. [2024-10-31 21:57:18,189 INFO L332 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2024-10-31 21:57:18,190 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 46 states and 54 transitions. [2024-10-31 21:57:18,190 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 23 [2024-10-31 21:57:18,191 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-31 21:57:18,191 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-31 21:57:18,192 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-10-31 21:57:18,193 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [6, 6, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-31 21:57:18,193 INFO L745 eck$LassoCheckResult]: Stem: 1151#$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); 1133#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~mem19#1, main_#t~mem20#1, main_#t~short21#1, main_#t~mem22#1, main_#t~short23#1, main_#t~mem24#1, main_#t~short25#1, main_#t~mem26#1, main_#t~short27#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, main_~#e~0#1.base, main_~#e~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#2(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#1(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#5(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call main_~#e~0#1.base, main_~#e~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#3(6, main_~#e~0#1.base, main_~#e~0#1.offset, 4);call write~int#2(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 1122#L128 call func_to_recursive_line_23_to_24_0(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_~#e~0#1.base, main_~#e~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset);< 1144#$Ultimate##0 [2024-10-31 21:57:18,193 INFO L747 eck$LassoCheckResult]: Loop: 1144#$Ultimate##0 ~a.base, ~a.offset := #in~a.base, #in~a.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem16 := read~int#2(~a.base, ~a.offset, 4); 1131#L101 assume #t~mem16 < 6;havoc #t~mem16;call write~int#1(0, ~b.base, ~b.offset, 4); 1128#L107 call func_to_recursive_line_24_to_25_0(~e.base, ~e.offset, ~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 1132#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem13 := read~int#1(~b.base, ~b.offset, 4); 1126#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#5(0, ~c.base, ~c.offset, 4); 1129#L87 call func_to_recursive_line_25_to_26_0(~e.base, ~e.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 1146#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.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#5(~c.base, ~c.offset, 4); 1150#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(0, ~d.base, ~d.offset, 4); 1139#L67 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 1138#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 1141#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#3(0, ~e.base, ~e.offset, 4); 1118#L47 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 1124#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 1125#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 1119#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 1124#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 1125#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 1119#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 1124#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 1125#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 1117#L25-1 assume true; 1120#func_to_recursive_line_27_to_27_0EXIT >#106#return; 1134#L25-1 assume true; 1160#func_to_recursive_line_27_to_27_0EXIT >#106#return; 1159#L25-1 assume true; 1158#func_to_recursive_line_27_to_27_0EXIT >#108#return; 1154#L47-1 call #t~mem8 := read~int#4(~d.base, ~d.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~d.base, ~d.offset, 4);havoc #t~mem8;havoc #t~pre9; 1140#L52 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 1138#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 1141#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 1145#L41-1 assume true; 1142#func_to_recursive_line_26_to_27_0EXIT >#110#return; 1143#L41-1 assume true; 1162#func_to_recursive_line_26_to_27_0EXIT >#102#return; 1148#L67-1 call #t~mem11 := read~int#5(~c.base, ~c.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#5(1 + #t~mem11, ~c.base, ~c.offset, 4);havoc #t~mem11;havoc #t~pre12; 1136#L72 call func_to_recursive_line_25_to_26_0(~e.base, ~e.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 1146#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.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#5(~c.base, ~c.offset, 4); 1150#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(0, ~d.base, ~d.offset, 4); 1139#L67 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 1138#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 1141#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#3(0, ~e.base, ~e.offset, 4); 1118#L47 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 1124#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 1125#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 1119#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 1124#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 1125#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 1119#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 1124#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 1125#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 1117#L25-1 assume true; 1120#func_to_recursive_line_27_to_27_0EXIT >#106#return; 1134#L25-1 assume true; 1160#func_to_recursive_line_27_to_27_0EXIT >#106#return; 1159#L25-1 assume true; 1158#func_to_recursive_line_27_to_27_0EXIT >#108#return; 1154#L47-1 call #t~mem8 := read~int#4(~d.base, ~d.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~d.base, ~d.offset, 4);havoc #t~mem8;havoc #t~pre9; 1140#L52 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 1138#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 1141#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 1145#L41-1 assume true; 1142#func_to_recursive_line_26_to_27_0EXIT >#110#return; 1143#L41-1 assume true; 1162#func_to_recursive_line_26_to_27_0EXIT >#102#return; 1148#L67-1 call #t~mem11 := read~int#5(~c.base, ~c.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#5(1 + #t~mem11, ~c.base, ~c.offset, 4);havoc #t~mem11;havoc #t~pre12; 1136#L72 call func_to_recursive_line_25_to_26_0(~e.base, ~e.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 1146#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.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#5(~c.base, ~c.offset, 4); 1150#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 1149#L61-1 assume true; 1135#func_to_recursive_line_25_to_26_0EXIT >#104#return; 1137#L61-1 assume true; 1161#func_to_recursive_line_25_to_26_0EXIT >#104#return; 1157#L61-1 assume true; 1156#func_to_recursive_line_25_to_26_0EXIT >#98#return; 1147#L87-1 call #t~mem14 := read~int#1(~b.base, ~b.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#1(1 + #t~mem14, ~b.base, ~b.offset, 4);havoc #t~mem14;havoc #t~pre15; 1127#L92 call func_to_recursive_line_24_to_25_0(~e.base, ~e.offset, ~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 1132#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem13 := read~int#1(~b.base, ~b.offset, 4); 1126#L81 assume !(#t~mem13 < 6);havoc #t~mem13; 1130#L81-1 assume true; 1152#func_to_recursive_line_24_to_25_0EXIT >#100#return; 1153#L81-1 assume true; 1155#func_to_recursive_line_24_to_25_0EXIT >#112#return; 1121#L107-1 call #t~mem17 := read~int#2(~a.base, ~a.offset, 4);#t~pre18 := 1 + #t~mem17;call write~int#2(1 + #t~mem17, ~a.base, ~a.offset, 4);havoc #t~mem17;havoc #t~pre18; 1123#L112 call func_to_recursive_line_23_to_24_0(~a.base, ~a.offset, ~b.base, ~b.offset, ~c.base, ~c.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 1144#$Ultimate##0 [2024-10-31 21:57:18,194 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:57:18,194 INFO L85 PathProgramCache]: Analyzing trace with hash 82544, now seen corresponding path program 6 times [2024-10-31 21:57:18,194 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:57:18,195 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [514079747] [2024-10-31 21:57:18,195 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:57:18,195 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:57:18,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:57:18,211 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-31 21:57:18,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:57:18,222 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-31 21:57:18,222 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:57:18,223 INFO L85 PathProgramCache]: Analyzing trace with hash -1884622642, now seen corresponding path program 2 times [2024-10-31 21:57:18,223 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:57:18,223 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1631831526] [2024-10-31 21:57:18,223 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:57:18,224 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:57:18,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:19,100 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:19,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:19,563 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:19,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:20,153 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:20,163 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:20,359 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:20,365 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:20,596 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:20,603 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:20,778 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:20,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:20,851 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2024-10-31 21:57:20,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:20,856 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2024-10-31 21:57:20,872 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:20,886 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:20,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:20,905 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:20,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:20,917 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:20,920 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:20,924 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:20,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:20,931 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2024-10-31 21:57:20,933 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:20,935 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 29 [2024-10-31 21:57:20,939 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:20,942 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 72 [2024-10-31 21:57:20,945 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:20,949 INFO L134 CoverageAnalysis]: Checked inductivity of 112 backedges. 10 proven. 48 refuted. 0 times theorem prover too weak. 54 trivial. 0 not checked. [2024-10-31 21:57:20,950 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-31 21:57:20,950 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1631831526] [2024-10-31 21:57:20,951 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1631831526] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-31 21:57:20,951 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1881413762] [2024-10-31 21:57:20,951 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2024-10-31 21:57:20,951 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-31 21:57:20,952 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_0b29ef58-bbdc-409b-8b77-6613a5c24340/bin/uautomizer-verify-4GaUIPS5ZU/z3 [2024-10-31 21:57:20,954 INFO L229 MonitoredProcess]: Starting monitored process 3 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_0b29ef58-bbdc-409b-8b77-6613a5c24340/bin/uautomizer-verify-4GaUIPS5ZU/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-10-31 21:57:20,956 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_0b29ef58-bbdc-409b-8b77-6613a5c24340/bin/uautomizer-verify-4GaUIPS5ZU/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2024-10-31 21:57:21,191 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2024-10-31 21:57:21,191 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-10-31 21:57:21,196 INFO L255 TraceCheckSpWp]: Trace formula consists of 632 conjuncts, 68 conjuncts are in the unsatisfiable core [2024-10-31 21:57:21,203 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-31 21:57:21,316 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:57:21,683 INFO L134 CoverageAnalysis]: Checked inductivity of 112 backedges. 54 proven. 8 refuted. 0 times theorem prover too weak. 50 trivial. 0 not checked. [2024-10-31 21:57:21,684 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-31 21:57:23,581 INFO L134 CoverageAnalysis]: Checked inductivity of 112 backedges. 8 proven. 62 refuted. 0 times theorem prover too weak. 42 trivial. 0 not checked. [2024-10-31 21:57:23,582 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1881413762] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-31 21:57:23,582 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-31 21:57:23,582 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 13, 14] total 34 [2024-10-31 21:57:23,582 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1100162312] [2024-10-31 21:57:23,582 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-31 21:57:23,583 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-10-31 21:57:23,583 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-31 21:57:23,585 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2024-10-31 21:57:23,586 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=173, Invalid=949, Unknown=0, NotChecked=0, Total=1122 [2024-10-31 21:57:23,586 INFO L87 Difference]: Start difference. First operand 46 states and 54 transitions. cyclomatic complexity: 13 Second operand has 34 states, 26 states have (on average 2.8076923076923075) internal successors, (73), 27 states have internal predecessors, (73), 12 states have call successors, (37), 9 states have call predecessors, (37), 9 states have return successors, (28), 7 states have call predecessors, (28), 12 states have call successors, (28) [2024-10-31 21:57:24,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-31 21:57:24,381 INFO L93 Difference]: Finished difference Result 50 states and 58 transitions. [2024-10-31 21:57:24,381 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 50 states and 58 transitions. [2024-10-31 21:57:24,382 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 23 [2024-10-31 21:57:24,383 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 50 states to 50 states and 58 transitions. [2024-10-31 21:57:24,383 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 50 [2024-10-31 21:57:24,384 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 50 [2024-10-31 21:57:24,384 INFO L73 IsDeterministic]: Start isDeterministic. Operand 50 states and 58 transitions. [2024-10-31 21:57:24,384 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-10-31 21:57:24,385 INFO L218 hiAutomatonCegarLoop]: Abstraction has 50 states and 58 transitions. [2024-10-31 21:57:24,385 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states and 58 transitions. [2024-10-31 21:57:24,388 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2024-10-31 21:57:24,388 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 28 states have (on average 1.1428571428571428) internal successors, (32), 32 states have internal predecessors, (32), 10 states have call successors, (10), 5 states have call predecessors, (10), 12 states have return successors, (16), 12 states have call predecessors, (16), 8 states have call successors, (16) [2024-10-31 21:57:24,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 58 transitions. [2024-10-31 21:57:24,389 INFO L240 hiAutomatonCegarLoop]: Abstraction has 50 states and 58 transitions. [2024-10-31 21:57:24,391 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2024-10-31 21:57:24,392 INFO L425 stractBuchiCegarLoop]: Abstraction has 50 states and 58 transitions. [2024-10-31 21:57:24,392 INFO L332 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2024-10-31 21:57:24,392 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 50 states and 58 transitions. [2024-10-31 21:57:24,393 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 23 [2024-10-31 21:57:24,393 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-31 21:57:24,393 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-31 21:57:24,396 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-10-31 21:57:24,396 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [10, 10, 8, 8, 8, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-10-31 21:57:24,396 INFO L745 eck$LassoCheckResult]: Stem: 2110#$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); 2089#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~mem19#1, main_#t~mem20#1, main_#t~short21#1, main_#t~mem22#1, main_#t~short23#1, main_#t~mem24#1, main_#t~short25#1, main_#t~mem26#1, main_#t~short27#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, main_~#e~0#1.base, main_~#e~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#2(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#1(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#5(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call main_~#e~0#1.base, main_~#e~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#3(6, main_~#e~0#1.base, main_~#e~0#1.offset, 4);call write~int#2(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 2079#L128 call func_to_recursive_line_23_to_24_0(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_~#e~0#1.base, main_~#e~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset);< 2100#$Ultimate##0 [2024-10-31 21:57:24,397 INFO L747 eck$LassoCheckResult]: Loop: 2100#$Ultimate##0 ~a.base, ~a.offset := #in~a.base, #in~a.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem16 := read~int#2(~a.base, ~a.offset, 4); 2087#L101 assume #t~mem16 < 6;havoc #t~mem16;call write~int#1(0, ~b.base, ~b.offset, 4); 2084#L107 call func_to_recursive_line_24_to_25_0(~e.base, ~e.offset, ~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 2088#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem13 := read~int#1(~b.base, ~b.offset, 4); 2082#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#5(0, ~c.base, ~c.offset, 4); 2085#L87 call func_to_recursive_line_25_to_26_0(~e.base, ~e.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 2102#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.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#5(~c.base, ~c.offset, 4); 2106#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(0, ~d.base, ~d.offset, 4); 2095#L67 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 2094#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 2097#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#3(0, ~e.base, ~e.offset, 4); 2075#L47 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 2080#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 2081#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 2074#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 2080#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 2081#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 2074#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 2080#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 2081#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 2074#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 2080#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 2081#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 2074#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 2080#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 2081#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 2073#L25-1 assume true; 2076#func_to_recursive_line_27_to_27_0EXIT >#106#return; 2090#L25-1 assume true; 2121#func_to_recursive_line_27_to_27_0EXIT >#106#return; 2120#L25-1 assume true; 2119#func_to_recursive_line_27_to_27_0EXIT >#106#return; 2118#L25-1 assume true; 2117#func_to_recursive_line_27_to_27_0EXIT >#106#return; 2116#L25-1 assume true; 2115#func_to_recursive_line_27_to_27_0EXIT >#108#return; 2111#L47-1 call #t~mem8 := read~int#4(~d.base, ~d.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~d.base, ~d.offset, 4);havoc #t~mem8;havoc #t~pre9; 2096#L52 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 2094#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 2097#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 2101#L41-1 assume true; 2098#func_to_recursive_line_26_to_27_0EXIT >#110#return; 2099#L41-1 assume true; 2122#func_to_recursive_line_26_to_27_0EXIT >#102#return; 2104#L67-1 call #t~mem11 := read~int#5(~c.base, ~c.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#5(1 + #t~mem11, ~c.base, ~c.offset, 4);havoc #t~mem11;havoc #t~pre12; 2092#L72 call func_to_recursive_line_25_to_26_0(~e.base, ~e.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 2102#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.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#5(~c.base, ~c.offset, 4); 2106#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(0, ~d.base, ~d.offset, 4); 2095#L67 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 2094#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 2097#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#3(0, ~e.base, ~e.offset, 4); 2075#L47 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 2080#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 2081#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 2074#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 2080#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 2081#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 2074#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 2080#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 2081#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 2074#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 2080#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 2081#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 2074#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 2080#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 2081#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 2073#L25-1 assume true; 2076#func_to_recursive_line_27_to_27_0EXIT >#106#return; 2090#L25-1 assume true; 2121#func_to_recursive_line_27_to_27_0EXIT >#106#return; 2120#L25-1 assume true; 2119#func_to_recursive_line_27_to_27_0EXIT >#106#return; 2118#L25-1 assume true; 2117#func_to_recursive_line_27_to_27_0EXIT >#106#return; 2116#L25-1 assume true; 2115#func_to_recursive_line_27_to_27_0EXIT >#108#return; 2111#L47-1 call #t~mem8 := read~int#4(~d.base, ~d.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~d.base, ~d.offset, 4);havoc #t~mem8;havoc #t~pre9; 2096#L52 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 2094#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 2097#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 2101#L41-1 assume true; 2098#func_to_recursive_line_26_to_27_0EXIT >#110#return; 2099#L41-1 assume true; 2122#func_to_recursive_line_26_to_27_0EXIT >#102#return; 2104#L67-1 call #t~mem11 := read~int#5(~c.base, ~c.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#5(1 + #t~mem11, ~c.base, ~c.offset, 4);havoc #t~mem11;havoc #t~pre12; 2092#L72 call func_to_recursive_line_25_to_26_0(~e.base, ~e.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 2102#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.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#5(~c.base, ~c.offset, 4); 2106#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 2107#L61-1 assume true; 2091#func_to_recursive_line_25_to_26_0EXIT >#104#return; 2093#L61-1 assume true; 2105#func_to_recursive_line_25_to_26_0EXIT >#104#return; 2114#L61-1 assume true; 2113#func_to_recursive_line_25_to_26_0EXIT >#98#return; 2103#L87-1 call #t~mem14 := read~int#1(~b.base, ~b.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#1(1 + #t~mem14, ~b.base, ~b.offset, 4);havoc #t~mem14;havoc #t~pre15; 2083#L92 call func_to_recursive_line_24_to_25_0(~e.base, ~e.offset, ~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 2088#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem13 := read~int#1(~b.base, ~b.offset, 4); 2082#L81 assume !(#t~mem13 < 6);havoc #t~mem13; 2086#L81-1 assume true; 2108#func_to_recursive_line_24_to_25_0EXIT >#100#return; 2109#L81-1 assume true; 2112#func_to_recursive_line_24_to_25_0EXIT >#112#return; 2077#L107-1 call #t~mem17 := read~int#2(~a.base, ~a.offset, 4);#t~pre18 := 1 + #t~mem17;call write~int#2(1 + #t~mem17, ~a.base, ~a.offset, 4);havoc #t~mem17;havoc #t~pre18; 2078#L112 call func_to_recursive_line_23_to_24_0(~a.base, ~a.offset, ~b.base, ~b.offset, ~c.base, ~c.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 2100#$Ultimate##0 [2024-10-31 21:57:24,397 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:57:24,397 INFO L85 PathProgramCache]: Analyzing trace with hash 82544, now seen corresponding path program 7 times [2024-10-31 21:57:24,397 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:57:24,398 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [786516670] [2024-10-31 21:57:24,398 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:57:24,398 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:57:24,410 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:57:24,411 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-31 21:57:24,417 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:57:24,421 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-31 21:57:24,422 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:57:24,422 INFO L85 PathProgramCache]: Analyzing trace with hash 1544954878, now seen corresponding path program 3 times [2024-10-31 21:57:24,422 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:57:24,422 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1466561465] [2024-10-31 21:57:24,422 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:57:24,423 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:57:24,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:24,949 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:24,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:25,366 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:25,393 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:25,711 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:25,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:25,966 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:25,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:25,999 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:26,004 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:26,009 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:26,013 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:26,019 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:26,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:26,025 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:26,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:26,029 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2024-10-31 21:57:26,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:26,081 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 39 [2024-10-31 21:57:26,092 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:26,103 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:26,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:26,116 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:26,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:26,125 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:26,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:26,135 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:26,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:26,143 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:26,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:26,148 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:26,151 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:26,152 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2024-10-31 21:57:26,154 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:26,156 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 39 [2024-10-31 21:57:26,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:26,160 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 92 [2024-10-31 21:57:26,163 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:26,166 INFO L134 CoverageAnalysis]: Checked inductivity of 254 backedges. 6 proven. 21 refuted. 0 times theorem prover too weak. 227 trivial. 0 not checked. [2024-10-31 21:57:26,166 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-10-31 21:57:26,166 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1466561465] [2024-10-31 21:57:26,166 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1466561465] provided 0 perfect and 1 imperfect interpolant sequences [2024-10-31 21:57:26,167 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1401885874] [2024-10-31 21:57:26,167 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2024-10-31 21:57:26,167 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-10-31 21:57:26,167 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_0b29ef58-bbdc-409b-8b77-6613a5c24340/bin/uautomizer-verify-4GaUIPS5ZU/z3 [2024-10-31 21:57:26,170 INFO L229 MonitoredProcess]: Starting monitored process 4 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_0b29ef58-bbdc-409b-8b77-6613a5c24340/bin/uautomizer-verify-4GaUIPS5ZU/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-10-31 21:57:26,172 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_0b29ef58-bbdc-409b-8b77-6613a5c24340/bin/uautomizer-verify-4GaUIPS5ZU/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2024-10-31 21:57:26,339 INFO L227 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2024-10-31 21:57:26,339 INFO L228 tOrderPrioritization]: Conjunction of SSA is unsat [2024-10-31 21:57:26,342 INFO L255 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 29 conjuncts are in the unsatisfiable core [2024-10-31 21:57:26,354 INFO L278 TraceCheckSpWp]: Computing forward predicates... [2024-10-31 21:57:26,366 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:57:26,599 INFO L134 CoverageAnalysis]: Checked inductivity of 254 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 251 trivial. 0 not checked. [2024-10-31 21:57:26,599 INFO L311 TraceCheckSpWp]: Computing backward predicates... [2024-10-31 21:57:27,380 INFO L134 CoverageAnalysis]: Checked inductivity of 254 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 250 trivial. 0 not checked. [2024-10-31 21:57:27,380 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1401885874] provided 0 perfect and 2 imperfect interpolant sequences [2024-10-31 21:57:27,381 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2024-10-31 21:57:27,381 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9, 10] total 27 [2024-10-31 21:57:27,381 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2130537841] [2024-10-31 21:57:27,381 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2024-10-31 21:57:27,382 INFO L762 eck$LassoCheckResult]: loop already infeasible [2024-10-31 21:57:27,382 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-10-31 21:57:27,382 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2024-10-31 21:57:27,383 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=605, Unknown=0, NotChecked=0, Total=702 [2024-10-31 21:57:27,383 INFO L87 Difference]: Start difference. First operand 50 states and 58 transitions. cyclomatic complexity: 13 Second operand has 27 states, 21 states have (on average 2.4761904761904763) internal successors, (52), 20 states have internal predecessors, (52), 11 states have call successors, (24), 9 states have call predecessors, (24), 8 states have return successors, (18), 8 states have call predecessors, (18), 11 states have call successors, (18) [2024-10-31 21:57:28,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-10-31 21:57:28,315 INFO L93 Difference]: Finished difference Result 54 states and 62 transitions. [2024-10-31 21:57:28,315 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 54 states and 62 transitions. [2024-10-31 21:57:28,318 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 23 [2024-10-31 21:57:28,324 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 54 states to 54 states and 62 transitions. [2024-10-31 21:57:28,324 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 54 [2024-10-31 21:57:28,324 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 54 [2024-10-31 21:57:28,324 INFO L73 IsDeterministic]: Start isDeterministic. Operand 54 states and 62 transitions. [2024-10-31 21:57:28,325 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2024-10-31 21:57:28,325 INFO L218 hiAutomatonCegarLoop]: Abstraction has 54 states and 62 transitions. [2024-10-31 21:57:28,325 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states and 62 transitions. [2024-10-31 21:57:28,337 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 54. [2024-10-31 21:57:28,337 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 30 states have (on average 1.1333333333333333) internal successors, (34), 34 states have internal predecessors, (34), 10 states have call successors, (10), 5 states have call predecessors, (10), 14 states have return successors, (18), 14 states have call predecessors, (18), 8 states have call successors, (18) [2024-10-31 21:57:28,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 62 transitions. [2024-10-31 21:57:28,338 INFO L240 hiAutomatonCegarLoop]: Abstraction has 54 states and 62 transitions. [2024-10-31 21:57:28,338 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2024-10-31 21:57:28,343 INFO L425 stractBuchiCegarLoop]: Abstraction has 54 states and 62 transitions. [2024-10-31 21:57:28,343 INFO L332 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2024-10-31 21:57:28,343 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 54 states and 62 transitions. [2024-10-31 21:57:28,344 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 23 [2024-10-31 21:57:28,344 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2024-10-31 21:57:28,344 INFO L119 BuchiIsEmpty]: Starting construction of run [2024-10-31 21:57:28,364 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2024-10-31 21:57:28,364 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [40, 40, 32, 32, 32, 12, 12, 8, 8, 8, 8, 8, 8, 8, 6, 6, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2024-10-31 21:57:28,364 INFO L745 eck$LassoCheckResult]: Stem: 3341#$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); 3323#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~mem19#1, main_#t~mem20#1, main_#t~short21#1, main_#t~mem22#1, main_#t~short23#1, main_#t~mem24#1, main_#t~short25#1, main_#t~mem26#1, main_#t~short27#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, main_~#e~0#1.base, main_~#e~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#2(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#1(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#5(6, main_~#c~0#1.base, main_~#c~0#1.offset, 4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#4(6, main_~#d~0#1.base, main_~#d~0#1.offset, 4);call main_~#e~0#1.base, main_~#e~0#1.offset := #Ultimate.allocOnStack(4);call write~init~int#3(6, main_~#e~0#1.base, main_~#e~0#1.offset, 4);call write~int#2(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 3312#L128 call func_to_recursive_line_23_to_24_0(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_~#e~0#1.base, main_~#e~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset);< 3334#$Ultimate##0 [2024-10-31 21:57:28,365 INFO L747 eck$LassoCheckResult]: Loop: 3334#$Ultimate##0 ~a.base, ~a.offset := #in~a.base, #in~a.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem16 := read~int#2(~a.base, ~a.offset, 4); 3321#L101 assume #t~mem16 < 6;havoc #t~mem16;call write~int#1(0, ~b.base, ~b.offset, 4); 3317#L107 call func_to_recursive_line_24_to_25_0(~e.base, ~e.offset, ~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 3322#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem13 := read~int#1(~b.base, ~b.offset, 4); 3316#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#5(0, ~c.base, ~c.offset, 4); 3319#L87 call func_to_recursive_line_25_to_26_0(~e.base, ~e.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 3336#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.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#5(~c.base, ~c.offset, 4); 3340#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(0, ~d.base, ~d.offset, 4); 3330#L67 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 3328#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 3331#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#3(0, ~e.base, ~e.offset, 4); 3309#L47 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 3307#L25-1 assume true; 3310#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3327#L25-1 assume true; 3357#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3356#L25-1 assume true; 3355#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3354#L25-1 assume true; 3353#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3350#L25-1 assume true; 3349#func_to_recursive_line_27_to_27_0EXIT >#108#return; 3344#L47-1 call #t~mem8 := read~int#4(~d.base, ~d.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~d.base, ~d.offset, 4);havoc #t~mem8;havoc #t~pre9; 3329#L52 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 3328#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 3331#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#3(0, ~e.base, ~e.offset, 4); 3309#L47 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 3307#L25-1 assume true; 3310#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3327#L25-1 assume true; 3357#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3356#L25-1 assume true; 3355#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3354#L25-1 assume true; 3353#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3350#L25-1 assume true; 3349#func_to_recursive_line_27_to_27_0EXIT >#108#return; 3344#L47-1 call #t~mem8 := read~int#4(~d.base, ~d.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~d.base, ~d.offset, 4);havoc #t~mem8;havoc #t~pre9; 3329#L52 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 3328#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 3331#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 3335#L41-1 assume true; 3332#func_to_recursive_line_26_to_27_0EXIT >#110#return; 3333#L41-1 assume true; 3360#func_to_recursive_line_26_to_27_0EXIT >#110#return; 3359#L41-1 assume true; 3358#func_to_recursive_line_26_to_27_0EXIT >#102#return; 3338#L67-1 call #t~mem11 := read~int#5(~c.base, ~c.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#5(1 + #t~mem11, ~c.base, ~c.offset, 4);havoc #t~mem11;havoc #t~pre12; 3325#L72 call func_to_recursive_line_25_to_26_0(~e.base, ~e.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 3336#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.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#5(~c.base, ~c.offset, 4); 3340#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(0, ~d.base, ~d.offset, 4); 3330#L67 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 3328#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 3331#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#3(0, ~e.base, ~e.offset, 4); 3309#L47 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 3307#L25-1 assume true; 3310#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3327#L25-1 assume true; 3357#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3356#L25-1 assume true; 3355#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3354#L25-1 assume true; 3353#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3350#L25-1 assume true; 3349#func_to_recursive_line_27_to_27_0EXIT >#108#return; 3344#L47-1 call #t~mem8 := read~int#4(~d.base, ~d.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~d.base, ~d.offset, 4);havoc #t~mem8;havoc #t~pre9; 3329#L52 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 3328#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 3331#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#3(0, ~e.base, ~e.offset, 4); 3309#L47 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 3307#L25-1 assume true; 3310#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3327#L25-1 assume true; 3357#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3356#L25-1 assume true; 3355#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3354#L25-1 assume true; 3353#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3350#L25-1 assume true; 3349#func_to_recursive_line_27_to_27_0EXIT >#108#return; 3344#L47-1 call #t~mem8 := read~int#4(~d.base, ~d.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~d.base, ~d.offset, 4);havoc #t~mem8;havoc #t~pre9; 3329#L52 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 3328#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 3331#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 3335#L41-1 assume true; 3332#func_to_recursive_line_26_to_27_0EXIT >#110#return; 3333#L41-1 assume true; 3360#func_to_recursive_line_26_to_27_0EXIT >#110#return; 3359#L41-1 assume true; 3358#func_to_recursive_line_26_to_27_0EXIT >#102#return; 3338#L67-1 call #t~mem11 := read~int#5(~c.base, ~c.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#5(1 + #t~mem11, ~c.base, ~c.offset, 4);havoc #t~mem11;havoc #t~pre12; 3325#L72 call func_to_recursive_line_25_to_26_0(~e.base, ~e.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 3336#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.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#5(~c.base, ~c.offset, 4); 3340#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 3339#L61-1 assume true; 3324#func_to_recursive_line_25_to_26_0EXIT >#104#return; 3326#L61-1 assume true; 3352#func_to_recursive_line_25_to_26_0EXIT >#104#return; 3348#L61-1 assume true; 3347#func_to_recursive_line_25_to_26_0EXIT >#98#return; 3337#L87-1 call #t~mem14 := read~int#1(~b.base, ~b.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#1(1 + #t~mem14, ~b.base, ~b.offset, 4);havoc #t~mem14;havoc #t~pre15; 3318#L92 call func_to_recursive_line_24_to_25_0(~e.base, ~e.offset, ~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 3322#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem13 := read~int#1(~b.base, ~b.offset, 4); 3316#L81 assume #t~mem13 < 6;havoc #t~mem13;call write~int#5(0, ~c.base, ~c.offset, 4); 3319#L87 call func_to_recursive_line_25_to_26_0(~e.base, ~e.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 3336#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.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#5(~c.base, ~c.offset, 4); 3340#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(0, ~d.base, ~d.offset, 4); 3330#L67 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 3328#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 3331#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#3(0, ~e.base, ~e.offset, 4); 3309#L47 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 3307#L25-1 assume true; 3310#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3327#L25-1 assume true; 3357#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3356#L25-1 assume true; 3355#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3354#L25-1 assume true; 3353#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3350#L25-1 assume true; 3349#func_to_recursive_line_27_to_27_0EXIT >#108#return; 3344#L47-1 call #t~mem8 := read~int#4(~d.base, ~d.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~d.base, ~d.offset, 4);havoc #t~mem8;havoc #t~pre9; 3329#L52 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 3328#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 3331#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#3(0, ~e.base, ~e.offset, 4); 3309#L47 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 3307#L25-1 assume true; 3310#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3327#L25-1 assume true; 3357#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3356#L25-1 assume true; 3355#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3354#L25-1 assume true; 3353#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3350#L25-1 assume true; 3349#func_to_recursive_line_27_to_27_0EXIT >#108#return; 3344#L47-1 call #t~mem8 := read~int#4(~d.base, ~d.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~d.base, ~d.offset, 4);havoc #t~mem8;havoc #t~pre9; 3329#L52 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 3328#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 3331#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 3335#L41-1 assume true; 3332#func_to_recursive_line_26_to_27_0EXIT >#110#return; 3333#L41-1 assume true; 3360#func_to_recursive_line_26_to_27_0EXIT >#110#return; 3359#L41-1 assume true; 3358#func_to_recursive_line_26_to_27_0EXIT >#102#return; 3338#L67-1 call #t~mem11 := read~int#5(~c.base, ~c.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#5(1 + #t~mem11, ~c.base, ~c.offset, 4);havoc #t~mem11;havoc #t~pre12; 3325#L72 call func_to_recursive_line_25_to_26_0(~e.base, ~e.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 3336#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.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#5(~c.base, ~c.offset, 4); 3340#L61 assume #t~mem10 < 6;havoc #t~mem10;call write~int#4(0, ~d.base, ~d.offset, 4); 3330#L67 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 3328#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 3331#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#3(0, ~e.base, ~e.offset, 4); 3309#L47 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 3307#L25-1 assume true; 3310#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3327#L25-1 assume true; 3357#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3356#L25-1 assume true; 3355#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3354#L25-1 assume true; 3353#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3350#L25-1 assume true; 3349#func_to_recursive_line_27_to_27_0EXIT >#108#return; 3344#L47-1 call #t~mem8 := read~int#4(~d.base, ~d.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~d.base, ~d.offset, 4);havoc #t~mem8;havoc #t~pre9; 3329#L52 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 3328#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 3331#L41 assume #t~mem7 < 6;havoc #t~mem7;call write~int#3(0, ~e.base, ~e.offset, 4); 3309#L47 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume #t~mem4 < 6;havoc #t~mem4;call #t~mem5 := read~int#3(~e.base, ~e.offset, 4);#t~pre6 := 1 + #t~mem5;call write~int#3(1 + #t~mem5, ~e.base, ~e.offset, 4);havoc #t~mem5;havoc #t~pre6; 3308#L32 call func_to_recursive_line_27_to_27_0(~e.base, ~e.offset);< 3314#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;call #t~mem4 := read~int#3(~e.base, ~e.offset, 4); 3315#L25 assume !(#t~mem4 < 6);havoc #t~mem4; 3307#L25-1 assume true; 3310#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3327#L25-1 assume true; 3357#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3356#L25-1 assume true; 3355#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3354#L25-1 assume true; 3353#func_to_recursive_line_27_to_27_0EXIT >#106#return; 3350#L25-1 assume true; 3349#func_to_recursive_line_27_to_27_0EXIT >#108#return; 3344#L47-1 call #t~mem8 := read~int#4(~d.base, ~d.offset, 4);#t~pre9 := 1 + #t~mem8;call write~int#4(1 + #t~mem8, ~d.base, ~d.offset, 4);havoc #t~mem8;havoc #t~pre9; 3329#L52 call func_to_recursive_line_26_to_27_0(~e.base, ~e.offset, ~d.base, ~d.offset);< 3328#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem7 := read~int#4(~d.base, ~d.offset, 4); 3331#L41 assume !(#t~mem7 < 6);havoc #t~mem7; 3335#L41-1 assume true; 3332#func_to_recursive_line_26_to_27_0EXIT >#110#return; 3333#L41-1 assume true; 3360#func_to_recursive_line_26_to_27_0EXIT >#110#return; 3359#L41-1 assume true; 3358#func_to_recursive_line_26_to_27_0EXIT >#102#return; 3338#L67-1 call #t~mem11 := read~int#5(~c.base, ~c.offset, 4);#t~pre12 := 1 + #t~mem11;call write~int#5(1 + #t~mem11, ~c.base, ~c.offset, 4);havoc #t~mem11;havoc #t~pre12; 3325#L72 call func_to_recursive_line_25_to_26_0(~e.base, ~e.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 3336#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.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#5(~c.base, ~c.offset, 4); 3340#L61 assume !(#t~mem10 < 6);havoc #t~mem10; 3339#L61-1 assume true; 3324#func_to_recursive_line_25_to_26_0EXIT >#104#return; 3326#L61-1 assume true; 3352#func_to_recursive_line_25_to_26_0EXIT >#104#return; 3348#L61-1 assume true; 3347#func_to_recursive_line_25_to_26_0EXIT >#98#return; 3337#L87-1 call #t~mem14 := read~int#1(~b.base, ~b.offset, 4);#t~pre15 := 1 + #t~mem14;call write~int#1(1 + #t~mem14, ~b.base, ~b.offset, 4);havoc #t~mem14;havoc #t~pre15; 3318#L92 call func_to_recursive_line_24_to_25_0(~e.base, ~e.offset, ~b.base, ~b.offset, ~c.base, ~c.offset, ~d.base, ~d.offset);< 3322#$Ultimate##0 ~e.base, ~e.offset := #in~e.base, #in~e.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem13 := read~int#1(~b.base, ~b.offset, 4); 3316#L81 assume !(#t~mem13 < 6);havoc #t~mem13; 3320#L81-1 assume true; 3342#func_to_recursive_line_24_to_25_0EXIT >#100#return; 3343#L81-1 assume true; 3351#func_to_recursive_line_24_to_25_0EXIT >#100#return; 3346#L81-1 assume true; 3345#func_to_recursive_line_24_to_25_0EXIT >#112#return; 3311#L107-1 call #t~mem17 := read~int#2(~a.base, ~a.offset, 4);#t~pre18 := 1 + #t~mem17;call write~int#2(1 + #t~mem17, ~a.base, ~a.offset, 4);havoc #t~mem17;havoc #t~pre18; 3313#L112 call func_to_recursive_line_23_to_24_0(~a.base, ~a.offset, ~b.base, ~b.offset, ~c.base, ~c.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 3334#$Ultimate##0 [2024-10-31 21:57:28,366 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:57:28,366 INFO L85 PathProgramCache]: Analyzing trace with hash 82544, now seen corresponding path program 8 times [2024-10-31 21:57:28,366 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:57:28,366 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [494547901] [2024-10-31 21:57:28,366 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:57:28,366 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:57:28,408 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:57:28,408 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-10-31 21:57:28,414 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-10-31 21:57:28,420 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-10-31 21:57:28,421 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2024-10-31 21:57:28,421 INFO L85 PathProgramCache]: Analyzing trace with hash -405832049, now seen corresponding path program 4 times [2024-10-31 21:57:28,421 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-10-31 21:57:28,422 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [632922272] [2024-10-31 21:57:28,422 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-10-31 21:57:28,422 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-10-31 21:57:28,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:31,800 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:31,932 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-10-31 21:57:34,213 INFO L368 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2024-10-31 21:57:34,272 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat