./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 30e01a73 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_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/data/config -Xmx15G -Xms4m -jar /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/data -tc /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/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_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/config/svcomp-Termination-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ --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.3-dev-30e01a7 [2023-11-23 22:36:23,030 INFO L188 SettingsManager]: Resetting all preferences to default values... [2023-11-23 22:36:23,166 INFO L114 SettingsManager]: Loading settings from /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/config/svcomp-Termination-32bit-Automizer_Default.epf [2023-11-23 22:36:23,181 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2023-11-23 22:36:23,182 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2023-11-23 22:36:23,225 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2023-11-23 22:36:23,225 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2023-11-23 22:36:23,226 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2023-11-23 22:36:23,227 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2023-11-23 22:36:23,233 INFO L153 SettingsManager]: * Use memory slicer=true [2023-11-23 22:36:23,234 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2023-11-23 22:36:23,234 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2023-11-23 22:36:23,235 INFO L153 SettingsManager]: * Use SBE=true [2023-11-23 22:36:23,237 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2023-11-23 22:36:23,238 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2023-11-23 22:36:23,238 INFO L153 SettingsManager]: * Use old map elimination=false [2023-11-23 22:36:23,239 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2023-11-23 22:36:23,239 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2023-11-23 22:36:23,240 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2023-11-23 22:36:23,240 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2023-11-23 22:36:23,241 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2023-11-23 22:36:23,241 INFO L153 SettingsManager]: * sizeof long=4 [2023-11-23 22:36:23,242 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2023-11-23 22:36:23,242 INFO L153 SettingsManager]: * sizeof POINTER=4 [2023-11-23 22:36:23,243 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2023-11-23 22:36:23,243 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2023-11-23 22:36:23,244 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2023-11-23 22:36:23,244 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2023-11-23 22:36:23,245 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2023-11-23 22:36:23,245 INFO L153 SettingsManager]: * sizeof long double=12 [2023-11-23 22:36:23,247 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2023-11-23 22:36:23,247 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2023-11-23 22:36:23,248 INFO L153 SettingsManager]: * Use constant arrays=true [2023-11-23 22:36:23,248 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2023-11-23 22:36:23,248 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2023-11-23 22:36:23,249 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2023-11-23 22:36:23,249 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2023-11-23 22:36:23,250 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2023-11-23 22:36:23,250 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_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/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_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ 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-23 22:36:23,584 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2023-11-23 22:36:23,612 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2023-11-23 22:36:23,615 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2023-11-23 22:36:23,617 INFO L270 PluginConnector]: Initializing CDTParser... [2023-11-23 22:36:23,617 INFO L274 PluginConnector]: CDTParser initialized [2023-11-23 22:36:23,619 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/../../sv-benchmarks/c/recursified_loop-simple/recursified_deep-nested.c [2023-11-23 22:36:26,716 INFO L533 CDTParser]: Created temporary CDT project at NULL [2023-11-23 22:36:26,951 INFO L384 CDTParser]: Found 1 translation units. [2023-11-23 22:36:26,952 INFO L180 CDTParser]: Scanning /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/sv-benchmarks/c/recursified_loop-simple/recursified_deep-nested.c [2023-11-23 22:36:26,964 INFO L427 CDTParser]: About to delete temporary CDT project at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/data/a812fc0e1/24c7f1fabb084a1dbe0affa896685f79/FLAGabbf8f490 [2023-11-23 22:36:26,981 INFO L435 CDTParser]: Successfully deleted /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/data/a812fc0e1/24c7f1fabb084a1dbe0affa896685f79 [2023-11-23 22:36:26,987 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2023-11-23 22:36:26,990 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2023-11-23 22:36:26,994 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2023-11-23 22:36:26,994 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2023-11-23 22:36:27,000 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2023-11-23 22:36:27,001 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 10:36:26" (1/1) ... [2023-11-23 22:36:27,002 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@79abccb8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:36:27, skipping insertion in model container [2023-11-23 22:36:27,002 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 10:36:26" (1/1) ... [2023-11-23 22:36:27,041 INFO L177 MainTranslator]: Built tables and reachable declarations [2023-11-23 22:36:27,316 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-11-23 22:36:27,329 INFO L202 MainTranslator]: Completed pre-run [2023-11-23 22:36:27,361 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-11-23 22:36:27,381 INFO L206 MainTranslator]: Completed translation [2023-11-23 22:36:27,383 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:36:27 WrapperNode [2023-11-23 22:36:27,383 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2023-11-23 22:36:27,385 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2023-11-23 22:36:27,385 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2023-11-23 22:36:27,385 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2023-11-23 22:36:27,394 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:36:27" (1/1) ... [2023-11-23 22:36:27,417 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:36:27" (1/1) ... [2023-11-23 22:36:27,448 INFO L138 Inliner]: procedures = 16, calls = 72, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 116 [2023-11-23 22:36:27,448 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2023-11-23 22:36:27,449 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2023-11-23 22:36:27,449 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2023-11-23 22:36:27,450 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2023-11-23 22:36:27,462 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:36:27" (1/1) ... [2023-11-23 22:36:27,462 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:36:27" (1/1) ... [2023-11-23 22:36:27,466 INFO L184 PluginConnector]: Executing the observer HeapSplitter from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:36:27" (1/1) ... [2023-11-23 22:36:27,498 INFO L189 HeapSplitter]: Split 38 memory accesses to 7 slices as follows [2, 6, 6, 6, 5, 6, 7] [2023-11-23 22:36:27,498 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:36:27" (1/1) ... [2023-11-23 22:36:27,499 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:36:27" (1/1) ... [2023-11-23 22:36:27,520 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:36:27" (1/1) ... [2023-11-23 22:36:27,523 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:36:27" (1/1) ... [2023-11-23 22:36:27,526 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:36:27" (1/1) ... [2023-11-23 22:36:27,528 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:36:27" (1/1) ... [2023-11-23 22:36:27,534 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2023-11-23 22:36:27,535 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2023-11-23 22:36:27,536 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2023-11-23 22:36:27,536 INFO L274 PluginConnector]: RCFGBuilder initialized [2023-11-23 22:36:27,537 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:36:27" (1/1) ... [2023-11-23 22:36:27,547 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2023-11-23 22:36:27,562 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/z3 [2023-11-23 22:36:27,575 INFO L229 MonitoredProcess]: Starting monitored process 1 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2023-11-23 22:36:27,599 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2023-11-23 22:36:27,625 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_12_to_13_0 [2023-11-23 22:36:27,626 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_12_to_13_0 [2023-11-23 22:36:27,626 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2023-11-23 22:36:27,627 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_13_to_14_0 [2023-11-23 22:36:27,627 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_13_to_14_0 [2023-11-23 22:36:27,627 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_11_to_12_0 [2023-11-23 22:36:27,627 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_11_to_12_0 [2023-11-23 22:36:27,628 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2023-11-23 22:36:27,628 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2023-11-23 22:36:27,628 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2023-11-23 22:36:27,628 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#3 [2023-11-23 22:36:27,628 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#4 [2023-11-23 22:36:27,629 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#5 [2023-11-23 22:36:27,629 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#6 [2023-11-23 22:36:27,629 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_14_to_16_0 [2023-11-23 22:36:27,631 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_14_to_16_0 [2023-11-23 22:36:27,632 INFO L130 BoogieDeclarations]: Found specification of procedure func_to_recursive_line_10_to_11_0 [2023-11-23 22:36:27,632 INFO L138 BoogieDeclarations]: Found implementation of procedure func_to_recursive_line_10_to_11_0 [2023-11-23 22:36:27,632 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2023-11-23 22:36:27,632 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2023-11-23 22:36:27,632 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2023-11-23 22:36:27,633 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2023-11-23 22:36:27,633 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#3 [2023-11-23 22:36:27,633 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#4 [2023-11-23 22:36:27,634 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#5 [2023-11-23 22:36:27,634 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#6 [2023-11-23 22:36:27,635 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2023-11-23 22:36:27,635 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2023-11-23 22:36:27,635 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2023-11-23 22:36:27,635 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2023-11-23 22:36:27,636 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2023-11-23 22:36:27,637 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#3 [2023-11-23 22:36:27,637 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#4 [2023-11-23 22:36:27,637 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#5 [2023-11-23 22:36:27,637 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#6 [2023-11-23 22:36:27,638 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2023-11-23 22:36:27,821 INFO L241 CfgBuilder]: Building ICFG [2023-11-23 22:36:27,824 INFO L267 CfgBuilder]: Building CFG for each procedure with an implementation [2023-11-23 22:36:28,197 INFO L282 CfgBuilder]: Performing block encoding [2023-11-23 22:36:28,213 INFO L304 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2023-11-23 22:36:28,213 INFO L309 CfgBuilder]: Removed 0 assume(true) statements. [2023-11-23 22:36:28,215 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 10:36:28 BoogieIcfgContainer [2023-11-23 22:36:28,216 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2023-11-23 22:36:28,217 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2023-11-23 22:36:28,217 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2023-11-23 22:36:28,221 INFO L274 PluginConnector]: BuchiAutomizer initialized [2023-11-23 22:36:28,222 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-11-23 22:36:28,222 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 23.11 10:36:26" (1/3) ... [2023-11-23 22:36:28,223 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@687d198e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 23.11 10:36:28, skipping insertion in model container [2023-11-23 22:36:28,224 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-11-23 22:36:28,224 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 10:36:27" (2/3) ... [2023-11-23 22:36:28,224 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@687d198e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 23.11 10:36:28, skipping insertion in model container [2023-11-23 22:36:28,224 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2023-11-23 22:36:28,224 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 10:36:28" (3/3) ... [2023-11-23 22:36:28,226 INFO L332 chiAutomizerObserver]: Analyzing ICFG recursified_deep-nested.c [2023-11-23 22:36:28,284 INFO L303 stractBuchiCegarLoop]: Interprodecural is true [2023-11-23 22:36:28,284 INFO L304 stractBuchiCegarLoop]: Hoare is false [2023-11-23 22:36:28,284 INFO L305 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2023-11-23 22:36:28,284 INFO L306 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2023-11-23 22:36:28,284 INFO L307 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2023-11-23 22:36:28,284 INFO L308 stractBuchiCegarLoop]: Difference is false [2023-11-23 22:36:28,285 INFO L309 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2023-11-23 22:36:28,285 INFO L313 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2023-11-23 22:36:28,289 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-23 22:36:28,312 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 33 [2023-11-23 22:36:28,312 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-11-23 22:36:28,313 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-11-23 22:36:28,319 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2023-11-23 22:36:28,319 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-11-23 22:36:28,319 INFO L335 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2023-11-23 22:36:28,319 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-23 22:36:28,325 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 33 [2023-11-23 22:36:28,325 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-11-23 22:36:28,325 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-11-23 22:36:28,326 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2023-11-23 22:36:28,326 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2023-11-23 22:36:28,335 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#6(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-23 22:36:28,335 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#6(~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#5(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#5(~b.base, ~b.offset, 4);call #t~mem30 := read~int#6(~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-23 22:36:28,342 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-23 22:36:28,342 INFO L85 PathProgramCache]: Analyzing trace with hash 118256, now seen corresponding path program 1 times [2023-11-23 22:36:28,353 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-23 22:36:28,353 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1624036025] [2023-11-23 22:36:28,354 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-23 22:36:28,354 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-23 22:36:28,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-23 22:36:28,539 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-11-23 22:36:28,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-23 22:36:28,654 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-11-23 22:36:28,657 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-23 22:36:28,657 INFO L85 PathProgramCache]: Analyzing trace with hash 376946881, now seen corresponding path program 1 times [2023-11-23 22:36:28,658 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-23 22:36:28,658 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2101000087] [2023-11-23 22:36:28,658 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-23 22:36:28,659 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-23 22:36:28,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:29,512 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-23 22:36:29,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:29,831 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-23 22:36:29,832 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-11-23 22:36:29,832 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2101000087] [2023-11-23 22:36:29,833 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2101000087] provided 1 perfect and 0 imperfect interpolant sequences [2023-11-23 22:36:29,833 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-11-23 22:36:29,833 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2023-11-23 22:36:29,834 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1456940749] [2023-11-23 22:36:29,835 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-11-23 22:36:29,839 INFO L765 eck$LassoCheckResult]: loop already infeasible [2023-11-23 22:36:29,840 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-11-23 22:36:29,885 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2023-11-23 22:36:29,886 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2023-11-23 22:36:29,888 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-23 22:36:30,367 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-11-23 22:36:30,367 INFO L93 Difference]: Finished difference Result 59 states and 76 transitions. [2023-11-23 22:36:30,369 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 59 states and 76 transitions. [2023-11-23 22:36:30,378 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 32 [2023-11-23 22:36:30,391 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 59 states to 51 states and 66 transitions. [2023-11-23 22:36:30,393 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 51 [2023-11-23 22:36:30,393 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 51 [2023-11-23 22:36:30,394 INFO L73 IsDeterministic]: Start isDeterministic. Operand 51 states and 66 transitions. [2023-11-23 22:36:30,396 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-11-23 22:36:30,396 INFO L218 hiAutomatonCegarLoop]: Abstraction has 51 states and 66 transitions. [2023-11-23 22:36:30,413 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states and 66 transitions. [2023-11-23 22:36:30,431 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 45. [2023-11-23 22:36:30,432 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-23 22:36:30,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 57 transitions. [2023-11-23 22:36:30,440 INFO L240 hiAutomatonCegarLoop]: Abstraction has 45 states and 57 transitions. [2023-11-23 22:36:30,441 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2023-11-23 22:36:30,445 INFO L428 stractBuchiCegarLoop]: Abstraction has 45 states and 57 transitions. [2023-11-23 22:36:30,445 INFO L335 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2023-11-23 22:36:30,446 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 45 states and 57 transitions. [2023-11-23 22:36:30,447 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 32 [2023-11-23 22:36:30,447 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-11-23 22:36:30,447 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-11-23 22:36:30,448 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2023-11-23 22:36:30,448 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-23 22:36:30,449 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#6(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-23 22:36:30,449 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#6(~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#5(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#5(~b.base, ~b.offset, 4);call #t~mem30 := read~int#6(~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#2(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#2(~c.base, ~c.offset, 4);call #t~mem26 := read~int#6(~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#5(~b.base, ~b.offset, 4);#t~pre33 := 1 + #t~mem32;call write~int#5(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#5(~b.base, ~b.offset, 4);call #t~mem30 := read~int#6(~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-23 22:36:30,450 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-23 22:36:30,450 INFO L85 PathProgramCache]: Analyzing trace with hash 118256, now seen corresponding path program 2 times [2023-11-23 22:36:30,450 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-23 22:36:30,451 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1649040686] [2023-11-23 22:36:30,451 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-23 22:36:30,451 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-23 22:36:30,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-23 22:36:30,502 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-11-23 22:36:30,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-23 22:36:30,522 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-11-23 22:36:30,522 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-23 22:36:30,523 INFO L85 PathProgramCache]: Analyzing trace with hash 1072601781, now seen corresponding path program 1 times [2023-11-23 22:36:30,523 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-23 22:36:30,523 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1772087027] [2023-11-23 22:36:30,523 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-23 22:36:30,524 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-23 22:36:30,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:30,962 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-23 22:36:30,990 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:31,373 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-23 22:36:31,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:31,565 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2023-11-23 22:36:31,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:31,578 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-23 22:36:31,579 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-11-23 22:36:31,580 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1772087027] [2023-11-23 22:36:31,580 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1772087027] provided 0 perfect and 1 imperfect interpolant sequences [2023-11-23 22:36:31,587 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1846465224] [2023-11-23 22:36:31,587 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-23 22:36:31,587 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-11-23 22:36:31,588 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/z3 [2023-11-23 22:36:31,590 INFO L229 MonitoredProcess]: Starting monitored process 2 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2023-11-23 22:36:31,614 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2023-11-23 22:36:31,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:31,767 INFO L262 TraceCheckSpWp]: Trace formula consists of 340 conjuncts, 73 conjunts are in the unsatisfiable core [2023-11-23 22:36:31,776 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-23 22:36:31,860 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-23 22:36:32,029 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-23 22:36:32,619 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2023-11-23 22:36:32,620 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-11-23 22:36:33,838 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2023-11-23 22:36:33,839 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1846465224] provided 0 perfect and 2 imperfect interpolant sequences [2023-11-23 22:36:33,839 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-11-23 22:36:33,839 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 12, 11] total 27 [2023-11-23 22:36:33,839 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [603357175] [2023-11-23 22:36:33,839 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-11-23 22:36:33,840 INFO L765 eck$LassoCheckResult]: loop already infeasible [2023-11-23 22:36:33,840 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-11-23 22:36:33,841 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2023-11-23 22:36:33,841 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=110, Invalid=592, Unknown=0, NotChecked=0, Total=702 [2023-11-23 22:36:33,842 INFO L87 Difference]: Start difference. First operand 45 states and 57 transitions. cyclomatic complexity: 17 Second operand has 27 states, 22 states have (on average 1.5909090909090908) internal successors, (35), 22 states have internal predecessors, (35), 9 states have call successors, (10), 8 states have call predecessors, (10), 8 states have return successors, (9), 4 states have call predecessors, (9), 9 states have call successors, (9) [2023-11-23 22:36:35,194 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-11-23 22:36:35,194 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2023-11-23 22:36:35,195 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 51 states and 65 transitions. [2023-11-23 22:36:35,197 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 32 [2023-11-23 22:36:35,198 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 51 states to 51 states and 65 transitions. [2023-11-23 22:36:35,199 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 51 [2023-11-23 22:36:35,199 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 51 [2023-11-23 22:36:35,199 INFO L73 IsDeterministic]: Start isDeterministic. Operand 51 states and 65 transitions. [2023-11-23 22:36:35,202 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-11-23 22:36:35,202 INFO L218 hiAutomatonCegarLoop]: Abstraction has 51 states and 65 transitions. [2023-11-23 22:36:35,202 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states and 65 transitions. [2023-11-23 22:36:35,210 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 47. [2023-11-23 22:36:35,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 31 states have (on average 1.2580645161290323) internal successors, (39), 35 states have internal predecessors, (39), 10 states have call successors, (10), 5 states have call predecessors, (10), 6 states have return successors, (10), 8 states have call predecessors, (10), 8 states have call successors, (10) [2023-11-23 22:36:35,214 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 59 transitions. [2023-11-23 22:36:35,214 INFO L240 hiAutomatonCegarLoop]: Abstraction has 47 states and 59 transitions. [2023-11-23 22:36:35,214 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2023-11-23 22:36:35,215 INFO L428 stractBuchiCegarLoop]: Abstraction has 47 states and 59 transitions. [2023-11-23 22:36:35,215 INFO L335 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2023-11-23 22:36:35,215 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 47 states and 59 transitions. [2023-11-23 22:36:35,219 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 32 [2023-11-23 22:36:35,220 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-11-23 22:36:35,220 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-11-23 22:36:35,222 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2023-11-23 22:36:35,222 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-23 22:36:35,222 INFO L748 eck$LassoCheckResult]: Stem: 455#$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); 431#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#6(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); 432#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);< 436#$Ultimate##0 [2023-11-23 22:36:35,228 INFO L750 eck$LassoCheckResult]: Loop: 436#$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#6(~uint32_max.base, ~uint32_max.offset, 4); 438#L110 assume #t~mem35 % 4294967296 < (#t~mem34 - 1) % 4294967296;havoc #t~mem35;havoc #t~mem34;call write~int#5(0, ~b.base, ~b.offset, 4); 426#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);< 425#$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#5(~b.base, ~b.offset, 4);call #t~mem30 := read~int#6(~uint32_max.base, ~uint32_max.offset, 4); 428#L90 assume #t~mem31 % 4294967296 < (#t~mem30 - 1) % 4294967296;havoc #t~mem31;havoc #t~mem30;call write~int#2(0, ~c.base, ~c.offset, 4); 442#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);< 447#$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#2(~c.base, ~c.offset, 4);call #t~mem26 := read~int#6(~uint32_max.base, ~uint32_max.offset, 4); 448#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); 422#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);< 433#$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#6(~uint32_max.base, ~uint32_max.offset, 4); 454#L50 assume !(#t~mem23 % 4294967296 < (#t~mem22 - 1) % 4294967296);havoc #t~mem23;havoc #t~mem22; 423#L50-1 assume true; 420#func_to_recursive_line_13_to_14_0EXIT >#98#return; 424#L76-1 call #t~mem28 := read~int#2(~c.base, ~c.offset, 4);#t~pre29 := 1 + #t~mem28;call write~int#2(1 + #t~mem28, ~c.base, ~c.offset, 4);havoc #t~mem28;havoc #t~pre29; 443#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);< 447#$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#2(~c.base, ~c.offset, 4);call #t~mem26 := read~int#6(~uint32_max.base, ~uint32_max.offset, 4); 448#L70 assume !(#t~mem27 % 4294967296 < (#t~mem26 - 1) % 4294967296);havoc #t~mem27;havoc #t~mem26; 449#L70-1 assume true; 441#func_to_recursive_line_12_to_13_0EXIT >#100#return; 444#L70-1 assume true; 446#func_to_recursive_line_12_to_13_0EXIT >#106#return; 445#L96-1 call #t~mem32 := read~int#5(~b.base, ~b.offset, 4);#t~pre33 := 1 + #t~mem32;call write~int#5(1 + #t~mem32, ~b.base, ~b.offset, 4);havoc #t~mem32;havoc #t~pre33; 427#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);< 425#$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#5(~b.base, ~b.offset, 4);call #t~mem30 := read~int#6(~uint32_max.base, ~uint32_max.offset, 4); 428#L90 assume !(#t~mem31 % 4294967296 < (#t~mem30 - 1) % 4294967296);havoc #t~mem31;havoc #t~mem30; 456#L90-1 assume true; 457#func_to_recursive_line_11_to_12_0EXIT >#108#return; 458#L90-1 assume true; 460#func_to_recursive_line_11_to_12_0EXIT >#112#return; 459#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; 437#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);< 436#$Ultimate##0 [2023-11-23 22:36:35,229 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-23 22:36:35,229 INFO L85 PathProgramCache]: Analyzing trace with hash 118256, now seen corresponding path program 3 times [2023-11-23 22:36:35,229 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-23 22:36:35,229 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [605851477] [2023-11-23 22:36:35,229 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-23 22:36:35,230 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-23 22:36:35,263 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-23 22:36:35,263 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-11-23 22:36:35,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-23 22:36:35,288 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-11-23 22:36:35,288 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-23 22:36:35,288 INFO L85 PathProgramCache]: Analyzing trace with hash 2046612426, now seen corresponding path program 1 times [2023-11-23 22:36:35,289 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-23 22:36:35,289 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [359208205] [2023-11-23 22:36:35,289 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-23 22:36:35,289 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-23 22:36:35,344 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:35,989 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-23 22:36:36,029 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:36,518 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-23 22:36:36,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:36,773 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-23 22:36:36,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:36,907 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2023-11-23 22:36:36,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:36,916 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 19 [2023-11-23 22:36:36,920 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:36,924 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-23 22:36:36,924 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-11-23 22:36:36,924 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [359208205] [2023-11-23 22:36:36,925 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [359208205] provided 0 perfect and 1 imperfect interpolant sequences [2023-11-23 22:36:36,925 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1732041664] [2023-11-23 22:36:36,925 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-23 22:36:36,925 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-11-23 22:36:36,926 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/z3 [2023-11-23 22:36:36,948 INFO L229 MonitoredProcess]: Starting monitored process 3 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2023-11-23 22:36:36,975 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2023-11-23 22:36:37,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:37,162 INFO L262 TraceCheckSpWp]: Trace formula consists of 510 conjuncts, 103 conjunts are in the unsatisfiable core [2023-11-23 22:36:37,168 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-23 22:36:37,191 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-23 22:36:37,438 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-23 22:36:37,701 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-23 22:36:37,990 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2023-11-23 22:36:37,990 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-11-23 22:36:39,799 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2023-11-23 22:36:39,799 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1732041664] provided 0 perfect and 2 imperfect interpolant sequences [2023-11-23 22:36:39,799 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-11-23 22:36:39,799 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 16, 15] total 33 [2023-11-23 22:36:39,800 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1507287839] [2023-11-23 22:36:39,800 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-11-23 22:36:39,800 INFO L765 eck$LassoCheckResult]: loop already infeasible [2023-11-23 22:36:39,801 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-11-23 22:36:39,801 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2023-11-23 22:36:39,802 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=142, Invalid=914, Unknown=0, NotChecked=0, Total=1056 [2023-11-23 22:36:39,802 INFO L87 Difference]: Start difference. First operand 47 states and 59 transitions. cyclomatic complexity: 17 Second operand has 33 states, 26 states have (on average 1.8846153846153846) internal successors, (49), 28 states have internal predecessors, (49), 13 states have call successors, (16), 8 states have call predecessors, (16), 9 states have return successors, (15), 6 states have call predecessors, (15), 13 states have call successors, (15) [2023-11-23 22:36:41,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-11-23 22:36:41,386 INFO L93 Difference]: Finished difference Result 55 states and 69 transitions. [2023-11-23 22:36:41,386 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 55 states and 69 transitions. [2023-11-23 22:36:41,390 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 34 [2023-11-23 22:36:41,395 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 55 states to 55 states and 69 transitions. [2023-11-23 22:36:41,396 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 55 [2023-11-23 22:36:41,398 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 55 [2023-11-23 22:36:41,398 INFO L73 IsDeterministic]: Start isDeterministic. Operand 55 states and 69 transitions. [2023-11-23 22:36:41,405 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-11-23 22:36:41,405 INFO L218 hiAutomatonCegarLoop]: Abstraction has 55 states and 69 transitions. [2023-11-23 22:36:41,406 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states and 69 transitions. [2023-11-23 22:36:41,414 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 49. [2023-11-23 22:36:41,416 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 32 states have (on average 1.25) internal successors, (40), 36 states have internal predecessors, (40), 10 states have call successors, (10), 5 states have call predecessors, (10), 7 states have return successors, (11), 8 states have call predecessors, (11), 8 states have call successors, (11) [2023-11-23 22:36:41,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 61 transitions. [2023-11-23 22:36:41,424 INFO L240 hiAutomatonCegarLoop]: Abstraction has 49 states and 61 transitions. [2023-11-23 22:36:41,424 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2023-11-23 22:36:41,425 INFO L428 stractBuchiCegarLoop]: Abstraction has 49 states and 61 transitions. [2023-11-23 22:36:41,426 INFO L335 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2023-11-23 22:36:41,426 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 49 states and 61 transitions. [2023-11-23 22:36:41,428 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 32 [2023-11-23 22:36:41,432 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-11-23 22:36:41,432 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-11-23 22:36:41,434 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2023-11-23 22:36:41,434 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-23 22:36:41,434 INFO L748 eck$LassoCheckResult]: Stem: 847#$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); 822#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#6(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); 823#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);< 828#$Ultimate##0 [2023-11-23 22:36:41,435 INFO L750 eck$LassoCheckResult]: Loop: 828#$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#6(~uint32_max.base, ~uint32_max.offset, 4); 830#L110 assume #t~mem35 % 4294967296 < (#t~mem34 - 1) % 4294967296;havoc #t~mem35;havoc #t~mem34;call write~int#5(0, ~b.base, ~b.offset, 4); 817#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);< 816#$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#5(~b.base, ~b.offset, 4);call #t~mem30 := read~int#6(~uint32_max.base, ~uint32_max.offset, 4); 819#L90 assume #t~mem31 % 4294967296 < (#t~mem30 - 1) % 4294967296;havoc #t~mem31;havoc #t~mem30;call write~int#2(0, ~c.base, ~c.offset, 4); 834#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);< 838#$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#2(~c.base, ~c.offset, 4);call #t~mem26 := read~int#6(~uint32_max.base, ~uint32_max.offset, 4); 839#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); 814#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);< 824#$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#6(~uint32_max.base, ~uint32_max.offset, 4); 846#L50 assume #t~mem23 % 4294967296 < (#t~mem22 - 1) % 4294967296;havoc #t~mem23;havoc #t~mem22;call write~int#1(0, ~e.base, ~e.offset, 4); 808#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);< 826#$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#1(~e#1.base, ~e#1.offset, 4);call #t~mem4#1 := read~int#6(~uint32_max#1.base, ~uint32_max#1.offset, 4); 827#L25 assume !(#t~mem5#1 % 4294967296 < (#t~mem4#1 - 1) % 4294967296);havoc #t~mem5#1;havoc #t~mem4#1; 842#L25-1 assume true; 843#func_to_recursive_line_14_to_16_0EXIT >#102#return; 844#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; 813#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);< 824#$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#6(~uint32_max.base, ~uint32_max.offset, 4); 846#L50 assume !(#t~mem23 % 4294967296 < (#t~mem22 - 1) % 4294967296);havoc #t~mem23;havoc #t~mem22; 845#L50-1 assume true; 812#func_to_recursive_line_13_to_14_0EXIT >#104#return; 815#L50-1 assume true; 854#func_to_recursive_line_13_to_14_0EXIT >#98#return; 840#L76-1 call #t~mem28 := read~int#2(~c.base, ~c.offset, 4);#t~pre29 := 1 + #t~mem28;call write~int#2(1 + #t~mem28, ~c.base, ~c.offset, 4);havoc #t~mem28;havoc #t~pre29; 833#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);< 838#$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#2(~c.base, ~c.offset, 4);call #t~mem26 := read~int#6(~uint32_max.base, ~uint32_max.offset, 4); 839#L70 assume !(#t~mem27 % 4294967296 < (#t~mem26 - 1) % 4294967296);havoc #t~mem27;havoc #t~mem26; 837#L70-1 assume true; 832#func_to_recursive_line_12_to_13_0EXIT >#100#return; 835#L70-1 assume true; 853#func_to_recursive_line_12_to_13_0EXIT >#106#return; 836#L96-1 call #t~mem32 := read~int#5(~b.base, ~b.offset, 4);#t~pre33 := 1 + #t~mem32;call write~int#5(1 + #t~mem32, ~b.base, ~b.offset, 4);havoc #t~mem32;havoc #t~pre33; 818#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);< 816#$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#5(~b.base, ~b.offset, 4);call #t~mem30 := read~int#6(~uint32_max.base, ~uint32_max.offset, 4); 819#L90 assume !(#t~mem31 % 4294967296 < (#t~mem30 - 1) % 4294967296);havoc #t~mem31;havoc #t~mem30; 852#L90-1 assume true; 850#func_to_recursive_line_11_to_12_0EXIT >#108#return; 848#L90-1 assume true; 849#func_to_recursive_line_11_to_12_0EXIT >#112#return; 851#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; 829#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);< 828#$Ultimate##0 [2023-11-23 22:36:41,437 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-23 22:36:41,437 INFO L85 PathProgramCache]: Analyzing trace with hash 118256, now seen corresponding path program 4 times [2023-11-23 22:36:41,438 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-23 22:36:41,438 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [455766362] [2023-11-23 22:36:41,438 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-23 22:36:41,438 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-23 22:36:41,460 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-23 22:36:41,460 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-11-23 22:36:41,471 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-23 22:36:41,479 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-11-23 22:36:41,480 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-23 22:36:41,480 INFO L85 PathProgramCache]: Analyzing trace with hash -1754161005, now seen corresponding path program 1 times [2023-11-23 22:36:41,480 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-23 22:36:41,486 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [190776340] [2023-11-23 22:36:41,486 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-23 22:36:41,486 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-23 22:36:41,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:42,593 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-23 22:36:42,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:43,495 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-23 22:36:43,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:43,929 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-23 22:36:43,947 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:44,172 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-23 22:36:44,185 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:44,344 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2023-11-23 22:36:44,349 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:44,353 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 19 [2023-11-23 22:36:44,384 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:44,388 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 30 [2023-11-23 22:36:44,393 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:44,397 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-23 22:36:44,397 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-11-23 22:36:44,398 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [190776340] [2023-11-23 22:36:44,398 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [190776340] provided 0 perfect and 1 imperfect interpolant sequences [2023-11-23 22:36:44,398 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1033550865] [2023-11-23 22:36:44,398 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-23 22:36:44,399 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-11-23 22:36:44,399 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/z3 [2023-11-23 22:36:44,402 INFO L229 MonitoredProcess]: Starting monitored process 4 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2023-11-23 22:36:44,426 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2023-11-23 22:36:44,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:44,651 INFO L262 TraceCheckSpWp]: Trace formula consists of 680 conjuncts, 124 conjunts are in the unsatisfiable core [2023-11-23 22:36:44,659 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-23 22:36:44,663 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-23 22:36:44,850 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-23 22:36:45,010 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-23 22:36:45,606 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 6 proven. 3 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2023-11-23 22:36:45,606 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-11-23 22:36:47,923 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 31 treesize of output 23 [2023-11-23 22:36:47,932 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2023-11-23 22:36:47,932 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1033550865] provided 0 perfect and 2 imperfect interpolant sequences [2023-11-23 22:36:47,933 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-11-23 22:36:47,933 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 19, 14] total 36 [2023-11-23 22:36:47,933 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1412794333] [2023-11-23 22:36:47,933 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-11-23 22:36:47,934 INFO L765 eck$LassoCheckResult]: loop already infeasible [2023-11-23 22:36:47,934 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-11-23 22:36:47,935 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2023-11-23 22:36:47,936 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=177, Invalid=1083, Unknown=0, NotChecked=0, Total=1260 [2023-11-23 22:36:47,936 INFO L87 Difference]: Start difference. First operand 49 states and 61 transitions. cyclomatic complexity: 17 Second operand has 36 states, 28 states have (on average 2.2142857142857144) internal successors, (62), 29 states have internal predecessors, (62), 15 states have call successors, (22), 10 states have call predecessors, (22), 9 states have return successors, (19), 7 states have call predecessors, (19), 15 states have call successors, (19) [2023-11-23 22:36:49,276 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-11-23 22:36:49,277 INFO L93 Difference]: Finished difference Result 53 states and 66 transitions. [2023-11-23 22:36:49,277 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 53 states and 66 transitions. [2023-11-23 22:36:49,279 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 32 [2023-11-23 22:36:49,280 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 53 states to 53 states and 66 transitions. [2023-11-23 22:36:49,281 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 53 [2023-11-23 22:36:49,281 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 53 [2023-11-23 22:36:49,281 INFO L73 IsDeterministic]: Start isDeterministic. Operand 53 states and 66 transitions. [2023-11-23 22:36:49,282 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-11-23 22:36:49,282 INFO L218 hiAutomatonCegarLoop]: Abstraction has 53 states and 66 transitions. [2023-11-23 22:36:49,282 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states and 66 transitions. [2023-11-23 22:36:49,287 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 51. [2023-11-23 22:36:49,287 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 37 states have internal predecessors, (41), 10 states have call successors, (10), 5 states have call predecessors, (10), 8 states have return successors, (12), 8 states have call predecessors, (12), 8 states have call successors, (12) [2023-11-23 22:36:49,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 63 transitions. [2023-11-23 22:36:49,288 INFO L240 hiAutomatonCegarLoop]: Abstraction has 51 states and 63 transitions. [2023-11-23 22:36:49,289 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2023-11-23 22:36:49,290 INFO L428 stractBuchiCegarLoop]: Abstraction has 51 states and 63 transitions. [2023-11-23 22:36:49,290 INFO L335 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2023-11-23 22:36:49,290 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 51 states and 63 transitions. [2023-11-23 22:36:49,291 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 32 [2023-11-23 22:36:49,292 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-11-23 22:36:49,292 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-11-23 22:36:49,293 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2023-11-23 22:36:49,294 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-23 22:36:49,294 INFO L748 eck$LassoCheckResult]: Stem: 1357#$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); 1331#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#6(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); 1332#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);< 1336#$Ultimate##0 [2023-11-23 22:36:49,295 INFO L750 eck$LassoCheckResult]: Loop: 1336#$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#6(~uint32_max.base, ~uint32_max.offset, 4); 1338#L110 assume #t~mem35 % 4294967296 < (#t~mem34 - 1) % 4294967296;havoc #t~mem35;havoc #t~mem34;call write~int#5(0, ~b.base, ~b.offset, 4); 1326#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);< 1325#$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#5(~b.base, ~b.offset, 4);call #t~mem30 := read~int#6(~uint32_max.base, ~uint32_max.offset, 4); 1328#L90 assume #t~mem31 % 4294967296 < (#t~mem30 - 1) % 4294967296;havoc #t~mem31;havoc #t~mem30;call write~int#2(0, ~c.base, ~c.offset, 4); 1342#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);< 1347#$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#2(~c.base, ~c.offset, 4);call #t~mem26 := read~int#6(~uint32_max.base, ~uint32_max.offset, 4); 1348#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); 1322#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);< 1333#$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#6(~uint32_max.base, ~uint32_max.offset, 4); 1355#L50 assume #t~mem23 % 4294967296 < (#t~mem22 - 1) % 4294967296;havoc #t~mem23;havoc #t~mem22;call write~int#1(0, ~e.base, ~e.offset, 4); 1317#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);< 1335#$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#1(~e#1.base, ~e#1.offset, 4);call #t~mem4#1 := read~int#6(~uint32_max#1.base, ~uint32_max#1.offset, 4); 1339#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#5(~b#1.base, ~b#1.offset, 4);#t~short10#1 := #t~mem6#1 % 4294967296 == #t~mem7#1 % 4294967296; 1350#L29 assume !#t~short10#1; 1315#L29-2 #t~short13#1 := #t~short10#1; 1318#L29-3 assume #t~short13#1;call #t~mem11#1 := read~int#2(~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; 1340#L29-5 #t~short16#1 := #t~short13#1; 1319#L29-6 assume !#t~short16#1; 1320#L29-8 #t~short19#1 := #t~short16#1; 1330#L29-9 assume !#t~short19#1; 1334#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; 1329#L29-13 call #t~mem20#1 := read~int#1(~e#1.base, ~e#1.offset, 4);#t~pre21#1 := 1 + #t~mem20#1;call write~int#1(1 + #t~mem20#1, ~e#1.base, ~e#1.offset, 4);havoc #t~mem20#1;havoc #t~pre21#1; 1316#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);< 1335#$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#1(~e#1.base, ~e#1.offset, 4);call #t~mem4#1 := read~int#6(~uint32_max#1.base, ~uint32_max#1.offset, 4); 1339#L25 assume !(#t~mem5#1 % 4294967296 < (#t~mem4#1 - 1) % 4294967296);havoc #t~mem5#1;havoc #t~mem4#1; 1351#L25-1 assume true; 1352#func_to_recursive_line_14_to_16_0EXIT >#110#return; 1353#L25-1 assume true; 1364#func_to_recursive_line_14_to_16_0EXIT >#102#return; 1356#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; 1323#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);< 1333#$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#6(~uint32_max.base, ~uint32_max.offset, 4); 1355#L50 assume !(#t~mem23 % 4294967296 < (#t~mem22 - 1) % 4294967296);havoc #t~mem23;havoc #t~mem22; 1354#L50-1 assume true; 1321#func_to_recursive_line_13_to_14_0EXIT >#104#return; 1324#L50-1 assume true; 1365#func_to_recursive_line_13_to_14_0EXIT >#98#return; 1349#L76-1 call #t~mem28 := read~int#2(~c.base, ~c.offset, 4);#t~pre29 := 1 + #t~mem28;call write~int#2(1 + #t~mem28, ~c.base, ~c.offset, 4);havoc #t~mem28;havoc #t~pre29; 1343#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);< 1347#$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#2(~c.base, ~c.offset, 4);call #t~mem26 := read~int#6(~uint32_max.base, ~uint32_max.offset, 4); 1348#L70 assume !(#t~mem27 % 4294967296 < (#t~mem26 - 1) % 4294967296);havoc #t~mem27;havoc #t~mem26; 1346#L70-1 assume true; 1341#func_to_recursive_line_12_to_13_0EXIT >#100#return; 1344#L70-1 assume true; 1363#func_to_recursive_line_12_to_13_0EXIT >#106#return; 1345#L96-1 call #t~mem32 := read~int#5(~b.base, ~b.offset, 4);#t~pre33 := 1 + #t~mem32;call write~int#5(1 + #t~mem32, ~b.base, ~b.offset, 4);havoc #t~mem32;havoc #t~pre33; 1327#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);< 1325#$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#5(~b.base, ~b.offset, 4);call #t~mem30 := read~int#6(~uint32_max.base, ~uint32_max.offset, 4); 1328#L90 assume !(#t~mem31 % 4294967296 < (#t~mem30 - 1) % 4294967296);havoc #t~mem31;havoc #t~mem30; 1362#L90-1 assume true; 1360#func_to_recursive_line_11_to_12_0EXIT >#108#return; 1358#L90-1 assume true; 1359#func_to_recursive_line_11_to_12_0EXIT >#112#return; 1361#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; 1337#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);< 1336#$Ultimate##0 [2023-11-23 22:36:49,296 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-23 22:36:49,296 INFO L85 PathProgramCache]: Analyzing trace with hash 118256, now seen corresponding path program 5 times [2023-11-23 22:36:49,296 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-23 22:36:49,296 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [478975143] [2023-11-23 22:36:49,296 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-23 22:36:49,297 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-23 22:36:49,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-23 22:36:49,315 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-11-23 22:36:49,325 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-23 22:36:49,330 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-11-23 22:36:49,331 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-23 22:36:49,331 INFO L85 PathProgramCache]: Analyzing trace with hash 198549804, now seen corresponding path program 1 times [2023-11-23 22:36:49,331 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-23 22:36:49,331 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1716790782] [2023-11-23 22:36:49,332 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-23 22:36:49,332 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-23 22:36:49,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:49,439 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-23 22:36:49,488 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:49,573 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-23 22:36:49,596 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:49,665 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-23 22:36:49,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:49,738 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-23 22:36:49,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:49,786 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2023-11-23 22:36:49,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:49,794 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2023-11-23 22:36:49,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:49,802 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 33 [2023-11-23 22:36:49,807 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:49,812 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2023-11-23 22:36:49,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:49,821 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-23 22:36:49,821 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-11-23 22:36:49,821 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1716790782] [2023-11-23 22:36:49,822 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1716790782] provided 1 perfect and 0 imperfect interpolant sequences [2023-11-23 22:36:49,822 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2023-11-23 22:36:49,822 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2023-11-23 22:36:49,822 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [923328411] [2023-11-23 22:36:49,823 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2023-11-23 22:36:49,823 INFO L765 eck$LassoCheckResult]: loop already infeasible [2023-11-23 22:36:49,823 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-11-23 22:36:49,824 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2023-11-23 22:36:49,824 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2023-11-23 22:36:49,825 INFO L87 Difference]: Start difference. First operand 51 states and 63 transitions. cyclomatic complexity: 17 Second operand has 5 states, 5 states have (on average 7.0) internal successors, (35), 4 states have internal predecessors, (35), 2 states have call successors, (9), 2 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-23 22:36:50,011 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-11-23 22:36:50,012 INFO L93 Difference]: Finished difference Result 63 states and 79 transitions. [2023-11-23 22:36:50,012 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 63 states and 79 transitions. [2023-11-23 22:36:50,013 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 44 [2023-11-23 22:36:50,015 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 63 states to 63 states and 79 transitions. [2023-11-23 22:36:50,015 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 63 [2023-11-23 22:36:50,016 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 63 [2023-11-23 22:36:50,016 INFO L73 IsDeterministic]: Start isDeterministic. Operand 63 states and 79 transitions. [2023-11-23 22:36:50,016 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-11-23 22:36:50,016 INFO L218 hiAutomatonCegarLoop]: Abstraction has 63 states and 79 transitions. [2023-11-23 22:36:50,017 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states and 79 transitions. [2023-11-23 22:36:50,021 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 53. [2023-11-23 22:36:50,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 35 states have (on average 1.2285714285714286) internal successors, (43), 39 states have internal predecessors, (43), 10 states have call successors, (10), 5 states have call predecessors, (10), 8 states have return successors, (12), 8 states have call predecessors, (12), 8 states have call successors, (12) [2023-11-23 22:36:50,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 65 transitions. [2023-11-23 22:36:50,022 INFO L240 hiAutomatonCegarLoop]: Abstraction has 53 states and 65 transitions. [2023-11-23 22:36:50,023 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2023-11-23 22:36:50,024 INFO L428 stractBuchiCegarLoop]: Abstraction has 53 states and 65 transitions. [2023-11-23 22:36:50,024 INFO L335 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2023-11-23 22:36:50,024 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 53 states and 65 transitions. [2023-11-23 22:36:50,025 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 34 [2023-11-23 22:36:50,025 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-11-23 22:36:50,025 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-11-23 22:36:50,027 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2023-11-23 22:36:50,027 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-23 22:36:50,028 INFO L748 eck$LassoCheckResult]: Stem: 1641#$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); 1613#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#6(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); 1614#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);< 1619#$Ultimate##0 [2023-11-23 22:36:50,028 INFO L750 eck$LassoCheckResult]: Loop: 1619#$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#6(~uint32_max.base, ~uint32_max.offset, 4); 1621#L110 assume #t~mem35 % 4294967296 < (#t~mem34 - 1) % 4294967296;havoc #t~mem35;havoc #t~mem34;call write~int#5(0, ~b.base, ~b.offset, 4); 1609#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);< 1607#$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#5(~b.base, ~b.offset, 4);call #t~mem30 := read~int#6(~uint32_max.base, ~uint32_max.offset, 4); 1610#L90 assume #t~mem31 % 4294967296 < (#t~mem30 - 1) % 4294967296;havoc #t~mem31;havoc #t~mem30;call write~int#2(0, ~c.base, ~c.offset, 4); 1623#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);< 1628#$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#2(~c.base, ~c.offset, 4);call #t~mem26 := read~int#6(~uint32_max.base, ~uint32_max.offset, 4); 1630#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); 1605#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);< 1615#$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#6(~uint32_max.base, ~uint32_max.offset, 4); 1637#L50 assume #t~mem23 % 4294967296 < (#t~mem22 - 1) % 4294967296;havoc #t~mem23;havoc #t~mem22;call write~int#1(0, ~e.base, ~e.offset, 4); 1599#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);< 1617#$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#1(~e#1.base, ~e#1.offset, 4);call #t~mem4#1 := read~int#6(~uint32_max#1.base, ~uint32_max#1.offset, 4); 1618#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#5(~b#1.base, ~b#1.offset, 4);#t~short10#1 := #t~mem6#1 % 4294967296 == #t~mem7#1 % 4294967296; 1632#L29 assume #t~short10#1;call #t~mem8#1 := read~int#5(~b#1.base, ~b#1.offset, 4);call #t~mem9#1 := read~int#2(~c#1.base, ~c#1.offset, 4);#t~short10#1 := #t~mem8#1 % 4294967296 == #t~mem9#1 % 4294967296; 1597#L29-2 #t~short13#1 := #t~short10#1; 1600#L29-3 assume #t~short13#1;call #t~mem11#1 := read~int#2(~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; 1626#L29-5 #t~short16#1 := #t~short13#1; 1601#L29-6 assume !#t~short16#1; 1602#L29-8 #t~short19#1 := #t~short16#1; 1612#L29-9 assume !#t~short19#1; 1616#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; 1611#L29-13 call #t~mem20#1 := read~int#1(~e#1.base, ~e#1.offset, 4);#t~pre21#1 := 1 + #t~mem20#1;call write~int#1(1 + #t~mem20#1, ~e#1.base, ~e#1.offset, 4);havoc #t~mem20#1;havoc #t~pre21#1; 1598#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);< 1617#$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#1(~e#1.base, ~e#1.offset, 4);call #t~mem4#1 := read~int#6(~uint32_max#1.base, ~uint32_max#1.offset, 4); 1618#L25 assume !(#t~mem5#1 % 4294967296 < (#t~mem4#1 - 1) % 4294967296);havoc #t~mem5#1;havoc #t~mem4#1; 1633#L25-1 assume true; 1635#func_to_recursive_line_14_to_16_0EXIT >#110#return; 1636#L25-1 assume true; 1649#func_to_recursive_line_14_to_16_0EXIT >#102#return; 1638#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; 1604#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);< 1615#$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#6(~uint32_max.base, ~uint32_max.offset, 4); 1637#L50 assume !(#t~mem23 % 4294967296 < (#t~mem22 - 1) % 4294967296);havoc #t~mem23;havoc #t~mem22; 1642#L50-1 assume true; 1603#func_to_recursive_line_13_to_14_0EXIT >#104#return; 1606#L50-1 assume true; 1634#func_to_recursive_line_13_to_14_0EXIT >#98#return; 1631#L76-1 call #t~mem28 := read~int#2(~c.base, ~c.offset, 4);#t~pre29 := 1 + #t~mem28;call write~int#2(1 + #t~mem28, ~c.base, ~c.offset, 4);havoc #t~mem28;havoc #t~pre29; 1624#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);< 1628#$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#2(~c.base, ~c.offset, 4);call #t~mem26 := read~int#6(~uint32_max.base, ~uint32_max.offset, 4); 1630#L70 assume !(#t~mem27 % 4294967296 < (#t~mem26 - 1) % 4294967296);havoc #t~mem27;havoc #t~mem26; 1629#L70-1 assume true; 1622#func_to_recursive_line_12_to_13_0EXIT >#100#return; 1625#L70-1 assume true; 1648#func_to_recursive_line_12_to_13_0EXIT >#106#return; 1627#L96-1 call #t~mem32 := read~int#5(~b.base, ~b.offset, 4);#t~pre33 := 1 + #t~mem32;call write~int#5(1 + #t~mem32, ~b.base, ~b.offset, 4);havoc #t~mem32;havoc #t~pre33; 1608#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);< 1607#$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#5(~b.base, ~b.offset, 4);call #t~mem30 := read~int#6(~uint32_max.base, ~uint32_max.offset, 4); 1610#L90 assume !(#t~mem31 % 4294967296 < (#t~mem30 - 1) % 4294967296);havoc #t~mem31;havoc #t~mem30; 1643#L90-1 assume true; 1644#func_to_recursive_line_11_to_12_0EXIT >#108#return; 1645#L90-1 assume true; 1647#func_to_recursive_line_11_to_12_0EXIT >#112#return; 1646#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; 1620#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);< 1619#$Ultimate##0 [2023-11-23 22:36:50,029 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-23 22:36:50,029 INFO L85 PathProgramCache]: Analyzing trace with hash 118256, now seen corresponding path program 6 times [2023-11-23 22:36:50,029 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-23 22:36:50,029 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [132074461] [2023-11-23 22:36:50,030 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-23 22:36:50,030 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-23 22:36:50,045 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-23 22:36:50,046 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-11-23 22:36:50,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-23 22:36:50,059 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-11-23 22:36:50,059 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-23 22:36:50,060 INFO L85 PathProgramCache]: Analyzing trace with hash -49596690, now seen corresponding path program 1 times [2023-11-23 22:36:50,060 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-23 22:36:50,060 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1884742858] [2023-11-23 22:36:50,060 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-23 22:36:50,060 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-23 22:36:50,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:51,377 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-23 22:36:51,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:52,520 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-23 22:36:52,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:53,290 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-23 22:36:53,320 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:54,427 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2023-11-23 22:36:54,471 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:56,573 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2023-11-23 22:36:56,612 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:56,945 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2023-11-23 22:36:56,949 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:56,955 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 33 [2023-11-23 22:36:56,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:56,965 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2023-11-23 22:36:56,968 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:56,974 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2023-11-23 22:36:56,974 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2023-11-23 22:36:56,974 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1884742858] [2023-11-23 22:36:56,974 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1884742858] provided 0 perfect and 1 imperfect interpolant sequences [2023-11-23 22:36:56,975 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [419384185] [2023-11-23 22:36:56,975 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-23 22:36:56,975 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2023-11-23 22:36:56,975 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/z3 [2023-11-23 22:36:56,977 INFO L229 MonitoredProcess]: Starting monitored process 5 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2023-11-23 22:36:56,979 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_f8bdaaeb-f35c-4835-ba61-7e6f9e597031/bin/uautomizer-verify-zZY32mL2XJ/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2023-11-23 22:36:57,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:36:57,265 INFO L262 TraceCheckSpWp]: Trace formula consists of 812 conjuncts, 123 conjunts are in the unsatisfiable core [2023-11-23 22:36:57,272 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2023-11-23 22:36:57,279 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-23 22:36:57,410 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-23 22:36:57,596 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-23 22:36:58,909 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 8 proven. 6 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2023-11-23 22:36:58,910 INFO L327 TraceCheckSpWp]: Computing backward predicates... [2023-11-23 22:37:02,069 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 8 proven. 6 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2023-11-23 22:37:02,070 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [419384185] provided 0 perfect and 2 imperfect interpolant sequences [2023-11-23 22:37:02,070 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2023-11-23 22:37:02,070 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 22, 15] total 52 [2023-11-23 22:37:02,070 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [241089609] [2023-11-23 22:37:02,070 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2023-11-23 22:37:02,071 INFO L765 eck$LassoCheckResult]: loop already infeasible [2023-11-23 22:37:02,071 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2023-11-23 22:37:02,072 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 52 interpolants. [2023-11-23 22:37:02,073 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=246, Invalid=2406, Unknown=0, NotChecked=0, Total=2652 [2023-11-23 22:37:02,074 INFO L87 Difference]: Start difference. First operand 53 states and 65 transitions. cyclomatic complexity: 17 Second operand has 52 states, 43 states have (on average 2.2093023255813953) internal successors, (95), 45 states have internal predecessors, (95), 21 states have call successors, (25), 11 states have call predecessors, (25), 13 states have return successors, (22), 11 states have call predecessors, (22), 21 states have call successors, (22) [2023-11-23 22:37:07,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2023-11-23 22:37:07,931 INFO L93 Difference]: Finished difference Result 93 states and 129 transitions. [2023-11-23 22:37:07,932 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 93 states and 129 transitions. [2023-11-23 22:37:07,935 INFO L131 ngComponentsAnalysis]: Automaton has 6 accepting balls. 62 [2023-11-23 22:37:07,938 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 93 states to 93 states and 129 transitions. [2023-11-23 22:37:07,938 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 93 [2023-11-23 22:37:07,939 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 93 [2023-11-23 22:37:07,939 INFO L73 IsDeterministic]: Start isDeterministic. Operand 93 states and 129 transitions. [2023-11-23 22:37:07,940 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2023-11-23 22:37:07,940 INFO L218 hiAutomatonCegarLoop]: Abstraction has 93 states and 129 transitions. [2023-11-23 22:37:07,940 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states and 129 transitions. [2023-11-23 22:37:07,946 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 79. [2023-11-23 22:37:07,947 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 55 states have (on average 1.2363636363636363) internal successors, (68), 60 states have internal predecessors, (68), 13 states have call successors, (13), 6 states have call predecessors, (13), 11 states have return successors, (23), 13 states have call predecessors, (23), 11 states have call successors, (23) [2023-11-23 22:37:07,948 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 104 transitions. [2023-11-23 22:37:07,948 INFO L240 hiAutomatonCegarLoop]: Abstraction has 79 states and 104 transitions. [2023-11-23 22:37:07,949 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 39 states. [2023-11-23 22:37:07,949 INFO L428 stractBuchiCegarLoop]: Abstraction has 79 states and 104 transitions. [2023-11-23 22:37:07,950 INFO L335 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2023-11-23 22:37:07,950 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 79 states and 104 transitions. [2023-11-23 22:37:07,951 INFO L131 ngComponentsAnalysis]: Automaton has 6 accepting balls. 54 [2023-11-23 22:37:07,951 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2023-11-23 22:37:07,951 INFO L119 BuchiIsEmpty]: Starting construction of run [2023-11-23 22:37:07,953 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1] [2023-11-23 22:37:07,954 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-23 22:37:07,954 INFO L748 eck$LassoCheckResult]: Stem: 2394#$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); 2363#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#6(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); 2364#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);< 2368#$Ultimate##0 [2023-11-23 22:37:07,954 INFO L750 eck$LassoCheckResult]: Loop: 2368#$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#6(~uint32_max.base, ~uint32_max.offset, 4); 2370#L110 assume #t~mem35 % 4294967296 < (#t~mem34 - 1) % 4294967296;havoc #t~mem35;havoc #t~mem34;call write~int#5(0, ~b.base, ~b.offset, 4); 2359#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);< 2358#$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#5(~b.base, ~b.offset, 4);call #t~mem30 := read~int#6(~uint32_max.base, ~uint32_max.offset, 4); 2361#L90 assume #t~mem31 % 4294967296 < (#t~mem30 - 1) % 4294967296;havoc #t~mem31;havoc #t~mem30;call write~int#2(0, ~c.base, ~c.offset, 4); 2375#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);< 2381#$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#2(~c.base, ~c.offset, 4);call #t~mem26 := read~int#6(~uint32_max.base, ~uint32_max.offset, 4); 2382#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); 2353#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);< 2366#$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#6(~uint32_max.base, ~uint32_max.offset, 4); 2390#L50 assume #t~mem23 % 4294967296 < (#t~mem22 - 1) % 4294967296;havoc #t~mem23;havoc #t~mem22;call write~int#1(0, ~e.base, ~e.offset, 4); 2350#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);< 2383#$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#1(~e#1.base, ~e#1.offset, 4);call #t~mem4#1 := read~int#6(~uint32_max#1.base, ~uint32_max#1.offset, 4); 2411#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#5(~b#1.base, ~b#1.offset, 4);#t~short10#1 := #t~mem6#1 % 4294967296 == #t~mem7#1 % 4294967296; 2412#L29 assume #t~short10#1;call #t~mem8#1 := read~int#5(~b#1.base, ~b#1.offset, 4);call #t~mem9#1 := read~int#2(~c#1.base, ~c#1.offset, 4);#t~short10#1 := #t~mem8#1 % 4294967296 == #t~mem9#1 % 4294967296; 2419#L29-2 #t~short13#1 := #t~short10#1; 2420#L29-3 assume !#t~short13#1; 2379#L29-5 #t~short16#1 := #t~short13#1; 2348#L29-6 assume !#t~short16#1; 2351#L29-8 #t~short19#1 := #t~short16#1; 2365#L29-9 assume !#t~short19#1; 2367#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; 2409#L29-13 call #t~mem20#1 := read~int#1(~e#1.base, ~e#1.offset, 4);#t~pre21#1 := 1 + #t~mem20#1;call write~int#1(1 + #t~mem20#1, ~e#1.base, ~e#1.offset, 4);havoc #t~mem20#1;havoc #t~pre21#1; 2349#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);< 2383#$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#1(~e#1.base, ~e#1.offset, 4);call #t~mem4#1 := read~int#6(~uint32_max#1.base, ~uint32_max#1.offset, 4); 2411#L25 assume !(#t~mem5#1 % 4294967296 < (#t~mem4#1 - 1) % 4294967296);havoc #t~mem5#1;havoc #t~mem4#1; 2410#L25-1 assume true; 2408#func_to_recursive_line_14_to_16_0EXIT >#110#return; 2407#L25-1 assume true; 2406#func_to_recursive_line_14_to_16_0EXIT >#102#return; 2405#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; 2354#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);< 2366#$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#6(~uint32_max.base, ~uint32_max.offset, 4); 2390#L50 assume !(#t~mem23 % 4294967296 < (#t~mem22 - 1) % 4294967296);havoc #t~mem23;havoc #t~mem22; 2395#L50-1 assume true; 2352#func_to_recursive_line_13_to_14_0EXIT >#104#return; 2356#L50-1 assume true; 2403#func_to_recursive_line_13_to_14_0EXIT >#98#return; 2402#L76-1 call #t~mem28 := read~int#2(~c.base, ~c.offset, 4);#t~pre29 := 1 + #t~mem28;call write~int#2(1 + #t~mem28, ~c.base, ~c.offset, 4);havoc #t~mem28;havoc #t~pre29; 2374#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);< 2381#$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#2(~c.base, ~c.offset, 4);call #t~mem26 := read~int#6(~uint32_max.base, ~uint32_max.offset, 4); 2382#L70 assume !(#t~mem27 % 4294967296 < (#t~mem26 - 1) % 4294967296);havoc #t~mem27;havoc #t~mem26; 2378#L70-1 assume true; 2373#func_to_recursive_line_12_to_13_0EXIT >#100#return; 2377#L70-1 assume true; 2401#func_to_recursive_line_12_to_13_0EXIT >#106#return; 2380#L96-1 call #t~mem32 := read~int#5(~b.base, ~b.offset, 4);#t~pre33 := 1 + #t~mem32;call write~int#5(1 + #t~mem32, ~b.base, ~b.offset, 4);havoc #t~mem32;havoc #t~pre33; 2360#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);< 2358#$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#5(~b.base, ~b.offset, 4);call #t~mem30 := read~int#6(~uint32_max.base, ~uint32_max.offset, 4); 2361#L90 assume !(#t~mem31 % 4294967296 < (#t~mem30 - 1) % 4294967296);havoc #t~mem31;havoc #t~mem30; 2396#L90-1 assume true; 2397#func_to_recursive_line_11_to_12_0EXIT >#108#return; 2398#L90-1 assume true; 2404#func_to_recursive_line_11_to_12_0EXIT >#112#return; 2399#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; 2369#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);< 2368#$Ultimate##0 [2023-11-23 22:37:07,955 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-23 22:37:07,955 INFO L85 PathProgramCache]: Analyzing trace with hash 118256, now seen corresponding path program 7 times [2023-11-23 22:37:07,955 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-23 22:37:07,955 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1953905639] [2023-11-23 22:37:07,955 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-23 22:37:07,956 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-23 22:37:07,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-23 22:37:07,973 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2023-11-23 22:37:07,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2023-11-23 22:37:07,985 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2023-11-23 22:37:07,986 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2023-11-23 22:37:07,986 INFO L85 PathProgramCache]: Analyzing trace with hash -1421403988, now seen corresponding path program 1 times [2023-11-23 22:37:07,986 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2023-11-23 22:37:07,987 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2095382131] [2023-11-23 22:37:07,987 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2023-11-23 22:37:07,987 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2023-11-23 22:37:08,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2023-11-23 22:37:09,248 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2