./Ultimate.py --spec ../../sv-benchmarks/c/properties/termination.prp --file ../../sv-benchmarks/c/recursified_loop-simple/recursified_deep-nested.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version 0e0057cc 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_4b612ecc-ef03-44ef-ada6-1d4deaa85618/bin/uautomizer-verify-VRDe98Ueme/data/config -Xmx15G -Xms4m -jar /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_4b612ecc-ef03-44ef-ada6-1d4deaa85618/bin/uautomizer-verify-VRDe98Ueme/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_4b612ecc-ef03-44ef-ada6-1d4deaa85618/bin/uautomizer-verify-VRDe98Ueme/data -tc /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_4b612ecc-ef03-44ef-ada6-1d4deaa85618/bin/uautomizer-verify-VRDe98Ueme/config/AutomizerTermination.xml -i ../../sv-benchmarks/c/recursified_loop-simple/recursified_deep-nested.c -s /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_4b612ecc-ef03-44ef-ada6-1d4deaa85618/bin/uautomizer-verify-VRDe98Ueme/config/svcomp-Termination-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_4b612ecc-ef03-44ef-ada6-1d4deaa85618/bin/uautomizer-verify-VRDe98Ueme --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 dea78793c7130d873f751539350d9a84f129d659be765f9ed3f85c683976c43a --- Real Ultimate output --- This is Ultimate 0.2.4-dev-0e0057c [2023-11-26 11:58:39,891 INFO L188 SettingsManager]: Resetting all preferences to default values... [2023-11-26 11:58:40,012 INFO L114 SettingsManager]: Loading settings from /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_4b612ecc-ef03-44ef-ada6-1d4deaa85618/bin/uautomizer-verify-VRDe98Ueme/config/svcomp-Termination-32bit-Automizer_Default.epf [2023-11-26 11:58:40,020 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2023-11-26 11:58:40,021 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2023-11-26 11:58:40,062 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2023-11-26 11:58:40,063 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2023-11-26 11:58:40,063 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2023-11-26 11:58:40,064 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2023-11-26 11:58:40,069 INFO L153 SettingsManager]: * Use memory slicer=true [2023-11-26 11:58:40,070 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2023-11-26 11:58:40,070 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2023-11-26 11:58:40,071 INFO L153 SettingsManager]: * Use SBE=true [2023-11-26 11:58:40,073 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2023-11-26 11:58:40,073 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2023-11-26 11:58:40,073 INFO L153 SettingsManager]: * Use old map elimination=false [2023-11-26 11:58:40,074 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2023-11-26 11:58:40,074 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2023-11-26 11:58:40,075 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2023-11-26 11:58:40,075 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2023-11-26 11:58:40,075 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2023-11-26 11:58:40,076 INFO L153 SettingsManager]: * sizeof long=4 [2023-11-26 11:58:40,077 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2023-11-26 11:58:40,077 INFO L153 SettingsManager]: * sizeof POINTER=4 [2023-11-26 11:58:40,077 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2023-11-26 11:58:40,078 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2023-11-26 11:58:40,078 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2023-11-26 11:58:40,078 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2023-11-26 11:58:40,079 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2023-11-26 11:58:40,079 INFO L153 SettingsManager]: * sizeof long double=12 [2023-11-26 11:58:40,081 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2023-11-26 11:58:40,081 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2023-11-26 11:58:40,081 INFO L153 SettingsManager]: * Use constant arrays=true [2023-11-26 11:58:40,081 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2023-11-26 11:58:40,082 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2023-11-26 11:58:40,082 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2023-11-26 11:58:40,082 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2023-11-26 11:58:40,083 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2023-11-26 11:58:40,083 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_4b612ecc-ef03-44ef-ada6-1d4deaa85618/bin/uautomizer-verify-VRDe98Ueme/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_4b612ecc-ef03-44ef-ada6-1d4deaa85618/bin/uautomizer-verify-VRDe98Ueme 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 -> dea78793c7130d873f751539350d9a84f129d659be765f9ed3f85c683976c43a [2023-11-26 11:58:40,405 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2023-11-26 11:58:40,438 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2023-11-26 11:58:40,441 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2023-11-26 11:58:40,442 INFO L270 PluginConnector]: Initializing CDTParser... [2023-11-26 11:58:40,443 INFO L274 PluginConnector]: CDTParser initialized [2023-11-26 11:58:40,445 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_4b612ecc-ef03-44ef-ada6-1d4deaa85618/bin/uautomizer-verify-VRDe98Ueme/../../sv-benchmarks/c/recursified_loop-simple/recursified_deep-nested.c [2023-11-26 11:58:43,617 INFO L533 CDTParser]: Created temporary CDT project at NULL [2023-11-26 11:58:43,861 INFO L384 CDTParser]: Found 1 translation units. [2023-11-26 11:58:43,863 INFO L180 CDTParser]: Scanning /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_4b612ecc-ef03-44ef-ada6-1d4deaa85618/sv-benchmarks/c/recursified_loop-simple/recursified_deep-nested.c [2023-11-26 11:58:43,874 INFO L427 CDTParser]: About to delete temporary CDT project at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_4b612ecc-ef03-44ef-ada6-1d4deaa85618/bin/uautomizer-verify-VRDe98Ueme/data/efd926df8/e2e93a1a9552436e87c369f4a3b79b6f/FLAG61a7ef6d6 [2023-11-26 11:58:43,889 INFO L435 CDTParser]: Successfully deleted /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_4b612ecc-ef03-44ef-ada6-1d4deaa85618/bin/uautomizer-verify-VRDe98Ueme/data/efd926df8/e2e93a1a9552436e87c369f4a3b79b6f [2023-11-26 11:58:43,891 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2023-11-26 11:58:43,893 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2023-11-26 11:58:43,895 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2023-11-26 11:58:43,895 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2023-11-26 11:58:43,900 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2023-11-26 11:58:43,901 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 26.11 11:58:43" (1/1) ... [2023-11-26 11:58:43,902 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5d032ce1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.11 11:58:43, skipping insertion in model container [2023-11-26 11:58:43,902 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 26.11 11:58:43" (1/1) ... [2023-11-26 11:58:43,929 INFO L177 MainTranslator]: Built tables and reachable declarations [2023-11-26 11:58:44,115 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-11-26 11:58:44,129 INFO L202 MainTranslator]: Completed pre-run [2023-11-26 11:58:44,163 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-11-26 11:58:44,185 INFO L206 MainTranslator]: Completed translation [2023-11-26 11:58:44,185 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.11 11:58:44 WrapperNode [2023-11-26 11:58:44,186 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2023-11-26 11:58:44,187 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2023-11-26 11:58:44,187 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2023-11-26 11:58:44,187 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2023-11-26 11:58:44,196 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.11 11:58:44" (1/1) ... [2023-11-26 11:58:44,214 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.11 11:58:44" (1/1) ... [2023-11-26 11:58:44,250 INFO L138 Inliner]: procedures = 16, calls = 72, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 116 [2023-11-26 11:58:44,251 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2023-11-26 11:58:44,252 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2023-11-26 11:58:44,252 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2023-11-26 11:58:44,252 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2023-11-26 11:58:44,264 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.11 11:58:44" (1/1) ... [2023-11-26 11:58:44,264 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.11 11:58:44" (1/1) ... [2023-11-26 11:58:44,270 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.11 11:58:44" (1/1) ... [2023-11-26 11:58:44,298 INFO L175 MemorySlicer]: Split 38 memory accesses to 7 slices as follows [2, 7, 6, 6, 5, 6, 6]. 18 percent of accesses are in the largest equivalence class. The 2 initializations are split as follows [2, 0, 0, 0, 0, 0, 0]. The 11 writes are split as follows [0, 1, 2, 2, 2, 2, 2]. [2023-11-26 11:58:44,298 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.11 11:58:44" (1/1) ... [2023-11-26 11:58:44,298 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.11 11:58:44" (1/1) ... [2023-11-26 11:58:44,311 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.11 11:58:44" (1/1) ... [2023-11-26 11:58:44,313 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.11 11:58:44" (1/1) ... [2023-11-26 11:58:44,316 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.11 11:58:44" (1/1) ... [2023-11-26 11:58:44,318 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.11 11:58:44" (1/1) ... [2023-11-26 11:58:44,323 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2023-11-26 11:58:44,324 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2023-11-26 11:58:44,324 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2023-11-26 11:58:44,324 INFO L274 PluginConnector]: RCFGBuilder initialized [2023-11-26 11:58:44,325 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.11 11:58:44" (1/1) ... [2023-11-26 11:58:44,332 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2023-11-26 11:58:44,348 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_4b612ecc-ef03-44ef-ada6-1d4deaa85618/bin/uautomizer-verify-VRDe98Ueme/z3 [2023-11-26 11:58:44,374 INFO L229 MonitoredProcess]: Starting monitored process 1 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_4b612ecc-ef03-44ef-ada6-1d4deaa85618/bin/uautomizer-verify-VRDe98Ueme/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2023-11-26 11:58:44,395 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_4b612ecc-ef03-44ef-ada6-1d4deaa85618/bin/uautomizer-verify-VRDe98Ueme/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2023-11-26 11:58:44,421 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_12_to_13_0 [2023-11-26 11:58:44,422 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_12_to_13_0 [2023-11-26 11:58:44,422 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2023-11-26 11:58:44,422 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_13_to_14_0 [2023-11-26 11:58:44,423 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_13_to_14_0 [2023-11-26 11:58:44,423 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_11_to_12_0 [2023-11-26 11:58:44,423 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_11_to_12_0 [2023-11-26 11:58:44,423 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2023-11-26 11:58:44,423 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2023-11-26 11:58:44,424 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2023-11-26 11:58:44,424 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#3 [2023-11-26 11:58:44,424 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#4 [2023-11-26 11:58:44,424 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#5 [2023-11-26 11:58:44,424 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#6 [2023-11-26 11:58:44,425 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_14_to_16_0 [2023-11-26 11:58:44,427 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_14_to_16_0 [2023-11-26 11:58:44,427 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_10_to_11_0 [2023-11-26 11:58:44,427 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_10_to_11_0 [2023-11-26 11:58:44,427 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2023-11-26 11:58:44,427 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2023-11-26 11:58:44,428 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2023-11-26 11:58:44,428 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2023-11-26 11:58:44,428 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#3 [2023-11-26 11:58:44,428 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#4 [2023-11-26 11:58:44,429 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#5 [2023-11-26 11:58:44,429 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#6 [2023-11-26 11:58:44,429 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2023-11-26 11:58:44,430 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2023-11-26 11:58:44,430 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2023-11-26 11:58:44,430 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2023-11-26 11:58:44,430 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2023-11-26 11:58:44,431 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#3 [2023-11-26 11:58:44,431 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#4 [2023-11-26 11:58:44,432 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#5 [2023-11-26 11:58:44,432 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#6 [2023-11-26 11:58:44,433 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2023-11-26 11:58:44,651 INFO L241 CfgBuilder]: Building ICFG [2023-11-26 11:58:44,654 INFO L267 CfgBuilder]: Building CFG for each procedure with an implementation [2023-11-26 11:58:45,097 INFO L282 CfgBuilder]: Performing block encoding [2023-11-26 11:58:45,110 INFO L304 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2023-11-26 11:58:45,113 INFO L309 CfgBuilder]: Removed 0 assume(true) statements. [2023-11-26 11:58:45,114 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 26.11 11:58:45 BoogieIcfgContainer [2023-11-26 11:58:45,114 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2023-11-26 11:58:45,115 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2023-11-26 11:58:45,116 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2023-11-26 11:58:45,119 INFO L274 PluginConnector]: BuchiAutomizer initialized [2023-11-26 11:58:45,120 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-11-26 11:58:45,120 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 26.11 11:58:43" (1/3) ... [2023-11-26 11:58:45,121 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@77039f7b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 26.11 11:58:45, skipping insertion in model container [2023-11-26 11:58:45,121 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-11-26 11:58:45,121 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 26.11 11:58:44" (2/3) ... [2023-11-26 11:58:45,121 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@77039f7b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 26.11 11:58:45, skipping insertion in model container [2023-11-26 11:58:45,121 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-11-26 11:58:45,122 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 26.11 11:58:45" (3/3) ... [2023-11-26 11:58:45,123 INFO L332 chiAutomizerObserver]: Analyzing ICFG recursified_deep-nested.c [2023-11-26 11:58:45,179 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-11-26 11:58:45,180 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-11-26 11:58:45,180 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-11-26 11:58:45,180 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-11-26 11:58:45,180 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-11-26 11:58:45,180 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-11-26 11:58:45,180 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-11-26 11:58:45,180 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-11-26 11:58:45,185 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) [2023-11-26 11:58:45,211 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 33 [2023-11-26 11:58:45,211 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-11-26 11:58:45,211 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-11-26 11:58:45,219 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2023-11-26 11:58:45,219 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-11-26 11:58:45,219 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2023-11-26 11:58:45,220 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) [2023-11-26 11:58:45,226 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 33 [2023-11-26 11:58:45,226 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-11-26 11:58:45,226 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-11-26 11:58:45,227 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2023-11-26 11:58:45,227 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-11-26 11:58:45,235 INFO L748 eck$LassoCheckResult]: Stem: 20#$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(14, 2);call #Ultimate.allocInit(12, 3); 33#L-1true assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc 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, main_~#uint32_max~0#1.base, main_~#uint32_max~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call main_~#e~0#1.base, main_~#e~0#1.offset := #Ultimate.allocOnStack(4);call main_~#uint32_max~0#1.base, main_~#uint32_max~0#1.offset := #Ultimate.allocOnStack(4);call write~int#1(4294967295, main_~#uint32_max~0#1.base, main_~#uint32_max~0#1.offset, 4);call write~int#4(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 19#L139true call func_to_recursive_line_10_to_11_0(main_~#uint32_max~0#1.base, main_~#uint32_max~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#a~0#1.base, main_~#a~0#1.offset, main_~#e~0#1.base, main_~#e~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset);< 35#$Ultimate##0true [2023-11-26 11:58:45,235 INFO L750 eck$LassoCheckResult]: Loop: 35#$Ultimate##0true ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem35 := read~int#4(~a.base, ~a.offset, 4);call #t~mem34 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 17#L110true assume #t~mem35 % 4294967296 < (#t~mem34 - 1) % 4294967296;havoc #t~mem35;havoc #t~mem34;call write~int#6(0, ~b.base, ~b.offset, 4); 42#L116true call func_to_recursive_line_11_to_12_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 30#$Ultimate##0true ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem31 := read~int#6(~b.base, ~b.offset, 4);call #t~mem30 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 24#L90true assume !(#t~mem31 % 4294967296 < (#t~mem30 - 1) % 4294967296);havoc #t~mem31;havoc #t~mem30; 22#L90-1true assume true; 25#func_to_recursive_line_11_to_12_0EXITtrue >#112#return; 51#L116-1true call #t~mem36 := read~int#4(~a.base, ~a.offset, 4);#t~pre37 := 1 + #t~mem36;call write~int#4(1 + #t~mem36, ~a.base, ~a.offset, 4);havoc #t~mem36;havoc #t~pre37; 18#L121true call func_to_recursive_line_10_to_11_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 35#$Ultimate##0true [2023-11-26 11:58:45,240 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-26 11:58:45,240 INFO L85 PathProgramCache]: Analyzing trace with hash 118256, now seen corresponding path program 1 times [2023-11-26 11:58:45,249 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-26 11:58:45,250 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [940009810] [2023-11-26 11:58:45,250 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-26 11:58:45,250 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-26 11:58:45,455 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-26 11:58:45,456 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-11-26 11:58:45,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-26 11:58:45,559 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-11-26 11:58:45,562 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-26 11:58:45,562 INFO L85 PathProgramCache]: Analyzing trace with hash 376946881, now seen corresponding path program 1 times [2023-11-26 11:58:45,562 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-26 11:58:45,563 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1624632028] [2023-11-26 11:58:45,563 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-26 11:58:45,563 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-26 11:58:45,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:58:46,236 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-26 11:58:46,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:58:46,481 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2023-11-26 11:58:46,482 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-11-26 11:58:46,482 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1624632028] [2023-11-26 11:58:46,482 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1624632028] provided 1 perfect and 0 imperfect interpolant sequences [2023-11-26 11:58:46,483 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-11-26 11:58:46,483 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2023-11-26 11:58:46,483 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [13104192] [2023-11-26 11:58:46,484 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-11-26 11:58:46,488 INFO L765 eck$LassoCheckResult]: loop already infeasible [2023-11-26 11:58:46,489 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-11-26 11:58:46,533 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2023-11-26 11:58:46,534 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2023-11-26 11:58:46,537 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 7 states, 6 states have (on average 1.0) 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) [2023-11-26 11:58:47,029 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-11-26 11:58:47,029 INFO L93 Difference]: Finished difference Result 59 states and 76 transitions. [2023-11-26 11:58:47,031 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 59 states and 76 transitions. [2023-11-26 11:58:47,036 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 32 [2023-11-26 11:58:47,044 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 59 states to 51 states and 66 transitions. [2023-11-26 11:58:47,045 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 51 [2023-11-26 11:58:47,046 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 51 [2023-11-26 11:58:47,047 INFO L73 IsDeterministic]: Start isDeterministic. Operand 51 states and 66 transitions. [2023-11-26 11:58:47,049 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-11-26 11:58:47,049 INFO L218 hiAutomatonCegarLoop]: Abstraction has 51 states and 66 transitions. [2023-11-26 11:58:47,068 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states and 66 transitions. [2023-11-26 11:58:47,082 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 45. [2023-11-26 11:58:47,083 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 30 states have (on average 1.2666666666666666) internal successors, (38), 34 states have internal predecessors, (38), 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) [2023-11-26 11:58:47,085 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 57 transitions. [2023-11-26 11:58:47,086 INFO L240 hiAutomatonCegarLoop]: Abstraction has 45 states and 57 transitions. [2023-11-26 11:58:47,088 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2023-11-26 11:58:47,092 INFO L428 stractBuchiCegarLoop]: Abstraction has 45 states and 57 transitions. [2023-11-26 11:58:47,092 INFO L335 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2023-11-26 11:58:47,092 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 45 states and 57 transitions. [2023-11-26 11:58:47,094 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 32 [2023-11-26 11:58:47,094 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-11-26 11:58:47,094 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-11-26 11:58:47,095 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2023-11-26 11:58:47,095 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-11-26 11:58:47,095 INFO L748 eck$LassoCheckResult]: Stem: 171#$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(14, 2);call #Ultimate.allocInit(12, 3); 148#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc 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, main_~#uint32_max~0#1.base, main_~#uint32_max~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call main_~#e~0#1.base, main_~#e~0#1.offset := #Ultimate.allocOnStack(4);call main_~#uint32_max~0#1.base, main_~#uint32_max~0#1.offset := #Ultimate.allocOnStack(4);call write~int#1(4294967295, main_~#uint32_max~0#1.base, main_~#uint32_max~0#1.offset, 4);call write~int#4(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 149#L139 call func_to_recursive_line_10_to_11_0(main_~#uint32_max~0#1.base, main_~#uint32_max~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#a~0#1.base, main_~#a~0#1.offset, main_~#e~0#1.base, main_~#e~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset);< 153#$Ultimate##0 [2023-11-26 11:58:47,096 INFO L750 eck$LassoCheckResult]: Loop: 153#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem35 := read~int#4(~a.base, ~a.offset, 4);call #t~mem34 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 155#L110 assume #t~mem35 % 4294967296 < (#t~mem34 - 1) % 4294967296;havoc #t~mem35;havoc #t~mem34;call write~int#6(0, ~b.base, ~b.offset, 4); 140#L116 call func_to_recursive_line_11_to_12_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 138#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem31 := read~int#6(~b.base, ~b.offset, 4);call #t~mem30 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 141#L90 assume #t~mem31 % 4294967296 < (#t~mem30 - 1) % 4294967296;havoc #t~mem31;havoc #t~mem30;call write~int#5(0, ~c.base, ~c.offset, 4); 160#L96 call func_to_recursive_line_12_to_13_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 164#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem27 := read~int#5(~c.base, ~c.offset, 4);call #t~mem26 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 165#L70 assume !(#t~mem27 % 4294967296 < (#t~mem26 - 1) % 4294967296);havoc #t~mem27;havoc #t~mem26; 162#L70-1 assume true; 158#func_to_recursive_line_12_to_13_0EXIT >#106#return; 161#L96-1 call #t~mem32 := read~int#6(~b.base, ~b.offset, 4);#t~pre33 := 1 + #t~mem32;call write~int#6(1 + #t~mem32, ~b.base, ~b.offset, 4);havoc #t~mem32;havoc #t~pre33; 139#L101 call func_to_recursive_line_11_to_12_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 138#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem31 := read~int#6(~b.base, ~b.offset, 4);call #t~mem30 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 141#L90 assume !(#t~mem31 % 4294967296 < (#t~mem30 - 1) % 4294967296);havoc #t~mem31;havoc #t~mem30; 172#L90-1 assume true; 173#func_to_recursive_line_11_to_12_0EXIT >#108#return; 174#L90-1 assume true; 176#func_to_recursive_line_11_to_12_0EXIT >#112#return; 175#L116-1 call #t~mem36 := read~int#4(~a.base, ~a.offset, 4);#t~pre37 := 1 + #t~mem36;call write~int#4(1 + #t~mem36, ~a.base, ~a.offset, 4);havoc #t~mem36;havoc #t~pre37; 154#L121 call func_to_recursive_line_10_to_11_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 153#$Ultimate##0 [2023-11-26 11:58:47,097 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-26 11:58:47,097 INFO L85 PathProgramCache]: Analyzing trace with hash 118256, now seen corresponding path program 2 times [2023-11-26 11:58:47,097 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-26 11:58:47,097 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1687812324] [2023-11-26 11:58:47,097 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-26 11:58:47,098 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-26 11:58:47,125 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-26 11:58:47,125 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-11-26 11:58:47,141 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-26 11:58:47,147 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-11-26 11:58:47,148 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-26 11:58:47,148 INFO L85 PathProgramCache]: Analyzing trace with hash 1072601781, now seen corresponding path program 1 times [2023-11-26 11:58:47,148 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-26 11:58:47,149 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [336361367] [2023-11-26 11:58:47,149 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-26 11:58:47,149 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-26 11:58:47,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:58:47,641 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-26 11:58:47,659 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:58:47,964 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-26 11:58:47,977 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:58:48,169 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2023-11-26 11:58:48,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:58:48,182 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2023-11-26 11:58:48,184 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-11-26 11:58:48,184 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [336361367] [2023-11-26 11:58:48,184 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [336361367] provided 0 perfect and 1 imperfect interpolant sequences [2023-11-26 11:58:48,191 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1564779343] [2023-11-26 11:58:48,191 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-26 11:58:48,192 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-11-26 11:58:48,192 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_4b612ecc-ef03-44ef-ada6-1d4deaa85618/bin/uautomizer-verify-VRDe98Ueme/z3 [2023-11-26 11:58:48,196 INFO L229 MonitoredProcess]: Starting monitored process 2 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_4b612ecc-ef03-44ef-ada6-1d4deaa85618/bin/uautomizer-verify-VRDe98Ueme/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2023-11-26 11:58:48,220 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_4b612ecc-ef03-44ef-ada6-1d4deaa85618/bin/uautomizer-verify-VRDe98Ueme/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2023-11-26 11:58:48,368 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:58:48,391 INFO L262 TraceCheckSpWp]: Trace formula consists of 316 conjuncts, 68 conjunts are in the unsatisfiable core [2023-11-26 11:58:48,397 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-26 11:58:48,458 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 [2023-11-26 11:58:48,601 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 [2023-11-26 11:58:48,711 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 15 [2023-11-26 11:58:48,962 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2023-11-26 11:58:48,962 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2023-11-26 11:58:48,962 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1564779343] provided 1 perfect and 0 imperfect interpolant sequences [2023-11-26 11:58:48,962 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2023-11-26 11:58:48,963 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [8] total 15 [2023-11-26 11:58:48,963 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [274424263] [2023-11-26 11:58:48,964 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-11-26 11:58:48,964 INFO L765 eck$LassoCheckResult]: loop already infeasible [2023-11-26 11:58:48,964 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-11-26 11:58:48,965 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2023-11-26 11:58:48,966 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=175, Unknown=0, NotChecked=0, Total=210 [2023-11-26 11:58:48,966 INFO L87 Difference]: Start difference. First operand 45 states and 57 transitions. cyclomatic complexity: 17 Second operand has 9 states, 7 states have (on average 1.7142857142857142) internal successors, (12), 7 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (3), 1 states have call predecessors, (3), 3 states have call successors, (3) [2023-11-26 11:59:01,551 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 12.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [0] [2023-11-26 11:59:13,689 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 12.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [0] [2023-11-26 11:59:25,735 WARN L539 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 12.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [0] [2023-11-26 11:59:25,886 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-11-26 11:59:25,886 INFO L93 Difference]: Finished difference Result 72 states and 92 transitions. [2023-11-26 11:59:25,887 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 72 states and 92 transitions. [2023-11-26 11:59:25,889 INFO L131 ngComponentsAnalysis]: Automaton has 7 accepting balls. 49 [2023-11-26 11:59:25,892 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 72 states to 70 states and 90 transitions. [2023-11-26 11:59:25,892 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 70 [2023-11-26 11:59:25,893 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 70 [2023-11-26 11:59:25,893 INFO L73 IsDeterministic]: Start isDeterministic. Operand 70 states and 90 transitions. [2023-11-26 11:59:25,894 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-11-26 11:59:25,894 INFO L218 hiAutomatonCegarLoop]: Abstraction has 70 states and 90 transitions. [2023-11-26 11:59:25,894 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states and 90 transitions. [2023-11-26 11:59:25,905 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 47. [2023-11-26 11:59:25,905 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 32 states have (on average 1.25) internal successors, (40), 35 states have internal predecessors, (40), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (9), 8 states have call predecessors, (9), 8 states have call successors, (9) [2023-11-26 11:59:25,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 59 transitions. [2023-11-26 11:59:25,908 INFO L240 hiAutomatonCegarLoop]: Abstraction has 47 states and 59 transitions. [2023-11-26 11:59:25,909 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2023-11-26 11:59:25,910 INFO L428 stractBuchiCegarLoop]: Abstraction has 47 states and 59 transitions. [2023-11-26 11:59:25,910 INFO L335 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2023-11-26 11:59:25,910 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 47 states and 59 transitions. [2023-11-26 11:59:25,913 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 32 [2023-11-26 11:59:25,913 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-11-26 11:59:25,913 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-11-26 11:59:25,916 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2023-11-26 11:59:25,916 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] [2023-11-26 11:59:25,917 INFO L748 eck$LassoCheckResult]: Stem: 397#$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(14, 2);call #Ultimate.allocInit(12, 3); 373#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc 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, main_~#uint32_max~0#1.base, main_~#uint32_max~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call main_~#e~0#1.base, main_~#e~0#1.offset := #Ultimate.allocOnStack(4);call main_~#uint32_max~0#1.base, main_~#uint32_max~0#1.offset := #Ultimate.allocOnStack(4);call write~int#1(4294967295, main_~#uint32_max~0#1.base, main_~#uint32_max~0#1.offset, 4);call write~int#4(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 374#L139 call func_to_recursive_line_10_to_11_0(main_~#uint32_max~0#1.base, main_~#uint32_max~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#a~0#1.base, main_~#a~0#1.offset, main_~#e~0#1.base, main_~#e~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset);< 378#$Ultimate##0 [2023-11-26 11:59:25,922 INFO L750 eck$LassoCheckResult]: Loop: 378#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem35 := read~int#4(~a.base, ~a.offset, 4);call #t~mem34 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 380#L110 assume #t~mem35 % 4294967296 < (#t~mem34 - 1) % 4294967296;havoc #t~mem35;havoc #t~mem34;call write~int#6(0, ~b.base, ~b.offset, 4); 365#L116 call func_to_recursive_line_11_to_12_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 363#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem31 := read~int#6(~b.base, ~b.offset, 4);call #t~mem30 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 366#L90 assume #t~mem31 % 4294967296 < (#t~mem30 - 1) % 4294967296;havoc #t~mem31;havoc #t~mem30;call write~int#5(0, ~c.base, ~c.offset, 4); 386#L96 call func_to_recursive_line_12_to_13_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 389#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem27 := read~int#5(~c.base, ~c.offset, 4);call #t~mem26 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 390#L70 assume #t~mem27 % 4294967296 < (#t~mem26 - 1) % 4294967296;havoc #t~mem27;havoc #t~mem26;call write~int#3(0, ~d.base, ~d.offset, 4); 368#L76 call func_to_recursive_line_13_to_14_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 376#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem23 := read~int#3(~d.base, ~d.offset, 4);call #t~mem22 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 395#L50 assume !(#t~mem23 % 4294967296 < (#t~mem22 - 1) % 4294967296);havoc #t~mem23;havoc #t~mem22; 370#L50-1 assume true; 367#func_to_recursive_line_13_to_14_0EXIT >#98#return; 371#L76-1 call #t~mem28 := read~int#5(~c.base, ~c.offset, 4);#t~pre29 := 1 + #t~mem28;call write~int#5(1 + #t~mem28, ~c.base, ~c.offset, 4);havoc #t~mem28;havoc #t~pre29; 385#L81 call func_to_recursive_line_12_to_13_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 396#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem27 := read~int#5(~c.base, ~c.offset, 4);call #t~mem26 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 402#L70 assume !(#t~mem27 % 4294967296 < (#t~mem26 - 1) % 4294967296);havoc #t~mem27;havoc #t~mem26; 387#L70-1 assume true; 384#func_to_recursive_line_12_to_13_0EXIT >#100#return; 387#L70-1 assume true; 384#func_to_recursive_line_12_to_13_0EXIT >#106#return; 388#L96-1 call #t~mem32 := read~int#6(~b.base, ~b.offset, 4);#t~pre33 := 1 + #t~mem32;call write~int#6(1 + #t~mem32, ~b.base, ~b.offset, 4);havoc #t~mem32;havoc #t~pre33; 364#L101 call func_to_recursive_line_11_to_12_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 363#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem31 := read~int#6(~b.base, ~b.offset, 4);call #t~mem30 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 366#L90 assume !(#t~mem31 % 4294967296 < (#t~mem30 - 1) % 4294967296);havoc #t~mem31;havoc #t~mem30; 398#L90-1 assume true; 399#func_to_recursive_line_11_to_12_0EXIT >#108#return; 400#L90-1 assume true; 403#func_to_recursive_line_11_to_12_0EXIT >#112#return; 401#L116-1 call #t~mem36 := read~int#4(~a.base, ~a.offset, 4);#t~pre37 := 1 + #t~mem36;call write~int#4(1 + #t~mem36, ~a.base, ~a.offset, 4);havoc #t~mem36;havoc #t~pre37; 379#L121 call func_to_recursive_line_10_to_11_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 378#$Ultimate##0 [2023-11-26 11:59:25,923 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-26 11:59:25,923 INFO L85 PathProgramCache]: Analyzing trace with hash 118256, now seen corresponding path program 3 times [2023-11-26 11:59:25,923 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-26 11:59:25,924 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [909393712] [2023-11-26 11:59:25,924 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-26 11:59:25,925 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-26 11:59:25,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-26 11:59:25,953 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-11-26 11:59:25,974 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-26 11:59:25,982 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-11-26 11:59:25,983 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-26 11:59:25,983 INFO L85 PathProgramCache]: Analyzing trace with hash 2046612426, now seen corresponding path program 1 times [2023-11-26 11:59:25,984 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-26 11:59:25,984 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [858818106] [2023-11-26 11:59:25,984 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-26 11:59:25,984 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-26 11:59:26,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:26,578 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-26 11:59:26,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:27,044 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-26 11:59:27,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:27,289 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-26 11:59:27,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:27,418 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2023-11-26 11:59:27,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:27,425 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 19 [2023-11-26 11:59:27,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:27,433 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 1 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2023-11-26 11:59:27,433 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-11-26 11:59:27,433 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [858818106] [2023-11-26 11:59:27,434 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [858818106] provided 0 perfect and 1 imperfect interpolant sequences [2023-11-26 11:59:27,434 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1215756857] [2023-11-26 11:59:27,434 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-26 11:59:27,434 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-11-26 11:59:27,434 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_4b612ecc-ef03-44ef-ada6-1d4deaa85618/bin/uautomizer-verify-VRDe98Ueme/z3 [2023-11-26 11:59:27,467 INFO L229 MonitoredProcess]: Starting monitored process 3 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_4b612ecc-ef03-44ef-ada6-1d4deaa85618/bin/uautomizer-verify-VRDe98Ueme/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2023-11-26 11:59:27,479 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_4b612ecc-ef03-44ef-ada6-1d4deaa85618/bin/uautomizer-verify-VRDe98Ueme/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2023-11-26 11:59:27,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:27,673 INFO L262 TraceCheckSpWp]: Trace formula consists of 468 conjuncts, 82 conjunts are in the unsatisfiable core [2023-11-26 11:59:27,679 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-26 11:59:27,686 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 [2023-11-26 11:59:27,845 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 15 [2023-11-26 11:59:27,963 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 [2023-11-26 11:59:28,262 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 3 [2023-11-26 11:59:28,540 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 5 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2023-11-26 11:59:28,540 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-11-26 11:59:29,698 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2023-11-26 11:59:29,698 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1215756857] provided 0 perfect and 2 imperfect interpolant sequences [2023-11-26 11:59:29,698 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-11-26 11:59:29,699 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 14, 10] total 29 [2023-11-26 11:59:29,699 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [178692570] [2023-11-26 11:59:29,699 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-11-26 11:59:29,702 INFO L765 eck$LassoCheckResult]: loop already infeasible [2023-11-26 11:59:29,702 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-11-26 11:59:29,703 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2023-11-26 11:59:29,705 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=103, Invalid=709, Unknown=0, NotChecked=0, Total=812 [2023-11-26 11:59:29,705 INFO L87 Difference]: Start difference. First operand 47 states and 59 transitions. cyclomatic complexity: 17 Second operand has 29 states, 23 states have (on average 1.9565217391304348) internal successors, (45), 22 states have internal predecessors, (45), 10 states have call successors, (16), 10 states have call predecessors, (16), 8 states have return successors, (13), 3 states have call predecessors, (13), 10 states have call successors, (13) [2023-11-26 11:59:31,729 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-11-26 11:59:31,730 INFO L93 Difference]: Finished difference Result 53 states and 66 transitions. [2023-11-26 11:59:31,730 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 53 states and 66 transitions. [2023-11-26 11:59:31,732 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 32 [2023-11-26 11:59:31,734 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 53 states to 53 states and 66 transitions. [2023-11-26 11:59:31,734 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 53 [2023-11-26 11:59:31,734 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 53 [2023-11-26 11:59:31,734 INFO L73 IsDeterministic]: Start isDeterministic. Operand 53 states and 66 transitions. [2023-11-26 11:59:31,735 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-11-26 11:59:31,735 INFO L218 hiAutomatonCegarLoop]: Abstraction has 53 states and 66 transitions. [2023-11-26 11:59:31,735 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states and 66 transitions. [2023-11-26 11:59:31,740 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 51. [2023-11-26 11:59:31,740 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 34 states have (on average 1.2352941176470589) internal successors, (42), 37 states have internal predecessors, (42), 10 states have call successors, (10), 6 states have call predecessors, (10), 7 states have return successors, (11), 8 states have call predecessors, (11), 8 states have call successors, (11) [2023-11-26 11:59:31,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 63 transitions. [2023-11-26 11:59:31,741 INFO L240 hiAutomatonCegarLoop]: Abstraction has 51 states and 63 transitions. [2023-11-26 11:59:31,742 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2023-11-26 11:59:31,743 INFO L428 stractBuchiCegarLoop]: Abstraction has 51 states and 63 transitions. [2023-11-26 11:59:31,743 INFO L335 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2023-11-26 11:59:31,743 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 51 states and 63 transitions. [2023-11-26 11:59:31,745 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 32 [2023-11-26 11:59:31,745 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-11-26 11:59:31,745 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-11-26 11:59:31,746 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2023-11-26 11:59:31,747 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] [2023-11-26 11:59:31,747 INFO L748 eck$LassoCheckResult]: Stem: 792#$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(14, 2);call #Ultimate.allocInit(12, 3); 765#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc 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, main_~#uint32_max~0#1.base, main_~#uint32_max~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call main_~#e~0#1.base, main_~#e~0#1.offset := #Ultimate.allocOnStack(4);call main_~#uint32_max~0#1.base, main_~#uint32_max~0#1.offset := #Ultimate.allocOnStack(4);call write~int#1(4294967295, main_~#uint32_max~0#1.base, main_~#uint32_max~0#1.offset, 4);call write~int#4(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 766#L139 call func_to_recursive_line_10_to_11_0(main_~#uint32_max~0#1.base, main_~#uint32_max~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#a~0#1.base, main_~#a~0#1.offset, main_~#e~0#1.base, main_~#e~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset);< 770#$Ultimate##0 [2023-11-26 11:59:31,747 INFO L750 eck$LassoCheckResult]: Loop: 770#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem35 := read~int#4(~a.base, ~a.offset, 4);call #t~mem34 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 772#L110 assume #t~mem35 % 4294967296 < (#t~mem34 - 1) % 4294967296;havoc #t~mem35;havoc #t~mem34;call write~int#6(0, ~b.base, ~b.offset, 4); 757#L116 call func_to_recursive_line_11_to_12_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 756#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem31 := read~int#6(~b.base, ~b.offset, 4);call #t~mem30 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 759#L90 assume #t~mem31 % 4294967296 < (#t~mem30 - 1) % 4294967296;havoc #t~mem31;havoc #t~mem30;call write~int#5(0, ~c.base, ~c.offset, 4); 780#L96 call func_to_recursive_line_12_to_13_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 781#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem27 := read~int#5(~c.base, ~c.offset, 4);call #t~mem26 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 783#L70 assume #t~mem27 % 4294967296 < (#t~mem26 - 1) % 4294967296;havoc #t~mem27;havoc #t~mem26;call write~int#3(0, ~d.base, ~d.offset, 4); 762#L76 call func_to_recursive_line_13_to_14_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 768#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem23 := read~int#3(~d.base, ~d.offset, 4);call #t~mem22 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 790#L50 assume #t~mem23 % 4294967296 < (#t~mem22 - 1) % 4294967296;havoc #t~mem23;havoc #t~mem22;call write~int#2(0, ~e.base, ~e.offset, 4); 752#L56 call func_to_recursive_line_14_to_16_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 773#$Ultimate##0 ~uint32_max#1.base, ~uint32_max#1.offset := #in~uint32_max#1.base, #in~uint32_max#1.offset;~c#1.base, ~c#1.offset := #in~c#1.base, #in~c#1.offset;~b#1.base, ~b#1.offset := #in~b#1.base, #in~b#1.offset;~a#1.base, ~a#1.offset := #in~a#1.base, #in~a#1.offset;~e#1.base, ~e#1.offset := #in~e#1.base, #in~e#1.offset;~d#1.base, ~d#1.offset := #in~d#1.base, #in~d#1.offset;call #t~mem5#1 := read~int#2(~e#1.base, ~e#1.offset, 4);call #t~mem4#1 := read~int#1(~uint32_max#1.base, ~uint32_max#1.offset, 4); 774#L25 assume !(#t~mem5#1 % 4294967296 < (#t~mem4#1 - 1) % 4294967296);havoc #t~mem5#1;havoc #t~mem4#1; 786#L25-1 assume true; 788#func_to_recursive_line_14_to_16_0EXIT >#102#return; 789#L56-1 call #t~mem24 := read~int#3(~d.base, ~d.offset, 4);#t~pre25 := 1 + #t~mem24;call write~int#3(1 + #t~mem24, ~d.base, ~d.offset, 4);havoc #t~mem24;havoc #t~pre25; 761#L61 call func_to_recursive_line_13_to_14_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 768#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem23 := read~int#3(~d.base, ~d.offset, 4);call #t~mem22 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 790#L50 assume !(#t~mem23 % 4294967296 < (#t~mem22 - 1) % 4294967296);havoc #t~mem23;havoc #t~mem22; 787#L50-1 assume true; 760#func_to_recursive_line_13_to_14_0EXIT >#104#return; 763#L50-1 assume true; 800#func_to_recursive_line_13_to_14_0EXIT >#98#return; 784#L76-1 call #t~mem28 := read~int#5(~c.base, ~c.offset, 4);#t~pre29 := 1 + #t~mem28;call write~int#5(1 + #t~mem28, ~c.base, ~c.offset, 4);havoc #t~mem28;havoc #t~pre29; 777#L81 call func_to_recursive_line_12_to_13_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 791#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem27 := read~int#5(~c.base, ~c.offset, 4);call #t~mem26 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 799#L70 assume !(#t~mem27 % 4294967296 < (#t~mem26 - 1) % 4294967296);havoc #t~mem27;havoc #t~mem26; 798#L70-1 assume true; 776#func_to_recursive_line_12_to_13_0EXIT >#100#return; 778#L70-1 assume true; 782#func_to_recursive_line_12_to_13_0EXIT >#106#return; 779#L96-1 call #t~mem32 := read~int#6(~b.base, ~b.offset, 4);#t~pre33 := 1 + #t~mem32;call write~int#6(1 + #t~mem32, ~b.base, ~b.offset, 4);havoc #t~mem32;havoc #t~pre33; 758#L101 call func_to_recursive_line_11_to_12_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 756#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem31 := read~int#6(~b.base, ~b.offset, 4);call #t~mem30 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 759#L90 assume !(#t~mem31 % 4294967296 < (#t~mem30 - 1) % 4294967296);havoc #t~mem31;havoc #t~mem30; 793#L90-1 assume true; 794#func_to_recursive_line_11_to_12_0EXIT >#108#return; 795#L90-1 assume true; 797#func_to_recursive_line_11_to_12_0EXIT >#112#return; 796#L116-1 call #t~mem36 := read~int#4(~a.base, ~a.offset, 4);#t~pre37 := 1 + #t~mem36;call write~int#4(1 + #t~mem36, ~a.base, ~a.offset, 4);havoc #t~mem36;havoc #t~pre37; 771#L121 call func_to_recursive_line_10_to_11_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 770#$Ultimate##0 [2023-11-26 11:59:31,748 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-26 11:59:31,748 INFO L85 PathProgramCache]: Analyzing trace with hash 118256, now seen corresponding path program 4 times [2023-11-26 11:59:31,748 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-26 11:59:31,749 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [829751950] [2023-11-26 11:59:31,749 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-26 11:59:31,749 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-26 11:59:31,767 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-26 11:59:31,767 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-11-26 11:59:31,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-26 11:59:31,781 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-11-26 11:59:31,781 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-26 11:59:31,782 INFO L85 PathProgramCache]: Analyzing trace with hash -1754161005, now seen corresponding path program 1 times [2023-11-26 11:59:31,782 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-26 11:59:31,782 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [167580171] [2023-11-26 11:59:31,782 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-26 11:59:31,783 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-26 11:59:31,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:32,589 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-26 11:59:32,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:33,054 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-26 11:59:33,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:33,375 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-26 11:59:33,386 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:33,570 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-26 11:59:33,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:33,697 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2023-11-26 11:59:33,701 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:33,707 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 19 [2023-11-26 11:59:33,709 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:33,714 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2023-11-26 11:59:33,717 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:33,739 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 6 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2023-11-26 11:59:33,739 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-11-26 11:59:33,739 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [167580171] [2023-11-26 11:59:33,739 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [167580171] provided 0 perfect and 1 imperfect interpolant sequences [2023-11-26 11:59:33,740 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1736841581] [2023-11-26 11:59:33,740 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-26 11:59:33,740 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-11-26 11:59:33,740 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_4b612ecc-ef03-44ef-ada6-1d4deaa85618/bin/uautomizer-verify-VRDe98Ueme/z3 [2023-11-26 11:59:33,744 INFO L229 MonitoredProcess]: Starting monitored process 4 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_4b612ecc-ef03-44ef-ada6-1d4deaa85618/bin/uautomizer-verify-VRDe98Ueme/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2023-11-26 11:59:33,784 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_4b612ecc-ef03-44ef-ada6-1d4deaa85618/bin/uautomizer-verify-VRDe98Ueme/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2023-11-26 11:59:33,968 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:33,974 INFO L262 TraceCheckSpWp]: Trace formula consists of 616 conjuncts, 130 conjunts are in the unsatisfiable core [2023-11-26 11:59:33,980 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-26 11:59:33,987 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 [2023-11-26 11:59:34,182 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 15 [2023-11-26 11:59:34,304 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 [2023-11-26 11:59:34,511 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 [2023-11-26 11:59:34,799 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 3 [2023-11-26 11:59:35,059 INFO L378 Elim1Store]: Elim1 eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 3 [2023-11-26 11:59:35,358 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 7 proven. 3 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2023-11-26 11:59:35,359 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-11-26 11:59:36,656 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1736841581] provided 0 perfect and 1 imperfect interpolant sequences [2023-11-26 11:59:36,656 INFO L185 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2023-11-26 11:59:36,656 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 18] total 26 [2023-11-26 11:59:36,657 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [64571950] [2023-11-26 11:59:36,657 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2023-11-26 11:59:36,658 INFO L765 eck$LassoCheckResult]: loop already infeasible [2023-11-26 11:59:36,658 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-11-26 11:59:36,658 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2023-11-26 11:59:36,659 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=774, Unknown=0, NotChecked=0, Total=870 [2023-11-26 11:59:36,659 INFO L87 Difference]: Start difference. First operand 51 states and 63 transitions. cyclomatic complexity: 17 Second operand has 26 states, 21 states have (on average 2.238095238095238) internal successors, (47), 18 states have internal predecessors, (47), 9 states have call successors, (15), 10 states have call predecessors, (15), 7 states have return successors, (14), 3 states have call predecessors, (14), 9 states have call successors, (14) [2023-11-26 11:59:39,011 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-11-26 11:59:39,011 INFO L93 Difference]: Finished difference Result 53 states and 65 transitions. [2023-11-26 11:59:39,011 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 53 states and 65 transitions. [2023-11-26 11:59:39,012 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 32 [2023-11-26 11:59:39,014 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 53 states to 53 states and 65 transitions. [2023-11-26 11:59:39,014 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 53 [2023-11-26 11:59:39,015 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 53 [2023-11-26 11:59:39,015 INFO L73 IsDeterministic]: Start isDeterministic. Operand 53 states and 65 transitions. [2023-11-26 11:59:39,015 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-11-26 11:59:39,015 INFO L218 hiAutomatonCegarLoop]: Abstraction has 53 states and 65 transitions. [2023-11-26 11:59:39,016 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states and 65 transitions. [2023-11-26 11:59:39,019 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 53. [2023-11-26 11:59:39,019 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 35 states have (on average 1.2285714285714286) internal successors, (43), 38 states have internal predecessors, (43), 10 states have call successors, (10), 6 states have call predecessors, (10), 8 states have return successors, (12), 8 states have call predecessors, (12), 8 states have call successors, (12) [2023-11-26 11:59:39,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 65 transitions. [2023-11-26 11:59:39,024 INFO L240 hiAutomatonCegarLoop]: Abstraction has 53 states and 65 transitions. [2023-11-26 11:59:39,024 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2023-11-26 11:59:39,027 INFO L428 stractBuchiCegarLoop]: Abstraction has 53 states and 65 transitions. [2023-11-26 11:59:39,027 INFO L335 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2023-11-26 11:59:39,027 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 53 states and 65 transitions. [2023-11-26 11:59:39,032 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 32 [2023-11-26 11:59:39,033 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-11-26 11:59:39,033 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-11-26 11:59:39,037 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2023-11-26 11:59:39,038 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, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-11-26 11:59:39,038 INFO L748 eck$LassoCheckResult]: Stem: 1254#$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(14, 2);call #Ultimate.allocInit(12, 3); 1227#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc 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, main_~#uint32_max~0#1.base, main_~#uint32_max~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call main_~#e~0#1.base, main_~#e~0#1.offset := #Ultimate.allocOnStack(4);call main_~#uint32_max~0#1.base, main_~#uint32_max~0#1.offset := #Ultimate.allocOnStack(4);call write~int#1(4294967295, main_~#uint32_max~0#1.base, main_~#uint32_max~0#1.offset, 4);call write~int#4(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 1228#L139 call func_to_recursive_line_10_to_11_0(main_~#uint32_max~0#1.base, main_~#uint32_max~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#a~0#1.base, main_~#a~0#1.offset, main_~#e~0#1.base, main_~#e~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset);< 1233#$Ultimate##0 [2023-11-26 11:59:39,039 INFO L750 eck$LassoCheckResult]: Loop: 1233#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem35 := read~int#4(~a.base, ~a.offset, 4);call #t~mem34 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 1235#L110 assume #t~mem35 % 4294967296 < (#t~mem34 - 1) % 4294967296;havoc #t~mem35;havoc #t~mem34;call write~int#6(0, ~b.base, ~b.offset, 4); 1223#L116 call func_to_recursive_line_11_to_12_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 1221#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem31 := read~int#6(~b.base, ~b.offset, 4);call #t~mem30 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 1224#L90 assume #t~mem31 % 4294967296 < (#t~mem30 - 1) % 4294967296;havoc #t~mem31;havoc #t~mem30;call write~int#5(0, ~c.base, ~c.offset, 4); 1241#L96 call func_to_recursive_line_12_to_13_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 1243#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem27 := read~int#5(~c.base, ~c.offset, 4);call #t~mem26 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 1244#L70 assume #t~mem27 % 4294967296 < (#t~mem26 - 1) % 4294967296;havoc #t~mem27;havoc #t~mem26;call write~int#3(0, ~d.base, ~d.offset, 4); 1219#L76 call func_to_recursive_line_13_to_14_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 1229#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem23 := read~int#3(~d.base, ~d.offset, 4);call #t~mem22 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 1251#L50 assume #t~mem23 % 4294967296 < (#t~mem22 - 1) % 4294967296;havoc #t~mem23;havoc #t~mem22;call write~int#2(0, ~e.base, ~e.offset, 4); 1213#L56 call func_to_recursive_line_14_to_16_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 1231#$Ultimate##0 ~uint32_max#1.base, ~uint32_max#1.offset := #in~uint32_max#1.base, #in~uint32_max#1.offset;~c#1.base, ~c#1.offset := #in~c#1.base, #in~c#1.offset;~b#1.base, ~b#1.offset := #in~b#1.base, #in~b#1.offset;~a#1.base, ~a#1.offset := #in~a#1.base, #in~a#1.offset;~e#1.base, ~e#1.offset := #in~e#1.base, #in~e#1.offset;~d#1.base, ~d#1.offset := #in~d#1.base, #in~d#1.offset;call #t~mem5#1 := read~int#2(~e#1.base, ~e#1.offset, 4);call #t~mem4#1 := read~int#1(~uint32_max#1.base, ~uint32_max#1.offset, 4); 1232#L25 assume #t~mem5#1 % 4294967296 < (#t~mem4#1 - 1) % 4294967296;havoc #t~mem5#1;havoc #t~mem4#1;call #t~mem6#1 := read~int#4(~a#1.base, ~a#1.offset, 4);call #t~mem7#1 := read~int#6(~b#1.base, ~b#1.offset, 4);#t~short10#1 := #t~mem6#1 % 4294967296 == #t~mem7#1 % 4294967296; 1246#L29 assume !#t~short10#1; 1211#L29-2 #t~short13#1 := #t~short10#1; 1214#L29-3 assume #t~short13#1;call #t~mem11#1 := read~int#5(~c#1.base, ~c#1.offset, 4);call #t~mem12#1 := read~int#3(~d#1.base, ~d#1.offset, 4);#t~short13#1 := #t~mem11#1 % 4294967296 == #t~mem12#1 % 4294967296; 1236#L29-5 #t~short16#1 := #t~short13#1; 1215#L29-6 assume !#t~short16#1; 1216#L29-8 #t~short19#1 := #t~short16#1; 1226#L29-9 assume !#t~short19#1; 1230#L29-11 assume !#t~short19#1;havoc #t~mem6#1;havoc #t~mem7#1;havoc #t~mem8#1;havoc #t~mem9#1;havoc #t~short10#1;havoc #t~mem11#1;havoc #t~mem12#1;havoc #t~short13#1;havoc #t~mem14#1;havoc #t~mem15#1;havoc #t~short16#1;havoc #t~mem18#1;havoc #t~mem17#1;havoc #t~short19#1; 1225#L29-13 call #t~mem20#1 := read~int#2(~e#1.base, ~e#1.offset, 4);#t~pre21#1 := 1 + #t~mem20#1;call write~int#2(1 + #t~mem20#1, ~e#1.base, ~e#1.offset, 4);havoc #t~mem20#1;havoc #t~pre21#1; 1212#L41 call func_to_recursive_line_14_to_16_0(~uint32_max#1.base, ~uint32_max#1.offset, ~c#1.base, ~c#1.offset, ~b#1.base, ~b#1.offset, ~a#1.base, ~a#1.offset, ~e#1.base, ~e#1.offset, ~d#1.base, ~d#1.offset);< 1231#$Ultimate##0 ~uint32_max#1.base, ~uint32_max#1.offset := #in~uint32_max#1.base, #in~uint32_max#1.offset;~c#1.base, ~c#1.offset := #in~c#1.base, #in~c#1.offset;~b#1.base, ~b#1.offset := #in~b#1.base, #in~b#1.offset;~a#1.base, ~a#1.offset := #in~a#1.base, #in~a#1.offset;~e#1.base, ~e#1.offset := #in~e#1.base, #in~e#1.offset;~d#1.base, ~d#1.offset := #in~d#1.base, #in~d#1.offset;call #t~mem5#1 := read~int#2(~e#1.base, ~e#1.offset, 4);call #t~mem4#1 := read~int#1(~uint32_max#1.base, ~uint32_max#1.offset, 4); 1232#L25 assume !(#t~mem5#1 % 4294967296 < (#t~mem4#1 - 1) % 4294967296);havoc #t~mem5#1;havoc #t~mem4#1; 1247#L25-1 assume true; 1249#func_to_recursive_line_14_to_16_0EXIT >#110#return; 1250#L25-1 assume true; 1261#func_to_recursive_line_14_to_16_0EXIT >#102#return; 1252#L56-1 call #t~mem24 := read~int#3(~d.base, ~d.offset, 4);#t~pre25 := 1 + #t~mem24;call write~int#3(1 + #t~mem24, ~d.base, ~d.offset, 4);havoc #t~mem24;havoc #t~pre25; 1218#L61 call func_to_recursive_line_13_to_14_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 1229#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem23 := read~int#3(~d.base, ~d.offset, 4);call #t~mem22 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 1251#L50 assume !(#t~mem23 % 4294967296 < (#t~mem22 - 1) % 4294967296);havoc #t~mem23;havoc #t~mem22; 1248#L50-1 assume true; 1217#func_to_recursive_line_13_to_14_0EXIT >#104#return; 1220#L50-1 assume true; 1263#func_to_recursive_line_13_to_14_0EXIT >#98#return; 1245#L76-1 call #t~mem28 := read~int#5(~c.base, ~c.offset, 4);#t~pre29 := 1 + #t~mem28;call write~int#5(1 + #t~mem28, ~c.base, ~c.offset, 4);havoc #t~mem28;havoc #t~pre29; 1238#L81 call func_to_recursive_line_12_to_13_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 1253#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem27 := read~int#5(~c.base, ~c.offset, 4);call #t~mem26 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 1262#L70 assume !(#t~mem27 % 4294967296 < (#t~mem26 - 1) % 4294967296);havoc #t~mem27;havoc #t~mem26; 1260#L70-1 assume true; 1237#func_to_recursive_line_12_to_13_0EXIT >#100#return; 1239#L70-1 assume true; 1242#func_to_recursive_line_12_to_13_0EXIT >#106#return; 1240#L96-1 call #t~mem32 := read~int#6(~b.base, ~b.offset, 4);#t~pre33 := 1 + #t~mem32;call write~int#6(1 + #t~mem32, ~b.base, ~b.offset, 4);havoc #t~mem32;havoc #t~pre33; 1222#L101 call func_to_recursive_line_11_to_12_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 1221#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem31 := read~int#6(~b.base, ~b.offset, 4);call #t~mem30 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 1224#L90 assume !(#t~mem31 % 4294967296 < (#t~mem30 - 1) % 4294967296);havoc #t~mem31;havoc #t~mem30; 1255#L90-1 assume true; 1256#func_to_recursive_line_11_to_12_0EXIT >#108#return; 1257#L90-1 assume true; 1259#func_to_recursive_line_11_to_12_0EXIT >#112#return; 1258#L116-1 call #t~mem36 := read~int#4(~a.base, ~a.offset, 4);#t~pre37 := 1 + #t~mem36;call write~int#4(1 + #t~mem36, ~a.base, ~a.offset, 4);havoc #t~mem36;havoc #t~pre37; 1234#L121 call func_to_recursive_line_10_to_11_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 1233#$Ultimate##0 [2023-11-26 11:59:39,043 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-26 11:59:39,043 INFO L85 PathProgramCache]: Analyzing trace with hash 118256, now seen corresponding path program 5 times [2023-11-26 11:59:39,043 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-26 11:59:39,044 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [655633640] [2023-11-26 11:59:39,044 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-26 11:59:39,044 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-26 11:59:39,068 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-26 11:59:39,068 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-11-26 11:59:39,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-26 11:59:39,084 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-11-26 11:59:39,084 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-26 11:59:39,084 INFO L85 PathProgramCache]: Analyzing trace with hash 198549804, now seen corresponding path program 1 times [2023-11-26 11:59:39,085 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-26 11:59:39,085 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2093840784] [2023-11-26 11:59:39,085 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-26 11:59:39,085 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-26 11:59:39,116 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:39,179 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-26 11:59:39,199 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:39,282 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-26 11:59:39,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:39,358 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-26 11:59:39,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:39,434 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-26 11:59:39,442 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:39,474 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2023-11-26 11:59:39,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:39,480 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2023-11-26 11:59:39,482 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:39,486 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 33 [2023-11-26 11:59:39,488 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:39,492 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2023-11-26 11:59:39,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:39,499 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2023-11-26 11:59:39,499 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-11-26 11:59:39,499 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2093840784] [2023-11-26 11:59:39,499 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2093840784] provided 1 perfect and 0 imperfect interpolant sequences [2023-11-26 11:59:39,499 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-11-26 11:59:39,500 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2023-11-26 11:59:39,500 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [600656591] [2023-11-26 11:59:39,500 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-11-26 11:59:39,500 INFO L765 eck$LassoCheckResult]: loop already infeasible [2023-11-26 11:59:39,501 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-11-26 11:59:39,501 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2023-11-26 11:59:39,501 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2023-11-26 11:59:39,502 INFO L87 Difference]: Start difference. First operand 53 states and 65 transitions. cyclomatic complexity: 17 Second operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 4 states have internal predecessors, (35), 2 states have call successors, (9), 5 states have call predecessors, (9), 2 states have return successors, (8), 1 states have call predecessors, (8), 2 states have call successors, (8) [2023-11-26 11:59:39,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-11-26 11:59:39,740 INFO L93 Difference]: Finished difference Result 65 states and 81 transitions. [2023-11-26 11:59:39,740 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 65 states and 81 transitions. [2023-11-26 11:59:39,741 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 44 [2023-11-26 11:59:39,743 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 65 states to 65 states and 81 transitions. [2023-11-26 11:59:39,743 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 65 [2023-11-26 11:59:39,744 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 65 [2023-11-26 11:59:39,744 INFO L73 IsDeterministic]: Start isDeterministic. Operand 65 states and 81 transitions. [2023-11-26 11:59:39,745 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-11-26 11:59:39,745 INFO L218 hiAutomatonCegarLoop]: Abstraction has 65 states and 81 transitions. [2023-11-26 11:59:39,745 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states and 81 transitions. [2023-11-26 11:59:39,749 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 55. [2023-11-26 11:59:39,750 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 40 states have internal predecessors, (45), 10 states have call successors, (10), 6 states have call predecessors, (10), 8 states have return successors, (12), 8 states have call predecessors, (12), 8 states have call successors, (12) [2023-11-26 11:59:39,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 67 transitions. [2023-11-26 11:59:39,751 INFO L240 hiAutomatonCegarLoop]: Abstraction has 55 states and 67 transitions. [2023-11-26 11:59:39,751 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2023-11-26 11:59:39,752 INFO L428 stractBuchiCegarLoop]: Abstraction has 55 states and 67 transitions. [2023-11-26 11:59:39,752 INFO L335 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2023-11-26 11:59:39,752 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 55 states and 67 transitions. [2023-11-26 11:59:39,753 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 34 [2023-11-26 11:59:39,753 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-11-26 11:59:39,754 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-11-26 11:59:39,755 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2023-11-26 11:59:39,755 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, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-11-26 11:59:39,756 INFO L748 eck$LassoCheckResult]: Stem: 1545#$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(14, 2);call #Ultimate.allocInit(12, 3); 1515#L-1 assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc 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, main_~#uint32_max~0#1.base, main_~#uint32_max~0#1.offset;call main_~#a~0#1.base, main_~#a~0#1.offset := #Ultimate.allocOnStack(4);call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(4);call main_~#c~0#1.base, main_~#c~0#1.offset := #Ultimate.allocOnStack(4);call main_~#d~0#1.base, main_~#d~0#1.offset := #Ultimate.allocOnStack(4);call main_~#e~0#1.base, main_~#e~0#1.offset := #Ultimate.allocOnStack(4);call main_~#uint32_max~0#1.base, main_~#uint32_max~0#1.offset := #Ultimate.allocOnStack(4);call write~int#1(4294967295, main_~#uint32_max~0#1.base, main_~#uint32_max~0#1.offset, 4);call write~int#4(0, main_~#a~0#1.base, main_~#a~0#1.offset, 4); 1516#L139 call func_to_recursive_line_10_to_11_0(main_~#uint32_max~0#1.base, main_~#uint32_max~0#1.offset, main_~#c~0#1.base, main_~#c~0#1.offset, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#a~0#1.base, main_~#a~0#1.offset, main_~#e~0#1.base, main_~#e~0#1.offset, main_~#d~0#1.base, main_~#d~0#1.offset);< 1520#$Ultimate##0 [2023-11-26 11:59:39,756 INFO L750 eck$LassoCheckResult]: Loop: 1520#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem35 := read~int#4(~a.base, ~a.offset, 4);call #t~mem34 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 1522#L110 assume #t~mem35 % 4294967296 < (#t~mem34 - 1) % 4294967296;havoc #t~mem35;havoc #t~mem34;call write~int#6(0, ~b.base, ~b.offset, 4); 1508#L116 call func_to_recursive_line_11_to_12_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 1506#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem31 := read~int#6(~b.base, ~b.offset, 4);call #t~mem30 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 1509#L90 assume #t~mem31 % 4294967296 < (#t~mem30 - 1) % 4294967296;havoc #t~mem31;havoc #t~mem30;call write~int#5(0, ~c.base, ~c.offset, 4); 1530#L96 call func_to_recursive_line_12_to_13_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 1531#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem27 := read~int#5(~c.base, ~c.offset, 4);call #t~mem26 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 1533#L70 assume #t~mem27 % 4294967296 < (#t~mem26 - 1) % 4294967296;havoc #t~mem27;havoc #t~mem26;call write~int#3(0, ~d.base, ~d.offset, 4); 1511#L76 call func_to_recursive_line_13_to_14_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 1518#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem23 := read~int#3(~d.base, ~d.offset, 4);call #t~mem22 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 1540#L50 assume #t~mem23 % 4294967296 < (#t~mem22 - 1) % 4294967296;havoc #t~mem23;havoc #t~mem22;call write~int#2(0, ~e.base, ~e.offset, 4); 1501#L56 call func_to_recursive_line_14_to_16_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 1523#$Ultimate##0 ~uint32_max#1.base, ~uint32_max#1.offset := #in~uint32_max#1.base, #in~uint32_max#1.offset;~c#1.base, ~c#1.offset := #in~c#1.base, #in~c#1.offset;~b#1.base, ~b#1.offset := #in~b#1.base, #in~b#1.offset;~a#1.base, ~a#1.offset := #in~a#1.base, #in~a#1.offset;~e#1.base, ~e#1.offset := #in~e#1.base, #in~e#1.offset;~d#1.base, ~d#1.offset := #in~d#1.base, #in~d#1.offset;call #t~mem5#1 := read~int#2(~e#1.base, ~e#1.offset, 4);call #t~mem4#1 := read~int#1(~uint32_max#1.base, ~uint32_max#1.offset, 4); 1524#L25 assume #t~mem5#1 % 4294967296 < (#t~mem4#1 - 1) % 4294967296;havoc #t~mem5#1;havoc #t~mem4#1;call #t~mem6#1 := read~int#4(~a#1.base, ~a#1.offset, 4);call #t~mem7#1 := read~int#6(~b#1.base, ~b#1.offset, 4);#t~short10#1 := #t~mem6#1 % 4294967296 == #t~mem7#1 % 4294967296; 1535#L29 assume #t~short10#1;call #t~mem8#1 := read~int#6(~b#1.base, ~b#1.offset, 4);call #t~mem9#1 := read~int#5(~c#1.base, ~c#1.offset, 4);#t~short10#1 := #t~mem8#1 % 4294967296 == #t~mem9#1 % 4294967296; 1500#L29-2 #t~short13#1 := #t~short10#1; 1503#L29-3 assume #t~short13#1;call #t~mem11#1 := read~int#5(~c#1.base, ~c#1.offset, 4);call #t~mem12#1 := read~int#3(~d#1.base, ~d#1.offset, 4);#t~short13#1 := #t~mem11#1 % 4294967296 == #t~mem12#1 % 4294967296; 1525#L29-5 #t~short16#1 := #t~short13#1; 1504#L29-6 assume !#t~short16#1; 1505#L29-8 #t~short19#1 := #t~short16#1; 1517#L29-9 assume !#t~short19#1; 1519#L29-11 assume !#t~short19#1;havoc #t~mem6#1;havoc #t~mem7#1;havoc #t~mem8#1;havoc #t~mem9#1;havoc #t~short10#1;havoc #t~mem11#1;havoc #t~mem12#1;havoc #t~short13#1;havoc #t~mem14#1;havoc #t~mem15#1;havoc #t~short16#1;havoc #t~mem18#1;havoc #t~mem17#1;havoc #t~short19#1; 1514#L29-13 call #t~mem20#1 := read~int#2(~e#1.base, ~e#1.offset, 4);#t~pre21#1 := 1 + #t~mem20#1;call write~int#2(1 + #t~mem20#1, ~e#1.base, ~e#1.offset, 4);havoc #t~mem20#1;havoc #t~pre21#1; 1502#L41 call func_to_recursive_line_14_to_16_0(~uint32_max#1.base, ~uint32_max#1.offset, ~c#1.base, ~c#1.offset, ~b#1.base, ~b#1.offset, ~a#1.base, ~a#1.offset, ~e#1.base, ~e#1.offset, ~d#1.base, ~d#1.offset);< 1523#$Ultimate##0 ~uint32_max#1.base, ~uint32_max#1.offset := #in~uint32_max#1.base, #in~uint32_max#1.offset;~c#1.base, ~c#1.offset := #in~c#1.base, #in~c#1.offset;~b#1.base, ~b#1.offset := #in~b#1.base, #in~b#1.offset;~a#1.base, ~a#1.offset := #in~a#1.base, #in~a#1.offset;~e#1.base, ~e#1.offset := #in~e#1.base, #in~e#1.offset;~d#1.base, ~d#1.offset := #in~d#1.base, #in~d#1.offset;call #t~mem5#1 := read~int#2(~e#1.base, ~e#1.offset, 4);call #t~mem4#1 := read~int#1(~uint32_max#1.base, ~uint32_max#1.offset, 4); 1524#L25 assume !(#t~mem5#1 % 4294967296 < (#t~mem4#1 - 1) % 4294967296);havoc #t~mem5#1;havoc #t~mem4#1; 1536#L25-1 assume true; 1538#func_to_recursive_line_14_to_16_0EXIT >#110#return; 1539#L25-1 assume true; 1554#func_to_recursive_line_14_to_16_0EXIT >#102#return; 1541#L56-1 call #t~mem24 := read~int#3(~d.base, ~d.offset, 4);#t~pre25 := 1 + #t~mem24;call write~int#3(1 + #t~mem24, ~d.base, ~d.offset, 4);havoc #t~mem24;havoc #t~pre25; 1512#L61 call func_to_recursive_line_13_to_14_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 1518#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem23 := read~int#3(~d.base, ~d.offset, 4);call #t~mem22 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 1540#L50 assume !(#t~mem23 % 4294967296 < (#t~mem22 - 1) % 4294967296);havoc #t~mem23;havoc #t~mem22; 1546#L50-1 assume true; 1510#func_to_recursive_line_13_to_14_0EXIT >#104#return; 1513#L50-1 assume true; 1537#func_to_recursive_line_13_to_14_0EXIT >#98#return; 1534#L76-1 call #t~mem28 := read~int#5(~c.base, ~c.offset, 4);#t~pre29 := 1 + #t~mem28;call write~int#5(1 + #t~mem28, ~c.base, ~c.offset, 4);havoc #t~mem28;havoc #t~pre29; 1527#L81 call func_to_recursive_line_12_to_13_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 1544#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem27 := read~int#5(~c.base, ~c.offset, 4);call #t~mem26 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 1553#L70 assume !(#t~mem27 % 4294967296 < (#t~mem26 - 1) % 4294967296);havoc #t~mem27;havoc #t~mem26; 1532#L70-1 assume true; 1526#func_to_recursive_line_12_to_13_0EXIT >#100#return; 1528#L70-1 assume true; 1552#func_to_recursive_line_12_to_13_0EXIT >#106#return; 1529#L96-1 call #t~mem32 := read~int#6(~b.base, ~b.offset, 4);#t~pre33 := 1 + #t~mem32;call write~int#6(1 + #t~mem32, ~b.base, ~b.offset, 4);havoc #t~mem32;havoc #t~pre33; 1507#L101 call func_to_recursive_line_11_to_12_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 1506#$Ultimate##0 ~uint32_max.base, ~uint32_max.offset := #in~uint32_max.base, #in~uint32_max.offset;~c.base, ~c.offset := #in~c.base, #in~c.offset;~b.base, ~b.offset := #in~b.base, #in~b.offset;~a.base, ~a.offset := #in~a.base, #in~a.offset;~e.base, ~e.offset := #in~e.base, #in~e.offset;~d.base, ~d.offset := #in~d.base, #in~d.offset;call #t~mem31 := read~int#6(~b.base, ~b.offset, 4);call #t~mem30 := read~int#1(~uint32_max.base, ~uint32_max.offset, 4); 1509#L90 assume !(#t~mem31 % 4294967296 < (#t~mem30 - 1) % 4294967296);havoc #t~mem31;havoc #t~mem30; 1547#L90-1 assume true; 1548#func_to_recursive_line_11_to_12_0EXIT >#108#return; 1549#L90-1 assume true; 1551#func_to_recursive_line_11_to_12_0EXIT >#112#return; 1550#L116-1 call #t~mem36 := read~int#4(~a.base, ~a.offset, 4);#t~pre37 := 1 + #t~mem36;call write~int#4(1 + #t~mem36, ~a.base, ~a.offset, 4);havoc #t~mem36;havoc #t~pre37; 1521#L121 call func_to_recursive_line_10_to_11_0(~uint32_max.base, ~uint32_max.offset, ~c.base, ~c.offset, ~b.base, ~b.offset, ~a.base, ~a.offset, ~e.base, ~e.offset, ~d.base, ~d.offset);< 1520#$Ultimate##0 [2023-11-26 11:59:39,757 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-26 11:59:39,757 INFO L85 PathProgramCache]: Analyzing trace with hash 118256, now seen corresponding path program 6 times [2023-11-26 11:59:39,757 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-26 11:59:39,757 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1768780020] [2023-11-26 11:59:39,757 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-26 11:59:39,758 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-26 11:59:39,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-26 11:59:39,772 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-11-26 11:59:39,780 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-26 11:59:39,784 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-11-26 11:59:39,785 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-26 11:59:39,785 INFO L85 PathProgramCache]: Analyzing trace with hash -49596690, now seen corresponding path program 1 times [2023-11-26 11:59:39,785 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-26 11:59:39,785 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1281696507] [2023-11-26 11:59:39,786 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-26 11:59:39,786 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-26 11:59:39,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:40,877 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-26 11:59:40,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-26 11:59:41,815 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-26 11:59:41,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat