./Ultimate.py --spec ../sv-benchmarks/c/properties/termination.prp --file ../sv-benchmarks/c/termination-numeric/Binomial.c --full-output --architecture 64bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version 551b0097 Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerTermination.xml -i ../sv-benchmarks/c/termination-numeric/Binomial.c -s /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-64bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(F end) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 64bit --witnessprinter.graph.data.programhash c204b56aba09d3ce87e17edffdff1d33aa0b4dc87a1e1140339548dffa982588 --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-10 07:01:36,984 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-10 07:01:37,038 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-64bit-Automizer_Default.epf [2025-01-10 07:01:37,044 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-10 07:01:37,045 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-10 07:01:37,071 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-10 07:01:37,072 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-10 07:01:37,072 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-10 07:01:37,072 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-01-10 07:01:37,076 INFO L153 SettingsManager]: * Use memory slicer=true [2025-01-10 07:01:37,077 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-10 07:01:37,077 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-10 07:01:37,077 INFO L153 SettingsManager]: * Use SBE=true [2025-01-10 07:01:37,077 INFO L151 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2025-01-10 07:01:37,077 INFO L153 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2025-01-10 07:01:37,077 INFO L153 SettingsManager]: * Use old map elimination=false [2025-01-10 07:01:37,077 INFO L153 SettingsManager]: * Use external solver (rank synthesis)=false [2025-01-10 07:01:37,077 INFO L153 SettingsManager]: * Use only trivial implications for array writes=true [2025-01-10 07:01:37,077 INFO L153 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2025-01-10 07:01:37,077 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-10 07:01:37,077 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2025-01-10 07:01:37,077 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-01-10 07:01:37,077 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-10 07:01:37,077 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2025-01-10 07:01:37,077 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2025-01-10 07:01:37,077 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2025-01-10 07:01:37,078 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2025-01-10 07:01:37,078 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-10 07:01:37,078 INFO L153 SettingsManager]: * Assume nondeterminstic values are in range=false [2025-01-10 07:01:37,078 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-10 07:01:37,078 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-10 07:01:37,078 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-10 07:01:37,078 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-10 07:01:37,078 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-10 07:01:37,078 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-01-10 07:01:37,078 INFO L151 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2025-01-10 07:01:37,078 INFO L153 SettingsManager]: * TransformationType=MODULO_NEIGHBOR Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(F end) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 64bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> c204b56aba09d3ce87e17edffdff1d33aa0b4dc87a1e1140339548dffa982588 [2025-01-10 07:01:37,290 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-10 07:01:37,295 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-10 07:01:37,297 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-10 07:01:37,298 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-10 07:01:37,298 INFO L274 PluginConnector]: CDTParser initialized [2025-01-10 07:01:37,299 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/termination-numeric/Binomial.c [2025-01-10 07:01:38,748 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/21868b50b/7e9607add5f040caa2d16b55a1a7e070/FLAG188338444 [2025-01-10 07:01:38,969 INFO L384 CDTParser]: Found 1 translation units. [2025-01-10 07:01:38,970 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/termination-numeric/Binomial.c [2025-01-10 07:01:38,979 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/21868b50b/7e9607add5f040caa2d16b55a1a7e070/FLAG188338444 [2025-01-10 07:01:39,029 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/21868b50b/7e9607add5f040caa2d16b55a1a7e070 [2025-01-10 07:01:39,031 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-10 07:01:39,036 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-10 07:01:39,037 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-10 07:01:39,037 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-10 07:01:39,045 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-10 07:01:39,046 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.01 07:01:39" (1/1) ... [2025-01-10 07:01:39,047 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@b7b2846 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:01:39, skipping insertion in model container [2025-01-10 07:01:39,047 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.01 07:01:39" (1/1) ... [2025-01-10 07:01:39,057 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-10 07:01:39,144 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-10 07:01:39,147 INFO L200 MainTranslator]: Completed pre-run [2025-01-10 07:01:39,156 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-10 07:01:39,166 INFO L204 MainTranslator]: Completed translation [2025-01-10 07:01:39,168 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:01:39 WrapperNode [2025-01-10 07:01:39,168 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-10 07:01:39,168 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-10 07:01:39,169 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-10 07:01:39,169 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-10 07:01:39,172 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:01:39" (1/1) ... [2025-01-10 07:01:39,175 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:01:39" (1/1) ... [2025-01-10 07:01:39,188 INFO L138 Inliner]: procedures = 6, calls = 8, calls flagged for inlining = 4, calls inlined = 4, statements flattened = 58 [2025-01-10 07:01:39,189 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-10 07:01:39,190 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-10 07:01:39,190 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-10 07:01:39,190 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-10 07:01:39,195 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:01:39" (1/1) ... [2025-01-10 07:01:39,196 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:01:39" (1/1) ... [2025-01-10 07:01:39,196 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:01:39" (1/1) ... [2025-01-10 07:01:39,203 INFO L175 MemorySlicer]: No memory access in input program. [2025-01-10 07:01:39,203 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:01:39" (1/1) ... [2025-01-10 07:01:39,204 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:01:39" (1/1) ... [2025-01-10 07:01:39,205 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:01:39" (1/1) ... [2025-01-10 07:01:39,206 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:01:39" (1/1) ... [2025-01-10 07:01:39,208 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:01:39" (1/1) ... [2025-01-10 07:01:39,211 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:01:39" (1/1) ... [2025-01-10 07:01:39,212 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:01:39" (1/1) ... [2025-01-10 07:01:39,212 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-10 07:01:39,213 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-10 07:01:39,214 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-10 07:01:39,214 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-10 07:01:39,215 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:01:39" (1/1) ... [2025-01-10 07:01:39,218 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:39,227 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:39,241 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:39,246 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2025-01-10 07:01:39,267 INFO L130 BoogieDeclarations]: Found specification of procedure fact [2025-01-10 07:01:39,267 INFO L138 BoogieDeclarations]: Found implementation of procedure fact [2025-01-10 07:01:39,268 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-10 07:01:39,268 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-10 07:01:39,314 INFO L234 CfgBuilder]: Building ICFG [2025-01-10 07:01:39,316 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-10 07:01:39,418 INFO L? ?]: Removed 16 outVars from TransFormulas that were not future-live. [2025-01-10 07:01:39,418 INFO L283 CfgBuilder]: Performing block encoding [2025-01-10 07:01:39,423 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-10 07:01:39,423 INFO L312 CfgBuilder]: Removed 0 assume(true) statements. [2025-01-10 07:01:39,424 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.01 07:01:39 BoogieIcfgContainer [2025-01-10 07:01:39,424 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-10 07:01:39,424 INFO L112 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2025-01-10 07:01:39,424 INFO L270 PluginConnector]: Initializing BuchiAutomizer... [2025-01-10 07:01:39,428 INFO L274 PluginConnector]: BuchiAutomizer initialized [2025-01-10 07:01:39,428 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-01-10 07:01:39,428 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 10.01 07:01:39" (1/3) ... [2025-01-10 07:01:39,429 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@1a61bd14 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 10.01 07:01:39, skipping insertion in model container [2025-01-10 07:01:39,429 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-01-10 07:01:39,429 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.01 07:01:39" (2/3) ... [2025-01-10 07:01:39,429 INFO L204 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@1a61bd14 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 10.01 07:01:39, skipping insertion in model container [2025-01-10 07:01:39,430 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2025-01-10 07:01:39,430 INFO L184 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.01 07:01:39" (3/3) ... [2025-01-10 07:01:39,430 INFO L363 chiAutomizerObserver]: Analyzing ICFG Binomial.c [2025-01-10 07:01:39,461 INFO L306 stractBuchiCegarLoop]: Interprodecural is true [2025-01-10 07:01:39,462 INFO L307 stractBuchiCegarLoop]: Hoare is None [2025-01-10 07:01:39,462 INFO L308 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2025-01-10 07:01:39,462 INFO L309 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2025-01-10 07:01:39,462 INFO L310 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2025-01-10 07:01:39,462 INFO L311 stractBuchiCegarLoop]: Difference is false [2025-01-10 07:01:39,462 INFO L312 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2025-01-10 07:01:39,462 INFO L316 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2025-01-10 07:01:39,465 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 27 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 18 states have internal predecessors, (24), 7 states have call successors, (7), 1 states have call predecessors, (7), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2025-01-10 07:01:39,476 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 17 [2025-01-10 07:01:39,477 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:01:39,477 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:01:39,479 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2025-01-10 07:01:39,480 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-01-10 07:01:39,480 INFO L338 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2025-01-10 07:01:39,480 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 27 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 18 states have internal predecessors, (24), 7 states have call successors, (7), 1 states have call predecessors, (7), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2025-01-10 07:01:39,481 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 17 [2025-01-10 07:01:39,481 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:01:39,482 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:01:39,482 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2025-01-10 07:01:39,482 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1] [2025-01-10 07:01:39,486 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" [2025-01-10 07:01:39,486 INFO L754 eck$LassoCheckResult]: Loop: "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" [2025-01-10 07:01:39,489 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:39,489 INFO L85 PathProgramCache]: Analyzing trace with hash 1171944, now seen corresponding path program 1 times [2025-01-10 07:01:39,494 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:39,494 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [906523994] [2025-01-10 07:01:39,494 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:39,495 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:39,532 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:01:39,537 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:01:39,538 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:39,538 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:39,538 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:01:39,540 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:01:39,541 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:01:39,541 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:39,541 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:39,550 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:01:39,552 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:39,552 INFO L85 PathProgramCache]: Analyzing trace with hash 1754, now seen corresponding path program 1 times [2025-01-10 07:01:39,552 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:39,553 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1708664528] [2025-01-10 07:01:39,553 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:39,553 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:39,555 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:01:39,559 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:01:39,559 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:39,559 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:39,559 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:01:39,560 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:01:39,561 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:01:39,561 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:39,561 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:39,562 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:01:39,563 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:39,563 INFO L85 PathProgramCache]: Analyzing trace with hash 1126238977, now seen corresponding path program 1 times [2025-01-10 07:01:39,563 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:39,563 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1319409176] [2025-01-10 07:01:39,563 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:39,564 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:39,566 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 6 statements into 1 equivalence classes. [2025-01-10 07:01:39,569 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 6 of 6 statements. [2025-01-10 07:01:39,569 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:39,569 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:39,616 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:01:39,617 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:01:39,617 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1319409176] [2025-01-10 07:01:39,617 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1319409176] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:01:39,617 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:01:39,617 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-01-10 07:01:39,618 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [410730439] [2025-01-10 07:01:39,618 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:01:39,656 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:01:39,656 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:01:39,656 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:01:39,656 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:01:39,656 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-01-10 07:01:39,657 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:39,657 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:01:39,657 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:01:39,657 INFO L132 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration1_Loop [2025-01-10 07:01:39,657 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:01:39,657 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:01:39,665 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:39,670 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:39,673 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:39,709 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:01:39,709 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-01-10 07:01:39,710 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:39,710 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:39,713 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:39,714 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Waiting until timeout for monitored process [2025-01-10 07:01:39,715 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:39,715 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:39,729 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:01:39,729 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_~k~0#1=0} Honda state: {ULTIMATE.start_main_~k~0#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:01:39,735 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Ended with exit code 0 [2025-01-10 07:01:39,736 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:39,736 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:39,738 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:39,738 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Waiting until timeout for monitored process [2025-01-10 07:01:39,741 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:39,741 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:39,752 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:01:39,752 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_#t~post10#1=0} Honda state: {ULTIMATE.start_main_#t~post10#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:01:39,758 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:39,758 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:39,759 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:39,760 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:39,762 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Waiting until timeout for monitored process [2025-01-10 07:01:39,763 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:39,763 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:39,781 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:39,781 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:39,781 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:39,784 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:39,784 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Waiting until timeout for monitored process [2025-01-10 07:01:39,786 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-01-10 07:01:39,786 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:39,847 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-01-10 07:01:39,852 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Ended with exit code 0 [2025-01-10 07:01:39,852 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:01:39,852 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:01:39,852 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:01:39,852 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:01:39,852 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-01-10 07:01:39,852 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:39,852 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:01:39,852 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:01:39,853 INFO L132 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration1_Loop [2025-01-10 07:01:39,853 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:01:39,853 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:01:39,853 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:39,857 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:39,859 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:39,886 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:01:39,889 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-01-10 07:01:39,889 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:39,889 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:39,891 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:39,893 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Waiting until timeout for monitored process [2025-01-10 07:01:39,894 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:39,905 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:39,905 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:39,906 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:39,906 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:39,906 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:39,909 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:39,909 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:39,910 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:01:39,916 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:39,917 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:39,917 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:39,919 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:39,920 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Waiting until timeout for monitored process [2025-01-10 07:01:39,922 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:39,931 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:39,932 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:39,932 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:39,932 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:39,932 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:39,932 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:39,933 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:39,934 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:01:39,940 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:39,940 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:39,941 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:39,942 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:39,944 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Waiting until timeout for monitored process [2025-01-10 07:01:39,945 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:39,955 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:39,955 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:39,955 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:39,955 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:39,955 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:39,956 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:39,956 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:39,959 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-01-10 07:01:39,964 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2025-01-10 07:01:39,966 INFO L444 ModelExtractionUtils]: 0 out of 4 variables were initially zero. Simplification set additionally 2 variables to zero. [2025-01-10 07:01:39,967 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:39,967 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:39,972 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:39,980 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Waiting until timeout for monitored process [2025-01-10 07:01:39,980 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-01-10 07:01:39,981 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-01-10 07:01:39,981 INFO L474 LassoAnalysis]: Proved termination. [2025-01-10 07:01:39,981 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~n~0#1) = -1*ULTIMATE.start_main_~n~0#1 Supporting invariants [] [2025-01-10 07:01:39,987 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (8)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:39,990 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-01-10 07:01:40,010 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:40,016 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:01:40,018 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:01:40,018 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:40,018 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:40,019 INFO L256 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-01-10 07:01:40,020 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:40,030 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 2 statements into 1 equivalence classes. [2025-01-10 07:01:40,031 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 2 of 2 statements. [2025-01-10 07:01:40,032 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:40,032 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:40,032 WARN L254 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-01-10 07:01:40,032 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:40,057 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:01:40,074 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 2 loop predicates [2025-01-10 07:01:40,075 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand has 27 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 18 states have internal predecessors, (24), 7 states have call successors, (7), 1 states have call predecessors, (7), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand has 3 states, 3 states have (on average 2.0) internal successors, (6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:01:40,122 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand has 27 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 18 states have internal predecessors, (24), 7 states have call successors, (7), 1 states have call predecessors, (7), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7). Second operand has 3 states, 3 states have (on average 2.0) internal successors, (6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 41 states and 58 transitions. Complement of second has 5 states. [2025-01-10 07:01:40,124 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 3 states 1 stem states 1 non-accepting loop states 1 accepting loop states [2025-01-10 07:01:40,126 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.0) internal successors, (6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:01:40,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 13 transitions. [2025-01-10 07:01:40,130 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 13 transitions. Stem has 4 letters. Loop has 2 letters. [2025-01-10 07:01:40,131 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:01:40,131 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 13 transitions. Stem has 6 letters. Loop has 2 letters. [2025-01-10 07:01:40,131 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:01:40,131 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 3 states and 13 transitions. Stem has 4 letters. Loop has 4 letters. [2025-01-10 07:01:40,131 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:01:40,132 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 41 states and 58 transitions. [2025-01-10 07:01:40,134 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 17 [2025-01-10 07:01:40,137 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 41 states to 31 states and 45 transitions. [2025-01-10 07:01:40,138 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 28 [2025-01-10 07:01:40,138 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 29 [2025-01-10 07:01:40,139 INFO L73 IsDeterministic]: Start isDeterministic. Operand 31 states and 45 transitions. [2025-01-10 07:01:40,139 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:01:40,139 INFO L218 hiAutomatonCegarLoop]: Abstraction has 31 states and 45 transitions. [2025-01-10 07:01:40,147 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states and 45 transitions. [2025-01-10 07:01:40,155 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 28. [2025-01-10 07:01:40,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 20 states have (on average 1.25) internal successors, (25), 19 states have internal predecessors, (25), 7 states have call successors, (7), 1 states have call predecessors, (7), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2025-01-10 07:01:40,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 39 transitions. [2025-01-10 07:01:40,157 INFO L240 hiAutomatonCegarLoop]: Abstraction has 28 states and 39 transitions. [2025-01-10 07:01:40,157 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:01:40,158 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-10 07:01:40,159 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-01-10 07:01:40,159 INFO L87 Difference]: Start difference. First operand 28 states and 39 transitions. Second operand has 4 states, 3 states have (on average 2.0) internal successors, (6), 4 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:01:40,231 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (9)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:40,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:01:40,234 INFO L93 Difference]: Finished difference Result 28 states and 37 transitions. [2025-01-10 07:01:40,234 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 28 states and 37 transitions. [2025-01-10 07:01:40,235 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 18 [2025-01-10 07:01:40,235 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 28 states to 27 states and 36 transitions. [2025-01-10 07:01:40,235 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 27 [2025-01-10 07:01:40,236 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 27 [2025-01-10 07:01:40,236 INFO L73 IsDeterministic]: Start isDeterministic. Operand 27 states and 36 transitions. [2025-01-10 07:01:40,236 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-01-10 07:01:40,236 INFO L218 hiAutomatonCegarLoop]: Abstraction has 27 states and 36 transitions. [2025-01-10 07:01:40,236 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states and 36 transitions. [2025-01-10 07:01:40,237 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 25. [2025-01-10 07:01:40,237 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 16 states have internal predecessors, (20), 7 states have call successors, (7), 1 states have call predecessors, (7), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2025-01-10 07:01:40,238 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 34 transitions. [2025-01-10 07:01:40,238 INFO L240 hiAutomatonCegarLoop]: Abstraction has 25 states and 34 transitions. [2025-01-10 07:01:40,238 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-01-10 07:01:40,239 INFO L432 stractBuchiCegarLoop]: Abstraction has 25 states and 34 transitions. [2025-01-10 07:01:40,239 INFO L338 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2025-01-10 07:01:40,239 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 25 states and 34 transitions. [2025-01-10 07:01:40,240 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 18 [2025-01-10 07:01:40,240 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:01:40,240 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:01:40,241 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2025-01-10 07:01:40,241 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:01:40,241 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" [2025-01-10 07:01:40,241 INFO L754 eck$LassoCheckResult]: Loop: "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" [2025-01-10 07:01:40,242 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:40,242 INFO L85 PathProgramCache]: Analyzing trace with hash 1171944, now seen corresponding path program 2 times [2025-01-10 07:01:40,242 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:40,242 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1253033977] [2025-01-10 07:01:40,242 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:01:40,242 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:40,245 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:01:40,246 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:01:40,246 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-10 07:01:40,246 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:40,246 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:01:40,247 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:01:40,248 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:01:40,248 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:40,248 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:40,249 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:01:40,249 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:40,249 INFO L85 PathProgramCache]: Analyzing trace with hash -1143588927, now seen corresponding path program 1 times [2025-01-10 07:01:40,249 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:40,249 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [425798899] [2025-01-10 07:01:40,250 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:40,250 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:40,254 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-01-10 07:01:40,265 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-01-10 07:01:40,265 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:40,265 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:40,367 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 7 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2025-01-10 07:01:40,367 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:01:40,367 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [425798899] [2025-01-10 07:01:40,367 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [425798899] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:01:40,367 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:01:40,367 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-01-10 07:01:40,367 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1044688290] [2025-01-10 07:01:40,368 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:01:40,368 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-01-10 07:01:40,368 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:01:40,368 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-01-10 07:01:40,368 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2025-01-10 07:01:40,369 INFO L87 Difference]: Start difference. First operand 25 states and 34 transitions. cyclomatic complexity: 11 Second operand has 5 states, 4 states have (on average 3.25) internal successors, (13), 5 states have internal predecessors, (13), 1 states have call successors, (3), 1 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2025-01-10 07:01:40,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:01:40,418 INFO L93 Difference]: Finished difference Result 27 states and 41 transitions. [2025-01-10 07:01:40,418 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 27 states and 41 transitions. [2025-01-10 07:01:40,419 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 18 [2025-01-10 07:01:40,420 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 27 states to 27 states and 41 transitions. [2025-01-10 07:01:40,420 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 27 [2025-01-10 07:01:40,420 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 27 [2025-01-10 07:01:40,420 INFO L73 IsDeterministic]: Start isDeterministic. Operand 27 states and 41 transitions. [2025-01-10 07:01:40,421 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-01-10 07:01:40,421 INFO L218 hiAutomatonCegarLoop]: Abstraction has 27 states and 41 transitions. [2025-01-10 07:01:40,421 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states and 41 transitions. [2025-01-10 07:01:40,422 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2025-01-10 07:01:40,422 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 18 states have internal predecessors, (21), 7 states have call successors, (7), 1 states have call predecessors, (7), 2 states have return successors, (13), 7 states have call predecessors, (13), 7 states have call successors, (13) [2025-01-10 07:01:40,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 41 transitions. [2025-01-10 07:01:40,423 INFO L240 hiAutomatonCegarLoop]: Abstraction has 27 states and 41 transitions. [2025-01-10 07:01:40,423 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-01-10 07:01:40,424 INFO L432 stractBuchiCegarLoop]: Abstraction has 27 states and 41 transitions. [2025-01-10 07:01:40,424 INFO L338 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2025-01-10 07:01:40,424 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 27 states and 41 transitions. [2025-01-10 07:01:40,424 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 18 [2025-01-10 07:01:40,424 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:01:40,424 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:01:40,425 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2025-01-10 07:01:40,425 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [6, 6, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:01:40,425 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" [2025-01-10 07:01:40,425 INFO L754 eck$LassoCheckResult]: Loop: "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" [2025-01-10 07:01:40,426 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:40,426 INFO L85 PathProgramCache]: Analyzing trace with hash 1171944, now seen corresponding path program 3 times [2025-01-10 07:01:40,426 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:40,426 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1233036770] [2025-01-10 07:01:40,426 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:01:40,426 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:40,429 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:01:40,430 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:01:40,430 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-01-10 07:01:40,430 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:40,430 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:01:40,431 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:01:40,431 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:01:40,431 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:40,431 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:40,432 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:01:40,432 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:40,432 INFO L85 PathProgramCache]: Analyzing trace with hash -318720995, now seen corresponding path program 1 times [2025-01-10 07:01:40,432 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:40,432 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [166014731] [2025-01-10 07:01:40,432 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:40,433 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:40,437 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 40 statements into 1 equivalence classes. [2025-01-10 07:01:40,445 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 40 of 40 statements. [2025-01-10 07:01:40,446 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:40,446 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:40,523 INFO L134 CoverageAnalysis]: Checked inductivity of 67 backedges. 3 proven. 17 refuted. 0 times theorem prover too weak. 47 trivial. 0 not checked. [2025-01-10 07:01:40,523 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:01:40,523 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [166014731] [2025-01-10 07:01:40,523 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [166014731] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:01:40,523 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [254630349] [2025-01-10 07:01:40,524 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:40,524 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:01:40,524 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:40,526 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:01:40,527 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2025-01-10 07:01:40,553 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 40 statements into 1 equivalence classes. [2025-01-10 07:01:40,566 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 40 of 40 statements. [2025-01-10 07:01:40,566 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:40,566 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:40,567 INFO L256 TraceCheckSpWp]: Trace formula consists of 96 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-01-10 07:01:40,568 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:40,592 INFO L134 CoverageAnalysis]: Checked inductivity of 67 backedges. 39 proven. 1 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2025-01-10 07:01:40,592 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:01:40,663 INFO L134 CoverageAnalysis]: Checked inductivity of 67 backedges. 3 proven. 17 refuted. 0 times theorem prover too weak. 47 trivial. 0 not checked. [2025-01-10 07:01:40,663 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [254630349] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:01:40,663 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:01:40,663 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 7 [2025-01-10 07:01:40,663 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [18892575] [2025-01-10 07:01:40,664 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:01:40,664 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-01-10 07:01:40,664 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:01:40,664 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2025-01-10 07:01:40,664 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2025-01-10 07:01:40,664 INFO L87 Difference]: Start difference. First operand 27 states and 41 transitions. cyclomatic complexity: 16 Second operand has 7 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 7 states have internal predecessors, (23), 4 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (8), 3 states have call predecessors, (8), 4 states have call successors, (8) [2025-01-10 07:01:40,744 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:01:40,744 INFO L93 Difference]: Finished difference Result 39 states and 64 transitions. [2025-01-10 07:01:40,744 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 39 states and 64 transitions. [2025-01-10 07:01:40,745 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 30 [2025-01-10 07:01:40,746 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 39 states to 39 states and 64 transitions. [2025-01-10 07:01:40,746 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 39 [2025-01-10 07:01:40,747 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 39 [2025-01-10 07:01:40,747 INFO L73 IsDeterministic]: Start isDeterministic. Operand 39 states and 64 transitions. [2025-01-10 07:01:40,747 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-01-10 07:01:40,747 INFO L218 hiAutomatonCegarLoop]: Abstraction has 39 states and 64 transitions. [2025-01-10 07:01:40,747 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states and 64 transitions. [2025-01-10 07:01:40,750 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 29. [2025-01-10 07:01:40,750 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 8 states have call successors, (8), 1 states have call predecessors, (8), 2 states have return successors, (14), 7 states have call predecessors, (14), 8 states have call successors, (14) [2025-01-10 07:01:40,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 45 transitions. [2025-01-10 07:01:40,750 INFO L240 hiAutomatonCegarLoop]: Abstraction has 29 states and 45 transitions. [2025-01-10 07:01:40,751 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2025-01-10 07:01:40,751 INFO L432 stractBuchiCegarLoop]: Abstraction has 29 states and 45 transitions. [2025-01-10 07:01:40,751 INFO L338 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2025-01-10 07:01:40,751 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 29 states and 45 transitions. [2025-01-10 07:01:40,752 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 20 [2025-01-10 07:01:40,752 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:01:40,752 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:01:40,752 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2025-01-10 07:01:40,752 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:01:40,752 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" [2025-01-10 07:01:40,753 INFO L754 eck$LassoCheckResult]: Loop: "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" [2025-01-10 07:01:40,753 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:40,753 INFO L85 PathProgramCache]: Analyzing trace with hash 1171944, now seen corresponding path program 4 times [2025-01-10 07:01:40,753 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:40,753 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1565806042] [2025-01-10 07:01:40,753 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:01:40,753 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:40,756 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 4 statements into 2 equivalence classes. [2025-01-10 07:01:40,757 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:01:40,757 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-01-10 07:01:40,757 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:40,757 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:01:40,758 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:01:40,758 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:01:40,758 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:40,758 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:40,759 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:01:40,759 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:40,759 INFO L85 PathProgramCache]: Analyzing trace with hash -719909283, now seen corresponding path program 2 times [2025-01-10 07:01:40,759 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:40,759 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1136604422] [2025-01-10 07:01:40,759 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:01:40,759 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:40,763 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 28 statements into 2 equivalence classes. [2025-01-10 07:01:40,775 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 28 of 28 statements. [2025-01-10 07:01:40,775 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:01:40,775 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-01-10 07:01:40,777 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1769138817] [2025-01-10 07:01:40,777 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:01:40,777 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:01:40,777 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:40,779 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:01:40,783 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2025-01-10 07:01:40,804 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 28 statements into 2 equivalence classes. [2025-01-10 07:01:40,816 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 28 of 28 statements. [2025-01-10 07:01:40,816 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:01:40,816 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:40,816 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:01:40,820 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 28 statements into 1 equivalence classes. [2025-01-10 07:01:40,826 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 28 of 28 statements. [2025-01-10 07:01:40,826 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:40,826 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:40,833 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:01:40,833 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:40,833 INFO L85 PathProgramCache]: Analyzing trace with hash -2137743420, now seen corresponding path program 1 times [2025-01-10 07:01:40,833 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:40,834 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2101791787] [2025-01-10 07:01:40,834 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:40,834 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:40,837 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 32 statements into 1 equivalence classes. [2025-01-10 07:01:40,839 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 32 of 32 statements. [2025-01-10 07:01:40,839 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:40,839 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:40,869 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2025-01-10 07:01:40,869 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:01:40,869 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2101791787] [2025-01-10 07:01:40,869 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2101791787] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:01:40,869 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:01:40,869 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-01-10 07:01:40,869 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1929048394] [2025-01-10 07:01:40,869 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:01:41,096 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:01:41,096 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:01:41,096 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:01:41,096 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:01:41,096 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-01-10 07:01:41,096 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:41,096 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:01:41,096 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:01:41,096 INFO L132 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration4_Loop [2025-01-10 07:01:41,096 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:01:41,096 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:01:41,097 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,099 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,100 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,102 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,104 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,105 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,109 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,111 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,113 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,114 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,116 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,117 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,120 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,160 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:01:41,160 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-01-10 07:01:41,160 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:41,160 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:41,163 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:41,169 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Waiting until timeout for monitored process [2025-01-10 07:01:41,169 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:41,169 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:41,184 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:01:41,184 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_~n#1=0} Honda state: {ULTIMATE.start_binomialCoefficient_~n#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:01:41,189 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:41,190 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:41,190 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:41,191 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:41,194 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Waiting until timeout for monitored process [2025-01-10 07:01:41,195 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:41,195 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:41,205 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:01:41,206 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_~k#1=0} Honda state: {ULTIMATE.start_binomialCoefficient_~k#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:01:41,211 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:41,212 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:41,212 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:41,214 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:41,215 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Waiting until timeout for monitored process [2025-01-10 07:01:41,216 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:41,216 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:41,226 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:01:41,227 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_#t~ret2#1=0} Honda state: {ULTIMATE.start_binomialCoefficient_#t~ret2#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:01:41,232 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Ended with exit code 0 [2025-01-10 07:01:41,233 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:41,233 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:41,234 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:41,237 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Waiting until timeout for monitored process [2025-01-10 07:01:41,238 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:41,238 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:41,255 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:01:41,255 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_#t~post10#1=0} Honda state: {ULTIMATE.start_main_#t~post10#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:01:41,260 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:41,261 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:41,261 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:41,262 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:41,264 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Waiting until timeout for monitored process [2025-01-10 07:01:41,265 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:41,265 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:41,276 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:01:41,277 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_#t~post9#1=0} Honda state: {ULTIMATE.start_main_#t~post9#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:01:41,282 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:41,283 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:41,284 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:41,285 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:41,287 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Waiting until timeout for monitored process [2025-01-10 07:01:41,288 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:41,288 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:41,310 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:41,310 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:41,310 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:41,313 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:41,313 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Waiting until timeout for monitored process [2025-01-10 07:01:41,314 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-01-10 07:01:41,314 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:41,335 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-01-10 07:01:41,339 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:41,339 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:01:41,339 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:01:41,340 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:01:41,340 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:01:41,340 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-01-10 07:01:41,340 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:41,340 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:01:41,340 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:01:41,340 INFO L132 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration4_Loop [2025-01-10 07:01:41,340 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:01:41,340 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:01:41,340 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,343 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,344 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,346 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,348 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,349 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,353 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,355 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,357 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,358 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,360 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,361 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,363 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:41,402 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:01:41,402 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-01-10 07:01:41,402 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:41,402 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:41,405 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:41,406 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (19)] Waiting until timeout for monitored process [2025-01-10 07:01:41,407 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:41,417 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:41,417 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:41,417 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:41,417 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:41,417 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:41,418 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:41,418 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:41,419 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:01:41,425 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (19)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:41,425 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:41,425 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:41,427 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:41,429 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (20)] Waiting until timeout for monitored process [2025-01-10 07:01:41,430 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:41,440 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:41,440 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:41,440 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:41,441 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:41,441 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:41,442 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:41,442 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:41,443 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:01:41,449 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (20)] Ended with exit code 0 [2025-01-10 07:01:41,450 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:41,450 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:41,452 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:41,453 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (21)] Waiting until timeout for monitored process [2025-01-10 07:01:41,454 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:41,464 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:41,464 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:41,464 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:41,464 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:41,464 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:41,465 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:41,465 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:41,466 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:01:41,472 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (21)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:41,472 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:41,472 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:41,474 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:41,475 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (22)] Waiting until timeout for monitored process [2025-01-10 07:01:41,477 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:41,486 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:41,487 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:41,487 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:41,487 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:41,487 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:41,487 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:41,487 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:41,488 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:01:41,495 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (22)] Ended with exit code 0 [2025-01-10 07:01:41,495 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:41,495 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:41,497 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:41,498 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (23)] Waiting until timeout for monitored process [2025-01-10 07:01:41,499 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:41,509 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:41,509 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:41,509 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:41,509 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:41,509 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:41,510 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:41,510 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:41,511 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:01:41,517 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (23)] Ended with exit code 0 [2025-01-10 07:01:41,517 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:41,517 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:41,521 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:41,522 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Waiting until timeout for monitored process [2025-01-10 07:01:41,522 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:41,532 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:41,532 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:41,533 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:41,533 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:41,533 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:41,534 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:41,534 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:41,536 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-01-10 07:01:41,538 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-01-10 07:01:41,538 INFO L444 ModelExtractionUtils]: 0 out of 3 variables were initially zero. Simplification set additionally 1 variables to zero. [2025-01-10 07:01:41,538 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:41,539 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:41,540 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:41,542 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (25)] Waiting until timeout for monitored process [2025-01-10 07:01:41,543 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-01-10 07:01:41,543 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-01-10 07:01:41,543 INFO L474 LassoAnalysis]: Proved termination. [2025-01-10 07:01:41,543 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~n~0#1) = -1*ULTIMATE.start_main_~n~0#1 Supporting invariants [] [2025-01-10 07:01:41,549 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Ended with exit code 0 [2025-01-10 07:01:41,550 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-01-10 07:01:41,560 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:41,563 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:01:41,564 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:01:41,564 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:41,564 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:41,564 INFO L256 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-01-10 07:01:41,564 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:41,580 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 28 statements into 1 equivalence classes. [2025-01-10 07:01:41,597 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 28 of 28 statements. [2025-01-10 07:01:41,597 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:41,597 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:41,599 INFO L256 TraceCheckSpWp]: Trace formula consists of 184 conjuncts, 13 conjuncts are in the unsatisfiable core [2025-01-10 07:01:41,601 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:41,680 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2025-01-10 07:01:41,681 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 4 loop predicates [2025-01-10 07:01:41,681 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 29 states and 45 transitions. cyclomatic complexity: 18 Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 5 states have internal predecessors, (16), 2 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2025-01-10 07:01:41,802 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (25)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:41,846 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 29 states and 45 transitions. cyclomatic complexity: 18. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 5 states have internal predecessors, (16), 2 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Result 169 states and 254 transitions. Complement of second has 20 states. [2025-01-10 07:01:41,846 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 7 states 1 stem states 5 non-accepting loop states 1 accepting loop states [2025-01-10 07:01:41,847 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 5 states have internal predecessors, (16), 2 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2025-01-10 07:01:41,848 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 76 transitions. [2025-01-10 07:01:41,848 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 7 states and 76 transitions. Stem has 4 letters. Loop has 28 letters. [2025-01-10 07:01:41,848 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:01:41,848 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 7 states and 76 transitions. Stem has 32 letters. Loop has 28 letters. [2025-01-10 07:01:41,849 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:01:41,849 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 7 states and 76 transitions. Stem has 4 letters. Loop has 56 letters. [2025-01-10 07:01:41,849 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:01:41,849 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 169 states and 254 transitions. [2025-01-10 07:01:41,852 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 39 [2025-01-10 07:01:41,855 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 169 states to 169 states and 254 transitions. [2025-01-10 07:01:41,855 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 86 [2025-01-10 07:01:41,856 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 87 [2025-01-10 07:01:41,856 INFO L73 IsDeterministic]: Start isDeterministic. Operand 169 states and 254 transitions. [2025-01-10 07:01:41,856 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:01:41,856 INFO L218 hiAutomatonCegarLoop]: Abstraction has 169 states and 254 transitions. [2025-01-10 07:01:41,856 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 169 states and 254 transitions. [2025-01-10 07:01:41,864 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 169 to 148. [2025-01-10 07:01:41,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 148 states, 86 states have (on average 1.244186046511628) internal successors, (107), 95 states have internal predecessors, (107), 46 states have call successors, (46), 10 states have call predecessors, (46), 16 states have return successors, (68), 42 states have call predecessors, (68), 46 states have call successors, (68) [2025-01-10 07:01:41,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 148 states to 148 states and 221 transitions. [2025-01-10 07:01:41,866 INFO L240 hiAutomatonCegarLoop]: Abstraction has 148 states and 221 transitions. [2025-01-10 07:01:41,867 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:01:41,867 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2025-01-10 07:01:41,867 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2025-01-10 07:01:41,867 INFO L87 Difference]: Start difference. First operand 148 states and 221 transitions. Second operand has 4 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2025-01-10 07:01:41,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:01:41,907 INFO L93 Difference]: Finished difference Result 85 states and 122 transitions. [2025-01-10 07:01:41,907 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 85 states and 122 transitions. [2025-01-10 07:01:41,908 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 23 [2025-01-10 07:01:41,909 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 85 states to 45 states and 63 transitions. [2025-01-10 07:01:41,909 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 45 [2025-01-10 07:01:41,909 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 45 [2025-01-10 07:01:41,909 INFO L73 IsDeterministic]: Start isDeterministic. Operand 45 states and 63 transitions. [2025-01-10 07:01:41,914 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2025-01-10 07:01:41,914 INFO L218 hiAutomatonCegarLoop]: Abstraction has 45 states and 63 transitions. [2025-01-10 07:01:41,914 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states and 63 transitions. [2025-01-10 07:01:41,919 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 43. [2025-01-10 07:01:41,919 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 27 states have (on average 1.1851851851851851) internal successors, (32), 28 states have internal predecessors, (32), 12 states have call successors, (12), 3 states have call predecessors, (12), 4 states have return successors, (17), 11 states have call predecessors, (17), 12 states have call successors, (17) [2025-01-10 07:01:41,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 61 transitions. [2025-01-10 07:01:41,920 INFO L240 hiAutomatonCegarLoop]: Abstraction has 43 states and 61 transitions. [2025-01-10 07:01:41,920 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2025-01-10 07:01:41,921 INFO L432 stractBuchiCegarLoop]: Abstraction has 43 states and 61 transitions. [2025-01-10 07:01:41,921 INFO L338 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2025-01-10 07:01:41,921 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 43 states and 61 transitions. [2025-01-10 07:01:41,921 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 22 [2025-01-10 07:01:41,923 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:01:41,923 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:01:41,924 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2025-01-10 07:01:41,924 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:01:41,924 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" [2025-01-10 07:01:41,924 INFO L754 eck$LassoCheckResult]: Loop: "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" [2025-01-10 07:01:41,924 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:41,925 INFO L85 PathProgramCache]: Analyzing trace with hash 1171944, now seen corresponding path program 5 times [2025-01-10 07:01:41,925 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:41,925 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [865666677] [2025-01-10 07:01:41,925 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:01:41,925 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:41,927 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:01:41,930 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:01:41,930 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-10 07:01:41,931 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:41,931 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:01:41,931 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:01:41,936 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:01:41,936 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:41,936 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:41,936 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:01:41,937 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:41,937 INFO L85 PathProgramCache]: Analyzing trace with hash 314995773, now seen corresponding path program 1 times [2025-01-10 07:01:41,937 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:41,937 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [185915222] [2025-01-10 07:01:41,937 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:41,937 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:41,942 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-01-10 07:01:41,950 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-01-10 07:01:41,954 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:41,954 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-01-10 07:01:41,955 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2017896541] [2025-01-10 07:01:41,955 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:41,955 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:01:41,955 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:41,961 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:01:41,962 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2025-01-10 07:01:41,986 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-01-10 07:01:41,994 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-01-10 07:01:41,994 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:41,995 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:41,995 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:01:41,999 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-01-10 07:01:42,004 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-01-10 07:01:42,004 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:42,004 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:42,017 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:01:42,019 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:42,019 INFO L85 PathProgramCache]: Analyzing trace with hash -896868636, now seen corresponding path program 1 times [2025-01-10 07:01:42,019 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:42,019 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1980878194] [2025-01-10 07:01:42,019 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:42,019 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:42,022 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 26 statements into 1 equivalence classes. [2025-01-10 07:01:42,036 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 26 of 26 statements. [2025-01-10 07:01:42,036 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:42,036 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-01-10 07:01:42,037 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1177665067] [2025-01-10 07:01:42,037 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:42,037 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:01:42,037 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:42,039 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:01:42,040 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2025-01-10 07:01:42,062 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 26 statements into 1 equivalence classes. [2025-01-10 07:01:42,069 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 26 of 26 statements. [2025-01-10 07:01:42,069 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:42,069 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:42,069 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:01:42,074 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 26 statements into 1 equivalence classes. [2025-01-10 07:01:42,079 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 26 of 26 statements. [2025-01-10 07:01:42,080 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:42,080 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:42,090 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:01:42,261 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:01:42,261 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:01:42,261 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:01:42,261 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:01:42,261 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-01-10 07:01:42,261 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:42,261 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:01:42,261 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:01:42,261 INFO L132 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration5_Loop [2025-01-10 07:01:42,261 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:01:42,261 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:01:42,262 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,266 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,267 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,269 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,271 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,272 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,273 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,275 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,276 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,278 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,280 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,283 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,285 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,326 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:01:42,328 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-01-10 07:01:42,329 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:42,329 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:42,336 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:42,337 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (28)] Waiting until timeout for monitored process [2025-01-10 07:01:42,337 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:42,337 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:42,354 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (28)] Ended with exit code 0 [2025-01-10 07:01:42,354 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:42,354 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:42,356 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:42,357 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (29)] Waiting until timeout for monitored process [2025-01-10 07:01:42,358 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-01-10 07:01:42,358 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:42,369 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-01-10 07:01:42,376 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (29)] Ended with exit code 0 [2025-01-10 07:01:42,377 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:01:42,377 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:01:42,377 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:01:42,377 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:01:42,377 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-01-10 07:01:42,377 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:42,377 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:01:42,377 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:01:42,377 INFO L132 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration5_Loop [2025-01-10 07:01:42,377 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:01:42,377 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:01:42,378 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,383 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,384 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,386 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,390 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,391 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,393 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,394 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,395 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,396 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,398 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,399 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,404 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:42,440 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:01:42,440 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-01-10 07:01:42,440 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:42,440 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:42,443 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:42,444 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (30)] Waiting until timeout for monitored process [2025-01-10 07:01:42,445 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:42,455 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:42,455 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:42,455 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:42,455 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:42,455 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:42,456 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:42,456 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:42,460 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-01-10 07:01:42,462 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-01-10 07:01:42,462 INFO L444 ModelExtractionUtils]: 0 out of 3 variables were initially zero. Simplification set additionally 0 variables to zero. [2025-01-10 07:01:42,462 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:42,462 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:42,466 INFO L229 MonitoredProcess]: Starting monitored process 31 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:42,467 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (31)] Waiting until timeout for monitored process [2025-01-10 07:01:42,468 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-01-10 07:01:42,468 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-01-10 07:01:42,468 INFO L474 LassoAnalysis]: Proved termination. [2025-01-10 07:01:42,468 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~n~0#1) = -2*ULTIMATE.start_main_~n~0#1 + 1 Supporting invariants [] [2025-01-10 07:01:42,474 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (30)] Ended with exit code 0 [2025-01-10 07:01:42,479 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-01-10 07:01:42,495 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:42,498 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-01-10 07:01:42,499 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-01-10 07:01:42,499 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:42,499 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:42,499 INFO L256 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 2 conjuncts are in the unsatisfiable core [2025-01-10 07:01:42,499 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:42,514 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 22 statements into 1 equivalence classes. [2025-01-10 07:01:42,526 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 22 of 22 statements. [2025-01-10 07:01:42,526 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:42,526 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:42,527 INFO L256 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 14 conjuncts are in the unsatisfiable core [2025-01-10 07:01:42,528 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:42,619 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 1 proven. 6 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2025-01-10 07:01:42,619 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 6 loop predicates [2025-01-10 07:01:42,620 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 43 states and 61 transitions. cyclomatic complexity: 20 Second operand has 8 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 8 states have internal predecessors, (17), 2 states have call successors, (3), 1 states have call predecessors, (3), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2025-01-10 07:01:42,659 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (31)] Ended with exit code 0 [2025-01-10 07:01:42,822 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 43 states and 61 transitions. cyclomatic complexity: 20. Second operand has 8 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 8 states have internal predecessors, (17), 2 states have call successors, (3), 1 states have call predecessors, (3), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Result 155 states and 238 transitions. Complement of second has 28 states. [2025-01-10 07:01:42,823 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 9 states 1 stem states 7 non-accepting loop states 1 accepting loop states [2025-01-10 07:01:42,823 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.4285714285714284) internal successors, (17), 8 states have internal predecessors, (17), 2 states have call successors, (3), 1 states have call predecessors, (3), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2025-01-10 07:01:42,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 67 transitions. [2025-01-10 07:01:42,824 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 67 transitions. Stem has 4 letters. Loop has 22 letters. [2025-01-10 07:01:42,824 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:01:42,824 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 67 transitions. Stem has 26 letters. Loop has 22 letters. [2025-01-10 07:01:42,824 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:01:42,824 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 67 transitions. Stem has 4 letters. Loop has 44 letters. [2025-01-10 07:01:42,824 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:01:42,825 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 155 states and 238 transitions. [2025-01-10 07:01:42,830 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 35 [2025-01-10 07:01:42,833 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 155 states to 155 states and 238 transitions. [2025-01-10 07:01:42,836 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 79 [2025-01-10 07:01:42,836 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 80 [2025-01-10 07:01:42,836 INFO L73 IsDeterministic]: Start isDeterministic. Operand 155 states and 238 transitions. [2025-01-10 07:01:42,837 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:01:42,839 INFO L218 hiAutomatonCegarLoop]: Abstraction has 155 states and 238 transitions. [2025-01-10 07:01:42,839 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 155 states and 238 transitions. [2025-01-10 07:01:42,850 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 155 to 146. [2025-01-10 07:01:42,852 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 146 states, 86 states have (on average 1.2209302325581395) internal successors, (105), 93 states have internal predecessors, (105), 44 states have call successors, (44), 10 states have call predecessors, (44), 16 states have return successors, (70), 42 states have call predecessors, (70), 44 states have call successors, (70) [2025-01-10 07:01:42,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 146 states to 146 states and 219 transitions. [2025-01-10 07:01:42,854 INFO L240 hiAutomatonCegarLoop]: Abstraction has 146 states and 219 transitions. [2025-01-10 07:01:42,854 INFO L432 stractBuchiCegarLoop]: Abstraction has 146 states and 219 transitions. [2025-01-10 07:01:42,854 INFO L338 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2025-01-10 07:01:42,854 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 146 states and 219 transitions. [2025-01-10 07:01:42,859 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 35 [2025-01-10 07:01:42,859 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:01:42,859 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:01:42,859 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1] [2025-01-10 07:01:42,859 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:01:42,859 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" [2025-01-10 07:01:42,859 INFO L754 eck$LassoCheckResult]: Loop: "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" [2025-01-10 07:01:42,860 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:42,860 INFO L85 PathProgramCache]: Analyzing trace with hash 36330288, now seen corresponding path program 1 times [2025-01-10 07:01:42,860 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:42,860 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1105671890] [2025-01-10 07:01:42,860 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:42,860 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:42,862 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5 statements into 1 equivalence classes. [2025-01-10 07:01:42,866 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-01-10 07:01:42,866 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:42,866 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:42,866 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:01:42,867 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5 statements into 1 equivalence classes. [2025-01-10 07:01:42,868 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-01-10 07:01:42,868 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:42,868 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:42,868 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:01:42,870 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:42,870 INFO L85 PathProgramCache]: Analyzing trace with hash 108229033, now seen corresponding path program 1 times [2025-01-10 07:01:42,870 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:42,870 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [485009566] [2025-01-10 07:01:42,871 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:42,871 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:42,877 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 28 statements into 1 equivalence classes. [2025-01-10 07:01:42,885 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 28 of 28 statements. [2025-01-10 07:01:42,885 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:42,885 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:42,950 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2025-01-10 07:01:42,951 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:01:42,951 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [485009566] [2025-01-10 07:01:42,951 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [485009566] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:01:42,951 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:01:42,951 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2025-01-10 07:01:42,951 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1692003958] [2025-01-10 07:01:42,951 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:01:42,951 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-01-10 07:01:42,952 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:01:42,952 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-01-10 07:01:42,952 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2025-01-10 07:01:42,952 INFO L87 Difference]: Start difference. First operand 146 states and 219 transitions. cyclomatic complexity: 78 Second operand has 5 states, 4 states have (on average 3.0) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2025-01-10 07:01:42,991 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:01:42,992 INFO L93 Difference]: Finished difference Result 185 states and 282 transitions. [2025-01-10 07:01:42,992 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 185 states and 282 transitions. [2025-01-10 07:01:42,994 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 53 [2025-01-10 07:01:42,997 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 185 states to 182 states and 279 transitions. [2025-01-10 07:01:42,997 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 93 [2025-01-10 07:01:42,997 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 93 [2025-01-10 07:01:42,997 INFO L73 IsDeterministic]: Start isDeterministic. Operand 182 states and 279 transitions. [2025-01-10 07:01:42,998 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:01:42,998 INFO L218 hiAutomatonCegarLoop]: Abstraction has 182 states and 279 transitions. [2025-01-10 07:01:42,998 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 182 states and 279 transitions. [2025-01-10 07:01:43,011 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 182 to 152. [2025-01-10 07:01:43,011 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 152 states, 92 states have (on average 1.2065217391304348) internal successors, (111), 99 states have internal predecessors, (111), 44 states have call successors, (44), 10 states have call predecessors, (44), 16 states have return successors, (70), 42 states have call predecessors, (70), 44 states have call successors, (70) [2025-01-10 07:01:43,013 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 152 states to 152 states and 225 transitions. [2025-01-10 07:01:43,013 INFO L240 hiAutomatonCegarLoop]: Abstraction has 152 states and 225 transitions. [2025-01-10 07:01:43,013 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2025-01-10 07:01:43,014 INFO L432 stractBuchiCegarLoop]: Abstraction has 152 states and 225 transitions. [2025-01-10 07:01:43,014 INFO L338 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2025-01-10 07:01:43,014 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 152 states and 225 transitions. [2025-01-10 07:01:43,015 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 37 [2025-01-10 07:01:43,015 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:01:43,015 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:01:43,016 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1] [2025-01-10 07:01:43,016 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [10, 10, 6, 4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:01:43,016 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" [2025-01-10 07:01:43,016 INFO L754 eck$LassoCheckResult]: Loop: "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" [2025-01-10 07:01:43,017 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:43,017 INFO L85 PathProgramCache]: Analyzing trace with hash 36330288, now seen corresponding path program 2 times [2025-01-10 07:01:43,017 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:43,017 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1242296058] [2025-01-10 07:01:43,017 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:01:43,017 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:43,019 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 5 statements into 1 equivalence classes. [2025-01-10 07:01:43,020 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-01-10 07:01:43,020 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-10 07:01:43,020 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:43,020 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:01:43,021 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5 statements into 1 equivalence classes. [2025-01-10 07:01:43,021 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-01-10 07:01:43,021 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:43,021 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:43,022 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:01:43,022 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:43,022 INFO L85 PathProgramCache]: Analyzing trace with hash -1361824634, now seen corresponding path program 1 times [2025-01-10 07:01:43,022 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:43,022 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [983348559] [2025-01-10 07:01:43,022 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:43,023 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:43,028 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 66 statements into 1 equivalence classes. [2025-01-10 07:01:43,035 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 66 of 66 statements. [2025-01-10 07:01:43,036 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:43,036 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:43,264 INFO L134 CoverageAnalysis]: Checked inductivity of 197 backedges. 11 proven. 67 refuted. 0 times theorem prover too weak. 119 trivial. 0 not checked. [2025-01-10 07:01:43,265 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:01:43,266 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [983348559] [2025-01-10 07:01:43,266 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [983348559] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:01:43,266 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1195296213] [2025-01-10 07:01:43,266 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:43,266 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:01:43,266 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:43,271 INFO L229 MonitoredProcess]: Starting monitored process 32 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:01:43,272 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Waiting until timeout for monitored process [2025-01-10 07:01:43,302 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 66 statements into 1 equivalence classes. [2025-01-10 07:01:43,319 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 66 of 66 statements. [2025-01-10 07:01:43,319 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:43,319 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:43,320 INFO L256 TraceCheckSpWp]: Trace formula consists of 160 conjuncts, 9 conjuncts are in the unsatisfiable core [2025-01-10 07:01:43,322 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:43,369 INFO L134 CoverageAnalysis]: Checked inductivity of 197 backedges. 113 proven. 7 refuted. 0 times theorem prover too weak. 77 trivial. 0 not checked. [2025-01-10 07:01:43,369 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:01:43,534 INFO L134 CoverageAnalysis]: Checked inductivity of 197 backedges. 11 proven. 67 refuted. 0 times theorem prover too weak. 119 trivial. 0 not checked. [2025-01-10 07:01:43,534 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1195296213] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:01:43,534 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:01:43,534 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8, 8] total 16 [2025-01-10 07:01:43,534 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1357494736] [2025-01-10 07:01:43,534 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:01:43,535 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-01-10 07:01:43,535 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:01:43,535 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2025-01-10 07:01:43,535 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=191, Unknown=0, NotChecked=0, Total=240 [2025-01-10 07:01:43,535 INFO L87 Difference]: Start difference. First operand 152 states and 225 transitions. cyclomatic complexity: 78 Second operand has 16 states, 10 states have (on average 3.7) internal successors, (37), 11 states have internal predecessors, (37), 10 states have call successors, (17), 2 states have call predecessors, (17), 4 states have return successors, (18), 9 states have call predecessors, (18), 10 states have call successors, (18) [2025-01-10 07:01:43,756 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:01:43,756 INFO L93 Difference]: Finished difference Result 226 states and 333 transitions. [2025-01-10 07:01:43,756 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 226 states and 333 transitions. [2025-01-10 07:01:43,759 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 64 [2025-01-10 07:01:43,762 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 226 states to 226 states and 333 transitions. [2025-01-10 07:01:43,762 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 114 [2025-01-10 07:01:43,762 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 114 [2025-01-10 07:01:43,762 INFO L73 IsDeterministic]: Start isDeterministic. Operand 226 states and 333 transitions. [2025-01-10 07:01:43,762 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:01:43,762 INFO L218 hiAutomatonCegarLoop]: Abstraction has 226 states and 333 transitions. [2025-01-10 07:01:43,763 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 226 states and 333 transitions. [2025-01-10 07:01:43,770 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 226 to 172. [2025-01-10 07:01:43,770 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 105 states have internal predecessors, (123), 52 states have call successors, (52), 16 states have call predecessors, (52), 16 states have return successors, (80), 50 states have call predecessors, (80), 52 states have call successors, (80) [2025-01-10 07:01:43,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 255 transitions. [2025-01-10 07:01:43,771 INFO L240 hiAutomatonCegarLoop]: Abstraction has 172 states and 255 transitions. [2025-01-10 07:01:43,777 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2025-01-10 07:01:43,777 INFO L432 stractBuchiCegarLoop]: Abstraction has 172 states and 255 transitions. [2025-01-10 07:01:43,777 INFO L338 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2025-01-10 07:01:43,777 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 172 states and 255 transitions. [2025-01-10 07:01:43,779 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 41 [2025-01-10 07:01:43,779 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:01:43,779 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:01:43,780 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1] [2025-01-10 07:01:43,780 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [12, 12, 6, 6, 6, 6, 6, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:01:43,780 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" [2025-01-10 07:01:43,780 INFO L754 eck$LassoCheckResult]: Loop: "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" [2025-01-10 07:01:43,780 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:43,780 INFO L85 PathProgramCache]: Analyzing trace with hash 36330288, now seen corresponding path program 3 times [2025-01-10 07:01:43,780 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:43,780 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1891597206] [2025-01-10 07:01:43,781 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:01:43,781 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:43,783 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 5 statements into 1 equivalence classes. [2025-01-10 07:01:43,784 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-01-10 07:01:43,784 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 1 check-sat command(s) [2025-01-10 07:01:43,784 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:43,784 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:01:43,784 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5 statements into 1 equivalence classes. [2025-01-10 07:01:43,785 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-01-10 07:01:43,785 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:43,785 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:43,786 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:01:43,786 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:43,786 INFO L85 PathProgramCache]: Analyzing trace with hash 1041973190, now seen corresponding path program 2 times [2025-01-10 07:01:43,786 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:43,786 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [189917968] [2025-01-10 07:01:43,786 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:01:43,786 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:43,792 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 78 statements into 2 equivalence classes. [2025-01-10 07:01:43,799 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 78 of 78 statements. [2025-01-10 07:01:43,800 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:01:43,800 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:43,927 INFO L134 CoverageAnalysis]: Checked inductivity of 299 backedges. 21 proven. 27 refuted. 0 times theorem prover too weak. 251 trivial. 0 not checked. [2025-01-10 07:01:43,928 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:01:43,928 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [189917968] [2025-01-10 07:01:43,928 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [189917968] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:01:43,928 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [170950770] [2025-01-10 07:01:43,928 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:01:43,928 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:01:43,928 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:43,931 INFO L229 MonitoredProcess]: Starting monitored process 33 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:01:43,952 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Waiting until timeout for monitored process [2025-01-10 07:01:43,984 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 78 statements into 2 equivalence classes. [2025-01-10 07:01:44,003 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 78 of 78 statements. [2025-01-10 07:01:44,004 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:01:44,004 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:44,006 INFO L256 TraceCheckSpWp]: Trace formula consists of 184 conjuncts, 11 conjuncts are in the unsatisfiable core [2025-01-10 07:01:44,008 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:44,086 INFO L134 CoverageAnalysis]: Checked inductivity of 299 backedges. 172 proven. 35 refuted. 0 times theorem prover too weak. 92 trivial. 0 not checked. [2025-01-10 07:01:44,086 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:01:44,323 INFO L134 CoverageAnalysis]: Checked inductivity of 299 backedges. 10 proven. 126 refuted. 0 times theorem prover too weak. 163 trivial. 0 not checked. [2025-01-10 07:01:44,323 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [170950770] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:01:44,323 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:01:44,323 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 9, 10] total 18 [2025-01-10 07:01:44,323 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1504130656] [2025-01-10 07:01:44,323 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:01:44,324 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-01-10 07:01:44,324 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:01:44,324 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2025-01-10 07:01:44,324 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=260, Unknown=0, NotChecked=0, Total=306 [2025-01-10 07:01:44,324 INFO L87 Difference]: Start difference. First operand 172 states and 255 transitions. cyclomatic complexity: 88 Second operand has 18 states, 14 states have (on average 3.4285714285714284) internal successors, (48), 15 states have internal predecessors, (48), 10 states have call successors, (21), 2 states have call predecessors, (21), 5 states have return successors, (22), 10 states have call predecessors, (22), 10 states have call successors, (22) [2025-01-10 07:01:45,241 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:01:45,242 INFO L93 Difference]: Finished difference Result 366 states and 617 transitions. [2025-01-10 07:01:45,242 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 366 states and 617 transitions. [2025-01-10 07:01:45,246 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 103 [2025-01-10 07:01:45,254 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 366 states to 350 states and 589 transitions. [2025-01-10 07:01:45,254 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 177 [2025-01-10 07:01:45,254 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 177 [2025-01-10 07:01:45,255 INFO L73 IsDeterministic]: Start isDeterministic. Operand 350 states and 589 transitions. [2025-01-10 07:01:45,255 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:01:45,255 INFO L218 hiAutomatonCegarLoop]: Abstraction has 350 states and 589 transitions. [2025-01-10 07:01:45,256 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 350 states and 589 transitions. [2025-01-10 07:01:45,273 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 350 to 252. [2025-01-10 07:01:45,273 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 252 states, 156 states have (on average 1.1217948717948718) internal successors, (175), 149 states have internal predecessors, (175), 70 states have call successors, (70), 24 states have call predecessors, (70), 26 states have return successors, (162), 78 states have call predecessors, (162), 70 states have call successors, (162) [2025-01-10 07:01:45,278 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 252 states to 252 states and 407 transitions. [2025-01-10 07:01:45,278 INFO L240 hiAutomatonCegarLoop]: Abstraction has 252 states and 407 transitions. [2025-01-10 07:01:45,278 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2025-01-10 07:01:45,279 INFO L432 stractBuchiCegarLoop]: Abstraction has 252 states and 407 transitions. [2025-01-10 07:01:45,279 INFO L338 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2025-01-10 07:01:45,281 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 252 states and 407 transitions. [2025-01-10 07:01:45,282 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 59 [2025-01-10 07:01:45,282 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:01:45,282 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:01:45,283 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1] [2025-01-10 07:01:45,283 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [13, 13, 7, 7, 7, 7, 6, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:01:45,283 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" [2025-01-10 07:01:45,283 INFO L754 eck$LassoCheckResult]: Loop: "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" [2025-01-10 07:01:45,284 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:45,284 INFO L85 PathProgramCache]: Analyzing trace with hash 36330288, now seen corresponding path program 4 times [2025-01-10 07:01:45,284 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:45,284 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [780856305] [2025-01-10 07:01:45,286 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:01:45,286 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:45,288 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 5 statements into 2 equivalence classes. [2025-01-10 07:01:45,288 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 5 of 5 statements. [2025-01-10 07:01:45,288 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-01-10 07:01:45,288 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:45,288 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:01:45,289 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5 statements into 1 equivalence classes. [2025-01-10 07:01:45,289 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-01-10 07:01:45,289 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:45,289 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:45,290 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:01:45,290 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:45,290 INFO L85 PathProgramCache]: Analyzing trace with hash -1508011302, now seen corresponding path program 3 times [2025-01-10 07:01:45,290 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:45,290 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [584142559] [2025-01-10 07:01:45,290 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:01:45,291 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:45,297 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 84 statements into 10 equivalence classes. [2025-01-10 07:01:45,316 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) and asserted 56 of 84 statements. [2025-01-10 07:01:45,316 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2025-01-10 07:01:45,316 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:45,423 INFO L134 CoverageAnalysis]: Checked inductivity of 359 backedges. 92 proven. 3 refuted. 0 times theorem prover too weak. 264 trivial. 0 not checked. [2025-01-10 07:01:45,424 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:01:45,424 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [584142559] [2025-01-10 07:01:45,424 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [584142559] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:01:45,424 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [858233638] [2025-01-10 07:01:45,424 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:01:45,424 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:01:45,424 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:45,430 INFO L229 MonitoredProcess]: Starting monitored process 34 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:01:45,434 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Waiting until timeout for monitored process [2025-01-10 07:01:45,467 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 84 statements into 10 equivalence classes. [2025-01-10 07:01:45,484 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) and asserted 56 of 84 statements. [2025-01-10 07:01:45,484 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2025-01-10 07:01:45,484 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:45,485 INFO L256 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 11 conjuncts are in the unsatisfiable core [2025-01-10 07:01:45,487 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:45,537 INFO L134 CoverageAnalysis]: Checked inductivity of 359 backedges. 92 proven. 3 refuted. 0 times theorem prover too weak. 264 trivial. 0 not checked. [2025-01-10 07:01:45,538 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:01:45,714 INFO L134 CoverageAnalysis]: Checked inductivity of 359 backedges. 92 proven. 4 refuted. 0 times theorem prover too weak. 263 trivial. 0 not checked. [2025-01-10 07:01:45,715 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [858233638] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:01:45,715 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:01:45,716 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8, 9] total 11 [2025-01-10 07:01:45,716 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [378235238] [2025-01-10 07:01:45,716 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:01:45,716 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-01-10 07:01:45,716 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:01:45,716 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2025-01-10 07:01:45,717 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2025-01-10 07:01:45,717 INFO L87 Difference]: Start difference. First operand 252 states and 407 transitions. cyclomatic complexity: 160 Second operand has 11 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 11 states have internal predecessors, (29), 7 states have call successors, (13), 1 states have call predecessors, (13), 3 states have return successors, (13), 7 states have call predecessors, (13), 7 states have call successors, (13) [2025-01-10 07:01:45,880 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:01:45,881 INFO L93 Difference]: Finished difference Result 298 states and 499 transitions. [2025-01-10 07:01:45,881 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 298 states and 499 transitions. [2025-01-10 07:01:45,912 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 77 [2025-01-10 07:01:45,919 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 298 states to 298 states and 499 transitions. [2025-01-10 07:01:45,919 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 151 [2025-01-10 07:01:45,919 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 151 [2025-01-10 07:01:45,919 INFO L73 IsDeterministic]: Start isDeterministic. Operand 298 states and 499 transitions. [2025-01-10 07:01:45,920 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:01:45,922 INFO L218 hiAutomatonCegarLoop]: Abstraction has 298 states and 499 transitions. [2025-01-10 07:01:45,922 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 298 states and 499 transitions. [2025-01-10 07:01:45,930 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 298 to 274. [2025-01-10 07:01:45,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 274 states, 162 states have (on average 1.1419753086419753) internal successors, (185), 159 states have internal predecessors, (185), 86 states have call successors, (86), 24 states have call predecessors, (86), 26 states have return successors, (194), 90 states have call predecessors, (194), 86 states have call successors, (194) [2025-01-10 07:01:45,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 274 states to 274 states and 465 transitions. [2025-01-10 07:01:45,934 INFO L240 hiAutomatonCegarLoop]: Abstraction has 274 states and 465 transitions. [2025-01-10 07:01:45,934 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2025-01-10 07:01:45,935 INFO L432 stractBuchiCegarLoop]: Abstraction has 274 states and 465 transitions. [2025-01-10 07:01:45,936 INFO L338 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2025-01-10 07:01:45,936 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 274 states and 465 transitions. [2025-01-10 07:01:45,938 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 71 [2025-01-10 07:01:45,938 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:01:45,938 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:01:45,939 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1] [2025-01-10 07:01:45,939 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [13, 13, 7, 7, 7, 7, 6, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:01:45,939 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" [2025-01-10 07:01:45,939 INFO L754 eck$LassoCheckResult]: Loop: "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" [2025-01-10 07:01:45,940 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:45,941 INFO L85 PathProgramCache]: Analyzing trace with hash 36330288, now seen corresponding path program 5 times [2025-01-10 07:01:45,941 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:45,941 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [97299615] [2025-01-10 07:01:45,941 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:01:45,941 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:45,942 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 5 statements into 1 equivalence classes. [2025-01-10 07:01:45,944 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-01-10 07:01:45,944 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-10 07:01:45,944 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:45,944 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:01:45,944 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5 statements into 1 equivalence classes. [2025-01-10 07:01:45,944 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-01-10 07:01:45,945 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:45,945 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:45,945 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:01:45,946 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:45,946 INFO L85 PathProgramCache]: Analyzing trace with hash 2032239586, now seen corresponding path program 4 times [2025-01-10 07:01:45,946 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:45,946 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [392243037] [2025-01-10 07:01:45,946 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:01:45,946 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:45,951 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 84 statements into 2 equivalence classes. [2025-01-10 07:01:45,957 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 84 of 84 statements. [2025-01-10 07:01:45,958 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-01-10 07:01:45,958 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:46,126 INFO L134 CoverageAnalysis]: Checked inductivity of 359 backedges. 10 proven. 148 refuted. 0 times theorem prover too weak. 201 trivial. 0 not checked. [2025-01-10 07:01:46,126 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:01:46,127 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [392243037] [2025-01-10 07:01:46,127 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [392243037] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:01:46,127 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2052710413] [2025-01-10 07:01:46,127 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:01:46,127 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:01:46,127 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:46,129 INFO L229 MonitoredProcess]: Starting monitored process 35 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:01:46,130 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (35)] Waiting until timeout for monitored process [2025-01-10 07:01:46,163 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 84 statements into 2 equivalence classes. [2025-01-10 07:01:46,180 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 84 of 84 statements. [2025-01-10 07:01:46,180 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-01-10 07:01:46,180 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:46,181 INFO L256 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 15 conjuncts are in the unsatisfiable core [2025-01-10 07:01:46,184 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:46,231 INFO L134 CoverageAnalysis]: Checked inductivity of 359 backedges. 194 proven. 27 refuted. 0 times theorem prover too weak. 138 trivial. 0 not checked. [2025-01-10 07:01:46,231 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:01:46,569 INFO L134 CoverageAnalysis]: Checked inductivity of 359 backedges. 10 proven. 149 refuted. 0 times theorem prover too weak. 200 trivial. 0 not checked. [2025-01-10 07:01:46,570 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2052710413] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:01:46,570 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:01:46,570 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10, 12] total 18 [2025-01-10 07:01:46,570 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [763633805] [2025-01-10 07:01:46,570 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:01:46,570 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-01-10 07:01:46,571 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:01:46,571 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2025-01-10 07:01:46,571 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=243, Unknown=0, NotChecked=0, Total=306 [2025-01-10 07:01:46,571 INFO L87 Difference]: Start difference. First operand 274 states and 465 transitions. cyclomatic complexity: 196 Second operand has 18 states, 14 states have (on average 3.357142857142857) internal successors, (47), 16 states have internal predecessors, (47), 12 states have call successors, (20), 2 states have call predecessors, (20), 6 states have return successors, (20), 7 states have call predecessors, (20), 12 states have call successors, (20) [2025-01-10 07:01:46,810 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:01:46,811 INFO L93 Difference]: Finished difference Result 352 states and 589 transitions. [2025-01-10 07:01:46,811 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 352 states and 589 transitions. [2025-01-10 07:01:46,815 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 90 [2025-01-10 07:01:46,818 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 352 states to 352 states and 589 transitions. [2025-01-10 07:01:46,818 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 178 [2025-01-10 07:01:46,819 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 178 [2025-01-10 07:01:46,819 INFO L73 IsDeterministic]: Start isDeterministic. Operand 352 states and 589 transitions. [2025-01-10 07:01:46,819 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:01:46,820 INFO L218 hiAutomatonCegarLoop]: Abstraction has 352 states and 589 transitions. [2025-01-10 07:01:46,820 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 352 states and 589 transitions. [2025-01-10 07:01:46,826 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 352 to 308. [2025-01-10 07:01:46,827 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 308 states, 186 states have (on average 1.1666666666666667) internal successors, (217), 181 states have internal predecessors, (217), 94 states have call successors, (94), 34 states have call predecessors, (94), 28 states have return successors, (196), 92 states have call predecessors, (196), 94 states have call successors, (196) [2025-01-10 07:01:46,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 308 states to 308 states and 507 transitions. [2025-01-10 07:01:46,829 INFO L240 hiAutomatonCegarLoop]: Abstraction has 308 states and 507 transitions. [2025-01-10 07:01:46,829 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2025-01-10 07:01:46,829 INFO L432 stractBuchiCegarLoop]: Abstraction has 308 states and 507 transitions. [2025-01-10 07:01:46,829 INFO L338 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2025-01-10 07:01:46,829 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 308 states and 507 transitions. [2025-01-10 07:01:46,831 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 71 [2025-01-10 07:01:46,831 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:01:46,831 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:01:46,832 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1] [2025-01-10 07:01:46,832 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [13, 13, 7, 7, 7, 7, 6, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:01:46,832 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" [2025-01-10 07:01:46,832 INFO L754 eck$LassoCheckResult]: Loop: "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" [2025-01-10 07:01:46,833 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:46,833 INFO L85 PathProgramCache]: Analyzing trace with hash 36330288, now seen corresponding path program 6 times [2025-01-10 07:01:46,833 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:46,833 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1787669873] [2025-01-10 07:01:46,833 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-01-10 07:01:46,833 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:46,835 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 5 statements into 1 equivalence classes. [2025-01-10 07:01:46,836 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-01-10 07:01:46,836 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 1 check-sat command(s) [2025-01-10 07:01:46,836 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:46,836 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:01:46,836 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5 statements into 1 equivalence classes. [2025-01-10 07:01:46,837 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-01-10 07:01:46,837 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:46,837 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:46,837 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:01:46,838 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:46,838 INFO L85 PathProgramCache]: Analyzing trace with hash -79688030, now seen corresponding path program 5 times [2025-01-10 07:01:46,838 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:46,838 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1193650092] [2025-01-10 07:01:46,838 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:01:46,838 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:46,842 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 84 statements into 10 equivalence classes. [2025-01-10 07:01:46,851 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 9 check-sat command(s) and asserted 82 of 84 statements. [2025-01-10 07:01:46,851 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 9 check-sat command(s) [2025-01-10 07:01:46,851 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:47,003 INFO L134 CoverageAnalysis]: Checked inductivity of 359 backedges. 131 proven. 75 refuted. 0 times theorem prover too weak. 153 trivial. 0 not checked. [2025-01-10 07:01:47,003 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:01:47,003 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1193650092] [2025-01-10 07:01:47,003 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1193650092] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:01:47,003 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [819047834] [2025-01-10 07:01:47,003 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:01:47,003 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:01:47,003 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:47,006 INFO L229 MonitoredProcess]: Starting monitored process 36 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:01:47,007 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (36)] Waiting until timeout for monitored process [2025-01-10 07:01:47,037 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 84 statements into 10 equivalence classes. [2025-01-10 07:01:47,055 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 9 check-sat command(s) and asserted 82 of 84 statements. [2025-01-10 07:01:47,055 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 9 check-sat command(s) [2025-01-10 07:01:47,055 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:47,058 INFO L256 TraceCheckSpWp]: Trace formula consists of 190 conjuncts, 18 conjuncts are in the unsatisfiable core [2025-01-10 07:01:47,060 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:47,132 INFO L134 CoverageAnalysis]: Checked inductivity of 359 backedges. 103 proven. 80 refuted. 0 times theorem prover too weak. 176 trivial. 0 not checked. [2025-01-10 07:01:47,132 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:01:47,432 INFO L134 CoverageAnalysis]: Checked inductivity of 359 backedges. 103 proven. 83 refuted. 0 times theorem prover too weak. 173 trivial. 0 not checked. [2025-01-10 07:01:47,433 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [819047834] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:01:47,433 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:01:47,433 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13, 15] total 22 [2025-01-10 07:01:47,433 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1211565621] [2025-01-10 07:01:47,433 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:01:47,433 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-01-10 07:01:47,433 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:01:47,433 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2025-01-10 07:01:47,433 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=76, Invalid=386, Unknown=0, NotChecked=0, Total=462 [2025-01-10 07:01:47,434 INFO L87 Difference]: Start difference. First operand 308 states and 507 transitions. cyclomatic complexity: 204 Second operand has 22 states, 17 states have (on average 2.9411764705882355) internal successors, (50), 19 states have internal predecessors, (50), 13 states have call successors, (20), 1 states have call predecessors, (20), 6 states have return successors, (22), 13 states have call predecessors, (22), 13 states have call successors, (22) [2025-01-10 07:01:48,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:01:48,298 INFO L93 Difference]: Finished difference Result 620 states and 1157 transitions. [2025-01-10 07:01:48,299 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 620 states and 1157 transitions. [2025-01-10 07:01:48,314 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 182 [2025-01-10 07:01:48,325 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 620 states to 600 states and 1117 transitions. [2025-01-10 07:01:48,328 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 302 [2025-01-10 07:01:48,329 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 302 [2025-01-10 07:01:48,329 INFO L73 IsDeterministic]: Start isDeterministic. Operand 600 states and 1117 transitions. [2025-01-10 07:01:48,329 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:01:48,329 INFO L218 hiAutomatonCegarLoop]: Abstraction has 600 states and 1117 transitions. [2025-01-10 07:01:48,330 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 600 states and 1117 transitions. [2025-01-10 07:01:48,358 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 600 to 396. [2025-01-10 07:01:48,359 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 396 states, 234 states have (on average 1.1752136752136753) internal successors, (275), 229 states have internal predecessors, (275), 126 states have call successors, (126), 40 states have call predecessors, (126), 36 states have return successors, (332), 126 states have call predecessors, (332), 126 states have call successors, (332) [2025-01-10 07:01:48,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 396 states to 396 states and 733 transitions. [2025-01-10 07:01:48,365 INFO L240 hiAutomatonCegarLoop]: Abstraction has 396 states and 733 transitions. [2025-01-10 07:01:48,370 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 36 states. [2025-01-10 07:01:48,370 INFO L432 stractBuchiCegarLoop]: Abstraction has 396 states and 733 transitions. [2025-01-10 07:01:48,370 INFO L338 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2025-01-10 07:01:48,370 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 396 states and 733 transitions. [2025-01-10 07:01:48,372 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 94 [2025-01-10 07:01:48,373 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:01:48,373 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:01:48,373 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1] [2025-01-10 07:01:48,373 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [13, 13, 7, 7, 7, 7, 6, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:01:48,374 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" [2025-01-10 07:01:48,374 INFO L754 eck$LassoCheckResult]: Loop: "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" [2025-01-10 07:01:48,374 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:48,374 INFO L85 PathProgramCache]: Analyzing trace with hash 36330288, now seen corresponding path program 7 times [2025-01-10 07:01:48,374 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:48,374 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [981881561] [2025-01-10 07:01:48,374 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-01-10 07:01:48,374 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:48,376 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5 statements into 1 equivalence classes. [2025-01-10 07:01:48,376 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-01-10 07:01:48,376 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:48,377 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:48,377 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:01:48,377 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5 statements into 1 equivalence classes. [2025-01-10 07:01:48,377 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-01-10 07:01:48,377 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:48,377 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:48,378 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:01:48,378 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:48,379 INFO L85 PathProgramCache]: Analyzing trace with hash -727399582, now seen corresponding path program 6 times [2025-01-10 07:01:48,379 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:48,379 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1230188613] [2025-01-10 07:01:48,379 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-01-10 07:01:48,379 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:48,412 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 84 statements into 12 equivalence classes. [2025-01-10 07:01:48,427 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) and asserted 75 of 84 statements. [2025-01-10 07:01:48,427 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2025-01-10 07:01:48,427 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:48,608 INFO L134 CoverageAnalysis]: Checked inductivity of 359 backedges. 77 proven. 49 refuted. 0 times theorem prover too weak. 233 trivial. 0 not checked. [2025-01-10 07:01:48,608 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:01:48,608 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1230188613] [2025-01-10 07:01:48,608 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1230188613] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:01:48,608 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1488059101] [2025-01-10 07:01:48,609 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-01-10 07:01:48,609 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:01:48,610 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:48,613 INFO L229 MonitoredProcess]: Starting monitored process 37 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:01:48,614 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (37)] Waiting until timeout for monitored process [2025-01-10 07:01:48,647 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 84 statements into 12 equivalence classes. [2025-01-10 07:01:48,676 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) and asserted 75 of 84 statements. [2025-01-10 07:01:48,677 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2025-01-10 07:01:48,677 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:48,678 INFO L256 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 16 conjuncts are in the unsatisfiable core [2025-01-10 07:01:48,680 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:48,839 INFO L134 CoverageAnalysis]: Checked inductivity of 359 backedges. 60 proven. 65 refuted. 0 times theorem prover too weak. 234 trivial. 0 not checked. [2025-01-10 07:01:48,840 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:01:49,149 INFO L134 CoverageAnalysis]: Checked inductivity of 359 backedges. 58 proven. 68 refuted. 0 times theorem prover too weak. 233 trivial. 0 not checked. [2025-01-10 07:01:49,150 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1488059101] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:01:49,150 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:01:49,150 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12, 13] total 26 [2025-01-10 07:01:49,150 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [72007014] [2025-01-10 07:01:49,150 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:01:49,150 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-01-10 07:01:49,150 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:01:49,150 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2025-01-10 07:01:49,150 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=85, Invalid=565, Unknown=0, NotChecked=0, Total=650 [2025-01-10 07:01:49,151 INFO L87 Difference]: Start difference. First operand 396 states and 733 transitions. cyclomatic complexity: 342 Second operand has 26 states, 20 states have (on average 2.65) internal successors, (53), 26 states have internal predecessors, (53), 16 states have call successors, (21), 1 states have call predecessors, (21), 4 states have return successors, (21), 9 states have call predecessors, (21), 16 states have call successors, (21) [2025-01-10 07:01:50,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:01:50,424 INFO L93 Difference]: Finished difference Result 937 states and 1777 transitions. [2025-01-10 07:01:50,424 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 937 states and 1777 transitions. [2025-01-10 07:01:50,433 INFO L131 ngComponentsAnalysis]: Automaton has 6 accepting balls. 248 [2025-01-10 07:01:50,443 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 937 states to 937 states and 1775 transitions. [2025-01-10 07:01:50,443 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 470 [2025-01-10 07:01:50,444 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 470 [2025-01-10 07:01:50,444 INFO L73 IsDeterministic]: Start isDeterministic. Operand 937 states and 1775 transitions. [2025-01-10 07:01:50,444 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:01:50,444 INFO L218 hiAutomatonCegarLoop]: Abstraction has 937 states and 1775 transitions. [2025-01-10 07:01:50,448 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 937 states and 1775 transitions. [2025-01-10 07:01:50,483 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 937 to 517. [2025-01-10 07:01:50,488 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 517 states, 308 states have (on average 1.1590909090909092) internal successors, (357), 301 states have internal predecessors, (357), 173 states have call successors, (173), 42 states have call predecessors, (173), 36 states have return successors, (454), 173 states have call predecessors, (454), 173 states have call successors, (454) [2025-01-10 07:01:50,491 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 517 states to 517 states and 984 transitions. [2025-01-10 07:01:50,495 INFO L240 hiAutomatonCegarLoop]: Abstraction has 517 states and 984 transitions. [2025-01-10 07:01:50,496 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 53 states. [2025-01-10 07:01:50,496 INFO L432 stractBuchiCegarLoop]: Abstraction has 517 states and 984 transitions. [2025-01-10 07:01:50,497 INFO L338 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2025-01-10 07:01:50,500 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 517 states and 984 transitions. [2025-01-10 07:01:50,503 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 139 [2025-01-10 07:01:50,504 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:01:50,504 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:01:50,504 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:01:50,504 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-01-10 07:01:50,504 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< [2025-01-10 07:01:50,504 INFO L754 eck$LassoCheckResult]: Loop: "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< [2025-01-10 07:01:50,505 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:50,508 INFO L85 PathProgramCache]: Analyzing trace with hash 779856653, now seen corresponding path program 1 times [2025-01-10 07:01:50,509 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:50,509 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1208625764] [2025-01-10 07:01:50,509 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:50,509 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:50,514 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 11 statements into 1 equivalence classes. [2025-01-10 07:01:50,516 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 11 of 11 statements. [2025-01-10 07:01:50,516 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:50,516 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:50,549 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:01:50,549 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:01:50,549 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1208625764] [2025-01-10 07:01:50,550 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1208625764] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:01:50,550 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:01:50,551 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2025-01-10 07:01:50,551 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [510011521] [2025-01-10 07:01:50,551 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:01:50,551 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:01:50,551 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:50,551 INFO L85 PathProgramCache]: Analyzing trace with hash 29970, now seen corresponding path program 1 times [2025-01-10 07:01:50,551 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:50,551 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1868292049] [2025-01-10 07:01:50,551 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:50,552 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:50,553 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-01-10 07:01:50,557 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-01-10 07:01:50,557 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:50,557 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:50,557 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:01:50,557 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-01-10 07:01:50,558 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-01-10 07:01:50,558 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:50,558 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:50,558 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:01:50,595 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:01:50,595 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:01:50,595 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:01:50,595 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:01:50,595 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-01-10 07:01:50,595 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:50,595 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:01:50,595 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:01:50,595 INFO L132 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration13_Loop [2025-01-10 07:01:50,595 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:01:50,595 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:01:50,600 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:50,601 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:50,603 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:50,611 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:50,639 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:01:50,639 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-01-10 07:01:50,640 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:50,640 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:50,642 INFO L229 MonitoredProcess]: Starting monitored process 38 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:50,646 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (38)] Waiting until timeout for monitored process [2025-01-10 07:01:50,647 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:50,647 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:50,660 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:01:50,660 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {fact_#t~ret0=0} Honda state: {fact_#t~ret0=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:01:50,666 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (38)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:50,666 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:50,666 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:50,668 INFO L229 MonitoredProcess]: Starting monitored process 39 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:50,673 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (39)] Waiting until timeout for monitored process [2025-01-10 07:01:50,673 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:50,673 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:50,686 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:01:50,686 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {fact_~n=0} Honda state: {fact_~n=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:01:50,692 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (39)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:50,692 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:50,692 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:50,696 INFO L229 MonitoredProcess]: Starting monitored process 40 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:50,696 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (40)] Waiting until timeout for monitored process [2025-01-10 07:01:50,697 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:50,697 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:50,713 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (40)] Ended with exit code 0 [2025-01-10 07:01:50,713 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:50,713 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:50,715 INFO L229 MonitoredProcess]: Starting monitored process 41 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:50,716 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (41)] Waiting until timeout for monitored process [2025-01-10 07:01:50,717 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-01-10 07:01:50,717 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:50,750 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-01-10 07:01:50,754 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (41)] Ended with exit code 0 [2025-01-10 07:01:50,758 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:01:50,758 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:01:50,758 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:01:50,758 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:01:50,758 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-01-10 07:01:50,758 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:50,758 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:01:50,758 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:01:50,758 INFO L132 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration13_Loop [2025-01-10 07:01:50,758 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:01:50,758 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:01:50,758 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:50,764 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:50,767 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:50,772 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:50,790 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:01:50,790 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-01-10 07:01:50,791 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:50,791 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:50,793 INFO L229 MonitoredProcess]: Starting monitored process 42 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:50,794 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (42)] Waiting until timeout for monitored process [2025-01-10 07:01:50,796 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:50,806 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:50,806 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:50,806 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:50,806 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:50,806 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:50,807 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:50,807 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:50,808 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:01:50,814 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (42)] Ended with exit code 0 [2025-01-10 07:01:50,818 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:50,818 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:50,824 INFO L229 MonitoredProcess]: Starting monitored process 43 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:50,825 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (43)] Waiting until timeout for monitored process [2025-01-10 07:01:50,830 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:50,843 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:50,843 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:50,843 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:50,843 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:50,843 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:50,845 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:50,845 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:50,850 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-01-10 07:01:50,853 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-01-10 07:01:50,853 INFO L444 ModelExtractionUtils]: 0 out of 3 variables were initially zero. Simplification set additionally 1 variables to zero. [2025-01-10 07:01:50,854 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:50,854 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:50,857 INFO L229 MonitoredProcess]: Starting monitored process 44 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:50,859 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (44)] Waiting until timeout for monitored process [2025-01-10 07:01:50,860 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-01-10 07:01:50,860 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-01-10 07:01:50,860 INFO L474 LassoAnalysis]: Proved termination. [2025-01-10 07:01:50,860 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(fact_#in~n) = 1*fact_#in~n Supporting invariants [] [2025-01-10 07:01:50,866 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (43)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:50,866 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-01-10 07:01:50,875 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:50,880 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 11 statements into 1 equivalence classes. [2025-01-10 07:01:50,889 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 11 of 11 statements. [2025-01-10 07:01:50,890 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:50,890 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:50,890 INFO L256 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-01-10 07:01:50,891 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:50,906 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-01-10 07:01:50,909 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-01-10 07:01:50,909 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:50,909 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:50,909 INFO L256 TraceCheckSpWp]: Trace formula consists of 37 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-01-10 07:01:50,914 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:50,939 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:01:50,940 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 3 loop predicates [2025-01-10 07:01:50,940 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 517 states and 984 transitions. cyclomatic complexity: 475 Second operand has 4 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:01:51,006 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 517 states and 984 transitions. cyclomatic complexity: 475. Second operand has 4 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Result 659 states and 1230 transitions. Complement of second has 17 states. [2025-01-10 07:01:51,013 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 1 stem states 3 non-accepting loop states 1 accepting loop states [2025-01-10 07:01:51,013 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 3 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:01:51,014 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 32 transitions. [2025-01-10 07:01:51,014 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 32 transitions. Stem has 11 letters. Loop has 3 letters. [2025-01-10 07:01:51,014 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:01:51,014 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 32 transitions. Stem has 14 letters. Loop has 3 letters. [2025-01-10 07:01:51,014 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:01:51,014 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 32 transitions. Stem has 11 letters. Loop has 6 letters. [2025-01-10 07:01:51,014 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:01:51,014 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 659 states and 1230 transitions. [2025-01-10 07:01:51,035 INFO L131 ngComponentsAnalysis]: Automaton has 6 accepting balls. 147 [2025-01-10 07:01:51,049 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 659 states to 641 states and 1206 transitions. [2025-01-10 07:01:51,055 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 304 [2025-01-10 07:01:51,056 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 312 [2025-01-10 07:01:51,056 INFO L73 IsDeterministic]: Start isDeterministic. Operand 641 states and 1206 transitions. [2025-01-10 07:01:51,057 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:01:51,057 INFO L218 hiAutomatonCegarLoop]: Abstraction has 641 states and 1206 transitions. [2025-01-10 07:01:51,057 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 641 states and 1206 transitions. [2025-01-10 07:01:51,088 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 641 to 631. [2025-01-10 07:01:51,090 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 631 states, 378 states have (on average 1.1825396825396826) internal successors, (447), 377 states have internal predecessors, (447), 207 states have call successors, (207), 66 states have call predecessors, (207), 46 states have return successors, (536), 187 states have call predecessors, (536), 207 states have call successors, (536) [2025-01-10 07:01:51,102 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 631 states to 631 states and 1190 transitions. [2025-01-10 07:01:51,103 INFO L240 hiAutomatonCegarLoop]: Abstraction has 631 states and 1190 transitions. [2025-01-10 07:01:51,103 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:01:51,103 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-01-10 07:01:51,103 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2025-01-10 07:01:51,103 INFO L87 Difference]: Start difference. First operand 631 states and 1190 transitions. Second operand has 6 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 2 states have call successors, (2), 2 states have call predecessors, (2), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-10 07:01:51,183 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:01:51,183 INFO L93 Difference]: Finished difference Result 753 states and 1400 transitions. [2025-01-10 07:01:51,183 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 753 states and 1400 transitions. [2025-01-10 07:01:51,197 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 183 [2025-01-10 07:01:51,216 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 753 states to 747 states and 1391 transitions. [2025-01-10 07:01:51,216 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 362 [2025-01-10 07:01:51,217 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 362 [2025-01-10 07:01:51,217 INFO L73 IsDeterministic]: Start isDeterministic. Operand 747 states and 1391 transitions. [2025-01-10 07:01:51,222 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:01:51,222 INFO L218 hiAutomatonCegarLoop]: Abstraction has 747 states and 1391 transitions. [2025-01-10 07:01:51,222 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 747 states and 1391 transitions. [2025-01-10 07:01:51,252 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 747 to 747. [2025-01-10 07:01:51,257 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 747 states, 445 states have (on average 1.1662921348314608) internal successors, (519), 442 states have internal predecessors, (519), 252 states have call successors, (252), 70 states have call predecessors, (252), 50 states have return successors, (620), 234 states have call predecessors, (620), 252 states have call successors, (620) [2025-01-10 07:01:51,263 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 747 states to 747 states and 1391 transitions. [2025-01-10 07:01:51,267 INFO L240 hiAutomatonCegarLoop]: Abstraction has 747 states and 1391 transitions. [2025-01-10 07:01:51,268 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-01-10 07:01:51,268 INFO L432 stractBuchiCegarLoop]: Abstraction has 747 states and 1391 transitions. [2025-01-10 07:01:51,268 INFO L338 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2025-01-10 07:01:51,269 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 747 states and 1391 transitions. [2025-01-10 07:01:51,276 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 183 [2025-01-10 07:01:51,276 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:01:51,277 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:01:51,277 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:01:51,277 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [5, 5, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:01:51,278 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" [2025-01-10 07:01:51,278 INFO L754 eck$LassoCheckResult]: Loop: "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" [2025-01-10 07:01:51,278 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:51,278 INFO L85 PathProgramCache]: Analyzing trace with hash 1506465532, now seen corresponding path program 1 times [2025-01-10 07:01:51,278 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:51,278 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1069848631] [2025-01-10 07:01:51,278 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:51,278 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:51,284 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 28 statements into 1 equivalence classes. [2025-01-10 07:01:51,285 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 28 of 28 statements. [2025-01-10 07:01:51,285 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:51,285 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:51,344 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 8 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2025-01-10 07:01:51,347 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:01:51,348 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1069848631] [2025-01-10 07:01:51,348 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1069848631] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:01:51,348 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [709173736] [2025-01-10 07:01:51,348 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:51,348 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:01:51,348 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:51,350 INFO L229 MonitoredProcess]: Starting monitored process 45 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:01:51,351 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (45)] Waiting until timeout for monitored process [2025-01-10 07:01:51,381 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 28 statements into 1 equivalence classes. [2025-01-10 07:01:51,386 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 28 of 28 statements. [2025-01-10 07:01:51,387 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:51,387 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:51,387 INFO L256 TraceCheckSpWp]: Trace formula consists of 69 conjuncts, 9 conjuncts are in the unsatisfiable core [2025-01-10 07:01:51,389 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:51,432 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 8 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2025-01-10 07:01:51,432 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:01:51,493 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 8 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2025-01-10 07:01:51,493 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [709173736] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:01:51,493 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:01:51,493 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 9 [2025-01-10 07:01:51,493 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1689934808] [2025-01-10 07:01:51,493 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:01:51,493 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:01:51,493 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:51,493 INFO L85 PathProgramCache]: Analyzing trace with hash -808525532, now seen corresponding path program 1 times [2025-01-10 07:01:51,493 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:51,493 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [498262036] [2025-01-10 07:01:51,493 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:51,493 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:51,497 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 32 statements into 1 equivalence classes. [2025-01-10 07:01:51,502 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 32 of 32 statements. [2025-01-10 07:01:51,502 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:51,502 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-01-10 07:01:51,503 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [314352634] [2025-01-10 07:01:51,503 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:51,503 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:01:51,503 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:51,508 INFO L229 MonitoredProcess]: Starting monitored process 46 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:01:51,509 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (46)] Waiting until timeout for monitored process [2025-01-10 07:01:51,540 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 32 statements into 1 equivalence classes. [2025-01-10 07:01:51,547 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 32 of 32 statements. [2025-01-10 07:01:51,547 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:51,547 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:51,547 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:01:51,551 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 32 statements into 1 equivalence classes. [2025-01-10 07:01:51,555 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 32 of 32 statements. [2025-01-10 07:01:51,555 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:51,555 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:51,563 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:01:51,809 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (44)] Ended with exit code 0 [2025-01-10 07:01:51,840 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:01:51,840 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:01:51,840 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:01:51,840 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:01:51,840 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-01-10 07:01:51,840 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:51,840 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:01:51,841 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:01:51,841 INFO L132 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration14_Loop [2025-01-10 07:01:51,841 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:01:51,841 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:01:51,841 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:51,843 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:51,851 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:51,853 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:51,854 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:51,855 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:51,857 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:51,858 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:51,907 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:01:51,907 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-01-10 07:01:51,907 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:51,907 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:51,914 INFO L229 MonitoredProcess]: Starting monitored process 47 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:51,915 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (47)] Waiting until timeout for monitored process [2025-01-10 07:01:51,916 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:51,916 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:51,927 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:01:51,927 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_#in~n#1=0} Honda state: {ULTIMATE.start_binomialCoefficient_#in~n#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:01:51,932 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (47)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:51,932 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:51,933 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:51,934 INFO L229 MonitoredProcess]: Starting monitored process 48 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:51,935 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (48)] Waiting until timeout for monitored process [2025-01-10 07:01:51,936 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:51,936 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:51,955 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (48)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:51,955 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:51,955 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:51,960 INFO L229 MonitoredProcess]: Starting monitored process 49 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:51,961 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (49)] Waiting until timeout for monitored process [2025-01-10 07:01:51,963 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-01-10 07:01:51,963 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:52,310 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-01-10 07:01:52,320 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (49)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:52,320 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:01:52,320 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:01:52,320 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:01:52,320 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:01:52,320 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-01-10 07:01:52,320 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:52,320 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:01:52,321 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:01:52,321 INFO L132 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration14_Loop [2025-01-10 07:01:52,321 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:01:52,321 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:01:52,321 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:52,326 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:52,329 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:52,338 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:52,339 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:52,341 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:52,342 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:52,343 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:52,395 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:01:52,395 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-01-10 07:01:52,395 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:52,395 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:52,397 INFO L229 MonitoredProcess]: Starting monitored process 50 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:52,399 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (50)] Waiting until timeout for monitored process [2025-01-10 07:01:52,400 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:52,411 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:52,411 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:52,411 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:52,411 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:52,411 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:52,412 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:52,412 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:52,413 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:01:52,419 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (50)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:52,419 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:52,419 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:52,421 INFO L229 MonitoredProcess]: Starting monitored process 51 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:52,422 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (51)] Waiting until timeout for monitored process [2025-01-10 07:01:52,424 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:52,434 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:52,434 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:52,435 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:52,435 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:52,435 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:52,435 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:52,435 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:52,437 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:01:52,443 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (51)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:52,443 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:52,443 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:52,445 INFO L229 MonitoredProcess]: Starting monitored process 52 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:52,446 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (52)] Waiting until timeout for monitored process [2025-01-10 07:01:52,448 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:52,459 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:52,459 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:52,459 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:52,459 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:52,459 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:52,461 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:52,461 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:52,463 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-01-10 07:01:52,467 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2025-01-10 07:01:52,467 INFO L444 ModelExtractionUtils]: 3 out of 7 variables were initially zero. Simplification set additionally 2 variables to zero. [2025-01-10 07:01:52,467 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:52,467 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:52,469 INFO L229 MonitoredProcess]: Starting monitored process 53 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:52,471 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (53)] Waiting until timeout for monitored process [2025-01-10 07:01:52,471 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-01-10 07:01:52,472 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-01-10 07:01:52,472 INFO L474 LassoAnalysis]: Proved termination. [2025-01-10 07:01:52,472 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~k~0#1) = -1*ULTIMATE.start_main_~k~0#1 Supporting invariants [] [2025-01-10 07:01:52,477 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (52)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:52,478 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-01-10 07:01:52,487 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:52,498 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 28 statements into 1 equivalence classes. [2025-01-10 07:01:52,514 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 28 of 28 statements. [2025-01-10 07:01:52,514 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:52,514 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:52,517 INFO L256 TraceCheckSpWp]: Trace formula consists of 181 conjuncts, 10 conjuncts are in the unsatisfiable core [2025-01-10 07:01:52,518 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:52,635 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 32 statements into 1 equivalence classes. [2025-01-10 07:01:52,653 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 32 of 32 statements. [2025-01-10 07:01:52,653 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:52,653 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:52,654 INFO L256 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 23 conjuncts are in the unsatisfiable core [2025-01-10 07:01:52,656 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:52,792 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 13 proven. 15 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2025-01-10 07:01:52,792 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.2 stem predicates 10 loop predicates [2025-01-10 07:01:52,793 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 747 states and 1391 transitions. cyclomatic complexity: 661 Second operand has 13 states, 11 states have (on average 2.727272727272727) internal successors, (30), 11 states have internal predecessors, (30), 6 states have call successors, (9), 2 states have call predecessors, (9), 5 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) [2025-01-10 07:01:53,074 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 747 states and 1391 transitions. cyclomatic complexity: 661. Second operand has 13 states, 11 states have (on average 2.727272727272727) internal successors, (30), 11 states have internal predecessors, (30), 6 states have call successors, (9), 2 states have call predecessors, (9), 5 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) Result 1295 states and 2137 transitions. Complement of second has 71 states. [2025-01-10 07:01:53,078 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 14 states 2 stem states 11 non-accepting loop states 1 accepting loop states [2025-01-10 07:01:53,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.727272727272727) internal successors, (30), 11 states have internal predecessors, (30), 6 states have call successors, (9), 2 states have call predecessors, (9), 5 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) [2025-01-10 07:01:53,079 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 66 transitions. [2025-01-10 07:01:53,079 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 14 states and 66 transitions. Stem has 28 letters. Loop has 32 letters. [2025-01-10 07:01:53,079 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:01:53,079 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 14 states and 66 transitions. Stem has 60 letters. Loop has 32 letters. [2025-01-10 07:01:53,080 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:01:53,080 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 14 states and 66 transitions. Stem has 28 letters. Loop has 64 letters. [2025-01-10 07:01:53,080 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:01:53,080 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1295 states and 2137 transitions. [2025-01-10 07:01:53,098 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 161 [2025-01-10 07:01:53,123 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1295 states to 1213 states and 1965 transitions. [2025-01-10 07:01:53,123 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 454 [2025-01-10 07:01:53,124 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 459 [2025-01-10 07:01:53,124 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1213 states and 1965 transitions. [2025-01-10 07:01:53,124 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:01:53,124 INFO L218 hiAutomatonCegarLoop]: Abstraction has 1213 states and 1965 transitions. [2025-01-10 07:01:53,125 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1213 states and 1965 transitions. [2025-01-10 07:01:53,168 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1213 to 1163. [2025-01-10 07:01:53,169 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1163 states, 729 states have (on average 1.1618655692729767) internal successors, (847), 726 states have internal predecessors, (847), 316 states have call successors, (320), 140 states have call predecessors, (320), 118 states have return successors, (736), 296 states have call predecessors, (736), 316 states have call successors, (736) [2025-01-10 07:01:53,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1163 states to 1163 states and 1903 transitions. [2025-01-10 07:01:53,175 INFO L240 hiAutomatonCegarLoop]: Abstraction has 1163 states and 1903 transitions. [2025-01-10 07:01:53,176 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:01:53,176 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2025-01-10 07:01:53,176 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2025-01-10 07:01:53,176 INFO L87 Difference]: Start difference. First operand 1163 states and 1903 transitions. Second operand has 10 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 1 states have call predecessors, (7), 2 states have return successors, (7), 4 states have call predecessors, (7), 3 states have call successors, (7) [2025-01-10 07:01:53,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:01:53,310 INFO L93 Difference]: Finished difference Result 1235 states and 2059 transitions. [2025-01-10 07:01:53,310 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1235 states and 2059 transitions. [2025-01-10 07:01:53,320 INFO L131 ngComponentsAnalysis]: Automaton has 10 accepting balls. 201 [2025-01-10 07:01:53,329 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1235 states to 1173 states and 1935 transitions. [2025-01-10 07:01:53,330 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 466 [2025-01-10 07:01:53,330 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 466 [2025-01-10 07:01:53,330 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1173 states and 1935 transitions. [2025-01-10 07:01:53,332 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:01:53,332 INFO L218 hiAutomatonCegarLoop]: Abstraction has 1173 states and 1935 transitions. [2025-01-10 07:01:53,332 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1173 states and 1935 transitions. [2025-01-10 07:01:53,351 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1173 to 1166. [2025-01-10 07:01:53,353 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1166 states, 721 states have (on average 1.145631067961165) internal successors, (826), 713 states have internal predecessors, (826), 337 states have call successors, (341), 130 states have call predecessors, (341), 108 states have return successors, (747), 322 states have call predecessors, (747), 334 states have call successors, (747) [2025-01-10 07:01:53,358 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1166 states to 1166 states and 1914 transitions. [2025-01-10 07:01:53,358 INFO L240 hiAutomatonCegarLoop]: Abstraction has 1166 states and 1914 transitions. [2025-01-10 07:01:53,358 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2025-01-10 07:01:53,359 INFO L432 stractBuchiCegarLoop]: Abstraction has 1166 states and 1914 transitions. [2025-01-10 07:01:53,359 INFO L338 stractBuchiCegarLoop]: ======== Iteration 15 ============ [2025-01-10 07:01:53,359 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1166 states and 1914 transitions. [2025-01-10 07:01:53,364 INFO L131 ngComponentsAnalysis]: Automaton has 10 accepting balls. 201 [2025-01-10 07:01:53,364 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:01:53,364 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:01:53,364 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [7, 6, 4, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:01:53,364 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2025-01-10 07:01:53,364 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< [2025-01-10 07:01:53,365 INFO L754 eck$LassoCheckResult]: Loop: "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< [2025-01-10 07:01:53,365 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:53,365 INFO L85 PathProgramCache]: Analyzing trace with hash 666598005, now seen corresponding path program 1 times [2025-01-10 07:01:53,365 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:53,365 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2145471596] [2025-01-10 07:01:53,365 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:53,365 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:53,368 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 48 statements into 1 equivalence classes. [2025-01-10 07:01:53,370 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 48 of 48 statements. [2025-01-10 07:01:53,370 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:53,370 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:53,430 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (53)] Ended with exit code 0 [2025-01-10 07:01:53,446 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 14 proven. 0 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2025-01-10 07:01:53,446 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:01:53,446 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2145471596] [2025-01-10 07:01:53,446 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2145471596] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:01:53,446 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-10 07:01:53,446 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2025-01-10 07:01:53,447 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [515400431] [2025-01-10 07:01:53,447 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:01:53,447 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:01:53,447 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:53,447 INFO L85 PathProgramCache]: Analyzing trace with hash 29970, now seen corresponding path program 2 times [2025-01-10 07:01:53,447 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:53,447 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [690878451] [2025-01-10 07:01:53,447 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:01:53,447 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:53,448 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 3 statements into 1 equivalence classes. [2025-01-10 07:01:53,449 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-01-10 07:01:53,449 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-01-10 07:01:53,449 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:53,449 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:01:53,449 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-01-10 07:01:53,449 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-01-10 07:01:53,449 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:53,449 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:53,450 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:01:53,483 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:01:53,483 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:01:53,483 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:01:53,483 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:01:53,483 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-01-10 07:01:53,483 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:53,483 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:01:53,483 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:01:53,484 INFO L132 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration15_Loop [2025-01-10 07:01:53,484 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:01:53,484 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:01:53,484 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:53,489 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:53,490 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:53,493 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:53,521 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:01:53,522 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-01-10 07:01:53,522 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:53,522 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:53,524 INFO L229 MonitoredProcess]: Starting monitored process 54 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:53,525 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (54)] Waiting until timeout for monitored process [2025-01-10 07:01:53,529 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:53,529 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:53,549 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (54)] Ended with exit code 0 [2025-01-10 07:01:53,549 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:53,550 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:53,555 INFO L229 MonitoredProcess]: Starting monitored process 55 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:53,555 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (55)] Waiting until timeout for monitored process [2025-01-10 07:01:53,556 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-01-10 07:01:53,556 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:53,596 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-01-10 07:01:53,605 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (55)] Ended with exit code 0 [2025-01-10 07:01:53,605 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:01:53,605 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:01:53,605 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:01:53,605 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:01:53,605 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-01-10 07:01:53,605 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:53,605 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:01:53,605 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:01:53,605 INFO L132 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration15_Loop [2025-01-10 07:01:53,605 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:01:53,605 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:01:53,606 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:53,614 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:53,618 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:53,622 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:53,650 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:01:53,650 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-01-10 07:01:53,651 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:53,651 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:53,653 INFO L229 MonitoredProcess]: Starting monitored process 56 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:53,659 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (56)] Waiting until timeout for monitored process [2025-01-10 07:01:53,660 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:53,670 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:53,670 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:53,670 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:53,670 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:53,670 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:53,672 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:53,672 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:53,674 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-01-10 07:01:53,676 INFO L443 ModelExtractionUtils]: Simplification made 2 calls to the SMT solver. [2025-01-10 07:01:53,676 INFO L444 ModelExtractionUtils]: 1 out of 3 variables were initially zero. Simplification set additionally 0 variables to zero. [2025-01-10 07:01:53,676 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:53,676 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:53,680 INFO L229 MonitoredProcess]: Starting monitored process 57 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:53,682 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (57)] Waiting until timeout for monitored process [2025-01-10 07:01:53,683 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-01-10 07:01:53,683 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-01-10 07:01:53,683 INFO L474 LassoAnalysis]: Proved termination. [2025-01-10 07:01:53,683 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(fact_#in~n) = 1*fact_#in~n Supporting invariants [] [2025-01-10 07:01:53,691 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (56)] Ended with exit code 0 [2025-01-10 07:01:53,691 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-01-10 07:01:53,710 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:53,727 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 48 statements into 1 equivalence classes. [2025-01-10 07:01:53,773 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 48 of 48 statements. [2025-01-10 07:01:53,774 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:53,774 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:53,776 INFO L256 TraceCheckSpWp]: Trace formula consists of 344 conjuncts, 18 conjuncts are in the unsatisfiable core [2025-01-10 07:01:53,777 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:54,041 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-01-10 07:01:54,044 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-01-10 07:01:54,044 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:54,044 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:54,045 INFO L256 TraceCheckSpWp]: Trace formula consists of 37 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-01-10 07:01:54,045 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:54,060 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:01:54,061 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.2 stem predicates 3 loop predicates [2025-01-10 07:01:54,061 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1166 states and 1914 transitions. cyclomatic complexity: 771 Second operand has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 3 states have call successors, (8), 3 states have call predecessors, (8), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2025-01-10 07:01:54,155 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1166 states and 1914 transitions. cyclomatic complexity: 771. Second operand has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 3 states have call successors, (8), 3 states have call predecessors, (8), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Result 1204 states and 1956 transitions. Complement of second has 15 states. [2025-01-10 07:01:54,155 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 6 states 2 stem states 3 non-accepting loop states 1 accepting loop states [2025-01-10 07:01:54,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 3 states have call successors, (8), 3 states have call predecessors, (8), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2025-01-10 07:01:54,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 32 transitions. [2025-01-10 07:01:54,156 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 32 transitions. Stem has 48 letters. Loop has 3 letters. [2025-01-10 07:01:54,156 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:01:54,156 INFO L689 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2025-01-10 07:01:54,164 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:54,176 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 48 statements into 1 equivalence classes. [2025-01-10 07:01:54,200 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 48 of 48 statements. [2025-01-10 07:01:54,201 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:54,201 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:54,208 INFO L256 TraceCheckSpWp]: Trace formula consists of 344 conjuncts, 18 conjuncts are in the unsatisfiable core [2025-01-10 07:01:54,209 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:54,369 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-01-10 07:01:54,372 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-01-10 07:01:54,373 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:54,373 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:54,373 INFO L256 TraceCheckSpWp]: Trace formula consists of 37 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-01-10 07:01:54,373 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:54,388 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:01:54,389 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and with honda bouncer for loop.2 stem predicates 3 loop predicates [2025-01-10 07:01:54,389 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1166 states and 1914 transitions. cyclomatic complexity: 771 Second operand has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 3 states have call successors, (8), 3 states have call predecessors, (8), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2025-01-10 07:01:54,471 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1166 states and 1914 transitions. cyclomatic complexity: 771. Second operand has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 3 states have call successors, (8), 3 states have call predecessors, (8), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Result 1204 states and 1956 transitions. Complement of second has 15 states. [2025-01-10 07:01:54,472 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 6 states 2 stem states 3 non-accepting loop states 1 accepting loop states [2025-01-10 07:01:54,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 3 states have call successors, (8), 3 states have call predecessors, (8), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2025-01-10 07:01:54,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 32 transitions. [2025-01-10 07:01:54,473 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 32 transitions. Stem has 48 letters. Loop has 3 letters. [2025-01-10 07:01:54,473 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:01:54,473 INFO L689 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2025-01-10 07:01:54,480 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:54,492 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 48 statements into 1 equivalence classes. [2025-01-10 07:01:54,521 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 48 of 48 statements. [2025-01-10 07:01:54,521 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:54,521 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:54,522 INFO L256 TraceCheckSpWp]: Trace formula consists of 344 conjuncts, 18 conjuncts are in the unsatisfiable core [2025-01-10 07:01:54,524 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:54,684 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 3 statements into 1 equivalence classes. [2025-01-10 07:01:54,688 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 3 of 3 statements. [2025-01-10 07:01:54,688 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:54,688 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:54,688 INFO L256 TraceCheckSpWp]: Trace formula consists of 37 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-01-10 07:01:54,689 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:54,705 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-10 07:01:54,705 INFO L141 lantAutomatonBouncer]: Defining Buchi interpolant automaton with scrooge nondeterminism in stemwith honda bouncer for stem and without honda bouncer for loop.2 stem predicates 3 loop predicates [2025-01-10 07:01:54,706 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1166 states and 1914 transitions. cyclomatic complexity: 771 Second operand has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 3 states have call successors, (8), 3 states have call predecessors, (8), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2025-01-10 07:01:54,786 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1166 states and 1914 transitions. cyclomatic complexity: 771. Second operand has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 3 states have call successors, (8), 3 states have call predecessors, (8), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Result 1338 states and 2130 transitions. Complement of second has 19 states. [2025-01-10 07:01:54,786 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 6 states 2 stem states 3 non-accepting loop states 1 accepting loop states [2025-01-10 07:01:54,787 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 3 states have call successors, (8), 3 states have call predecessors, (8), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2025-01-10 07:01:54,787 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 39 transitions. [2025-01-10 07:01:54,787 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 39 transitions. Stem has 48 letters. Loop has 3 letters. [2025-01-10 07:01:54,788 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:01:54,788 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 39 transitions. Stem has 51 letters. Loop has 3 letters. [2025-01-10 07:01:54,788 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:01:54,788 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 39 transitions. Stem has 48 letters. Loop has 6 letters. [2025-01-10 07:01:54,788 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:01:54,788 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1338 states and 2130 transitions. [2025-01-10 07:01:54,800 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 195 [2025-01-10 07:01:54,812 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1338 states to 1219 states and 1979 transitions. [2025-01-10 07:01:54,812 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 447 [2025-01-10 07:01:54,813 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 469 [2025-01-10 07:01:54,813 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1219 states and 1979 transitions. [2025-01-10 07:01:54,813 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:01:54,813 INFO L218 hiAutomatonCegarLoop]: Abstraction has 1219 states and 1979 transitions. [2025-01-10 07:01:54,814 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1219 states and 1979 transitions. [2025-01-10 07:01:54,834 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1219 to 1191. [2025-01-10 07:01:54,835 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1191 states, 743 states have (on average 1.1480484522207268) internal successors, (853), 730 states have internal predecessors, (853), 334 states have call successors, (338), 140 states have call predecessors, (338), 114 states have return successors, (742), 320 states have call predecessors, (742), 334 states have call successors, (742) [2025-01-10 07:01:54,840 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1191 states to 1191 states and 1933 transitions. [2025-01-10 07:01:54,840 INFO L240 hiAutomatonCegarLoop]: Abstraction has 1191 states and 1933 transitions. [2025-01-10 07:01:54,840 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:01:54,840 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-01-10 07:01:54,841 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2025-01-10 07:01:54,841 INFO L87 Difference]: Start difference. First operand 1191 states and 1933 transitions. Second operand has 6 states, 4 states have (on average 4.5) internal successors, (18), 5 states have internal predecessors, (18), 4 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2025-01-10 07:01:54,881 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (57)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:54,957 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:01:54,961 INFO L93 Difference]: Finished difference Result 1137 states and 1801 transitions. [2025-01-10 07:01:54,962 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1137 states and 1801 transitions. [2025-01-10 07:01:54,975 INFO L131 ngComponentsAnalysis]: Automaton has 7 accepting balls. 186 [2025-01-10 07:01:54,985 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1137 states to 1101 states and 1763 transitions. [2025-01-10 07:01:54,985 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 417 [2025-01-10 07:01:54,986 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 417 [2025-01-10 07:01:54,986 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1101 states and 1763 transitions. [2025-01-10 07:01:54,986 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:01:54,986 INFO L218 hiAutomatonCegarLoop]: Abstraction has 1101 states and 1763 transitions. [2025-01-10 07:01:54,987 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1101 states and 1763 transitions. [2025-01-10 07:01:55,007 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1101 to 1083. [2025-01-10 07:01:55,009 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1083 states, 682 states have (on average 1.1436950146627567) internal successors, (780), 677 states have internal predecessors, (780), 289 states have call successors, (293), 124 states have call predecessors, (293), 112 states have return successors, (662), 281 states have call predecessors, (662), 289 states have call successors, (662) [2025-01-10 07:01:55,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1083 states to 1083 states and 1735 transitions. [2025-01-10 07:01:55,012 INFO L240 hiAutomatonCegarLoop]: Abstraction has 1083 states and 1735 transitions. [2025-01-10 07:01:55,013 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-01-10 07:01:55,013 INFO L432 stractBuchiCegarLoop]: Abstraction has 1083 states and 1735 transitions. [2025-01-10 07:01:55,013 INFO L338 stractBuchiCegarLoop]: ======== Iteration 16 ============ [2025-01-10 07:01:55,013 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1083 states and 1735 transitions. [2025-01-10 07:01:55,017 INFO L131 ngComponentsAnalysis]: Automaton has 7 accepting balls. 184 [2025-01-10 07:01:55,018 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:01:55,018 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:01:55,020 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [9, 9, 7, 3, 2, 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] [2025-01-10 07:01:55,020 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [11, 11, 6, 5, 5, 5, 5, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:01:55,020 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" [2025-01-10 07:01:55,020 INFO L754 eck$LassoCheckResult]: Loop: "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" [2025-01-10 07:01:55,020 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:55,021 INFO L85 PathProgramCache]: Analyzing trace with hash -519292713, now seen corresponding path program 1 times [2025-01-10 07:01:55,021 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:55,021 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2053862640] [2025-01-10 07:01:55,021 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:55,021 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:55,026 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 66 statements into 1 equivalence classes. [2025-01-10 07:01:55,029 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 66 of 66 statements. [2025-01-10 07:01:55,031 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:55,031 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:55,076 INFO L134 CoverageAnalysis]: Checked inductivity of 158 backedges. 20 proven. 15 refuted. 0 times theorem prover too weak. 123 trivial. 0 not checked. [2025-01-10 07:01:55,077 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:01:55,077 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2053862640] [2025-01-10 07:01:55,077 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2053862640] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:01:55,077 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1162220508] [2025-01-10 07:01:55,077 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:55,077 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:01:55,077 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:55,082 INFO L229 MonitoredProcess]: Starting monitored process 58 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:01:55,084 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (58)] Waiting until timeout for monitored process [2025-01-10 07:01:55,115 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 66 statements into 1 equivalence classes. [2025-01-10 07:01:55,129 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 66 of 66 statements. [2025-01-10 07:01:55,129 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:55,129 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:55,131 INFO L256 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-01-10 07:01:55,132 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:55,147 INFO L134 CoverageAnalysis]: Checked inductivity of 158 backedges. 100 proven. 0 refuted. 0 times theorem prover too weak. 58 trivial. 0 not checked. [2025-01-10 07:01:55,148 INFO L308 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2025-01-10 07:01:55,148 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1162220508] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-10 07:01:55,148 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2025-01-10 07:01:55,148 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [7] total 7 [2025-01-10 07:01:55,148 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1057571426] [2025-01-10 07:01:55,148 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-10 07:01:55,148 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:01:55,149 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:55,149 INFO L85 PathProgramCache]: Analyzing trace with hash -1028105408, now seen corresponding path program 7 times [2025-01-10 07:01:55,149 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:55,149 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1086520067] [2025-01-10 07:01:55,149 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-01-10 07:01:55,149 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:55,152 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 72 statements into 1 equivalence classes. [2025-01-10 07:01:55,156 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 72 of 72 statements. [2025-01-10 07:01:55,156 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:55,156 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:55,288 INFO L134 CoverageAnalysis]: Checked inductivity of 245 backedges. 72 proven. 66 refuted. 0 times theorem prover too weak. 107 trivial. 0 not checked. [2025-01-10 07:01:55,288 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:01:55,289 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1086520067] [2025-01-10 07:01:55,289 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1086520067] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:01:55,289 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1717496044] [2025-01-10 07:01:55,289 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-01-10 07:01:55,289 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:01:55,289 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:55,292 INFO L229 MonitoredProcess]: Starting monitored process 59 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:01:55,304 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (59)] Waiting until timeout for monitored process [2025-01-10 07:01:55,340 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 72 statements into 1 equivalence classes. [2025-01-10 07:01:55,353 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 72 of 72 statements. [2025-01-10 07:01:55,353 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:55,353 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:55,354 INFO L256 TraceCheckSpWp]: Trace formula consists of 172 conjuncts, 13 conjuncts are in the unsatisfiable core [2025-01-10 07:01:55,355 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:55,395 INFO L134 CoverageAnalysis]: Checked inductivity of 245 backedges. 151 proven. 29 refuted. 0 times theorem prover too weak. 65 trivial. 0 not checked. [2025-01-10 07:01:55,395 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:01:55,643 INFO L134 CoverageAnalysis]: Checked inductivity of 245 backedges. 71 proven. 68 refuted. 0 times theorem prover too weak. 106 trivial. 0 not checked. [2025-01-10 07:01:55,643 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1717496044] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:01:55,644 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:01:55,644 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10, 12] total 20 [2025-01-10 07:01:55,644 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1024339128] [2025-01-10 07:01:55,644 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:01:55,644 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-01-10 07:01:55,644 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:01:55,644 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2025-01-10 07:01:55,644 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2025-01-10 07:01:55,645 INFO L87 Difference]: Start difference. First operand 1083 states and 1735 transitions. cyclomatic complexity: 672 Second operand has 7 states, 6 states have (on average 5.0) internal successors, (30), 7 states have internal predecessors, (30), 3 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (8), 2 states have call predecessors, (8), 3 states have call successors, (8) [2025-01-10 07:01:55,726 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:01:55,727 INFO L93 Difference]: Finished difference Result 939 states and 1489 transitions. [2025-01-10 07:01:55,727 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 939 states and 1489 transitions. [2025-01-10 07:01:55,732 INFO L131 ngComponentsAnalysis]: Automaton has 6 accepting balls. 161 [2025-01-10 07:01:55,738 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 939 states to 779 states and 1301 transitions. [2025-01-10 07:01:55,738 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 380 [2025-01-10 07:01:55,739 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 380 [2025-01-10 07:01:55,739 INFO L73 IsDeterministic]: Start isDeterministic. Operand 779 states and 1301 transitions. [2025-01-10 07:01:55,739 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:01:55,739 INFO L218 hiAutomatonCegarLoop]: Abstraction has 779 states and 1301 transitions. [2025-01-10 07:01:55,739 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 779 states and 1301 transitions. [2025-01-10 07:01:55,770 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 779 to 733. [2025-01-10 07:01:55,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 733 states, 450 states have (on average 1.1466666666666667) internal successors, (516), 445 states have internal predecessors, (516), 219 states have call successors, (219), 66 states have call predecessors, (219), 64 states have return successors, (514), 221 states have call predecessors, (514), 219 states have call successors, (514) [2025-01-10 07:01:55,773 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 733 states to 733 states and 1249 transitions. [2025-01-10 07:01:55,773 INFO L240 hiAutomatonCegarLoop]: Abstraction has 733 states and 1249 transitions. [2025-01-10 07:01:55,774 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2025-01-10 07:01:55,774 INFO L432 stractBuchiCegarLoop]: Abstraction has 733 states and 1249 transitions. [2025-01-10 07:01:55,774 INFO L338 stractBuchiCegarLoop]: ======== Iteration 17 ============ [2025-01-10 07:01:55,774 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 733 states and 1249 transitions. [2025-01-10 07:01:55,777 INFO L131 ngComponentsAnalysis]: Automaton has 6 accepting balls. 152 [2025-01-10 07:01:55,777 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:01:55,777 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:01:55,778 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [10, 10, 7, 3, 3, 3, 3, 3, 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] [2025-01-10 07:01:55,778 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [12, 12, 6, 6, 6, 6, 6, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:01:55,778 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" [2025-01-10 07:01:55,778 INFO L754 eck$LassoCheckResult]: Loop: "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" [2025-01-10 07:01:55,779 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:55,779 INFO L85 PathProgramCache]: Analyzing trace with hash -388481293, now seen corresponding path program 2 times [2025-01-10 07:01:55,779 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:55,779 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1408841365] [2025-01-10 07:01:55,779 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:01:55,779 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:55,783 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 72 statements into 2 equivalence classes. [2025-01-10 07:01:55,788 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 72 of 72 statements. [2025-01-10 07:01:55,788 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:01:55,788 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-01-10 07:01:55,789 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [795902558] [2025-01-10 07:01:55,789 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:01:55,789 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:01:55,789 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:55,792 INFO L229 MonitoredProcess]: Starting monitored process 60 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:01:55,793 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (60)] Waiting until timeout for monitored process [2025-01-10 07:01:55,831 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 72 statements into 2 equivalence classes. [2025-01-10 07:01:55,853 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 72 of 72 statements. [2025-01-10 07:01:55,853 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:01:55,853 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:55,854 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:01:55,862 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 72 statements into 1 equivalence classes. [2025-01-10 07:01:55,870 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 72 of 72 statements. [2025-01-10 07:01:55,870 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:55,870 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:55,883 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:01:55,884 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:55,884 INFO L85 PathProgramCache]: Analyzing trace with hash 794885668, now seen corresponding path program 8 times [2025-01-10 07:01:55,884 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:55,884 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1403075018] [2025-01-10 07:01:55,884 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:01:55,884 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:55,888 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 78 statements into 2 equivalence classes. [2025-01-10 07:01:55,893 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 78 of 78 statements. [2025-01-10 07:01:55,894 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:01:55,894 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:56,021 INFO L134 CoverageAnalysis]: Checked inductivity of 299 backedges. 93 proven. 17 refuted. 0 times theorem prover too weak. 189 trivial. 0 not checked. [2025-01-10 07:01:56,022 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:01:56,022 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1403075018] [2025-01-10 07:01:56,022 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1403075018] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:01:56,022 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [356737647] [2025-01-10 07:01:56,022 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:01:56,022 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:01:56,022 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:56,029 INFO L229 MonitoredProcess]: Starting monitored process 61 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:01:56,040 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (61)] Waiting until timeout for monitored process [2025-01-10 07:01:56,081 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 78 statements into 2 equivalence classes. [2025-01-10 07:01:56,096 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 78 of 78 statements. [2025-01-10 07:01:56,097 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:01:56,097 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:56,097 INFO L256 TraceCheckSpWp]: Trace formula consists of 184 conjuncts, 13 conjuncts are in the unsatisfiable core [2025-01-10 07:01:56,099 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:56,150 INFO L134 CoverageAnalysis]: Checked inductivity of 299 backedges. 93 proven. 19 refuted. 0 times theorem prover too weak. 187 trivial. 0 not checked. [2025-01-10 07:01:56,150 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:01:56,343 INFO L134 CoverageAnalysis]: Checked inductivity of 299 backedges. 93 proven. 20 refuted. 0 times theorem prover too weak. 186 trivial. 0 not checked. [2025-01-10 07:01:56,343 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [356737647] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:01:56,344 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:01:56,344 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10, 11] total 18 [2025-01-10 07:01:56,344 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2021920600] [2025-01-10 07:01:56,344 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:01:56,344 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-01-10 07:01:56,344 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:01:56,344 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2025-01-10 07:01:56,345 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=274, Unknown=0, NotChecked=0, Total=342 [2025-01-10 07:01:56,345 INFO L87 Difference]: Start difference. First operand 733 states and 1249 transitions. cyclomatic complexity: 529 Second operand has 19 states, 14 states have (on average 2.9285714285714284) internal successors, (41), 17 states have internal predecessors, (41), 11 states have call successors, (16), 1 states have call predecessors, (16), 4 states have return successors, (16), 10 states have call predecessors, (16), 11 states have call successors, (16) [2025-01-10 07:01:56,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:01:56,695 INFO L93 Difference]: Finished difference Result 885 states and 1553 transitions. [2025-01-10 07:01:56,695 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 885 states and 1553 transitions. [2025-01-10 07:01:56,701 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 207 [2025-01-10 07:01:56,707 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 885 states to 692 states and 1166 transitions. [2025-01-10 07:01:56,708 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 430 [2025-01-10 07:01:56,708 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 432 [2025-01-10 07:01:56,708 INFO L73 IsDeterministic]: Start isDeterministic. Operand 692 states and 1166 transitions. [2025-01-10 07:01:56,708 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:01:56,708 INFO L218 hiAutomatonCegarLoop]: Abstraction has 692 states and 1166 transitions. [2025-01-10 07:01:56,709 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 692 states and 1166 transitions. [2025-01-10 07:01:56,721 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 692 to 656. [2025-01-10 07:01:56,722 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 656 states, 400 states have (on average 1.1425) internal successors, (457), 399 states have internal predecessors, (457), 199 states have call successors, (199), 58 states have call predecessors, (199), 57 states have return successors, (442), 198 states have call predecessors, (442), 199 states have call successors, (442) [2025-01-10 07:01:56,724 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 656 states to 656 states and 1098 transitions. [2025-01-10 07:01:56,724 INFO L240 hiAutomatonCegarLoop]: Abstraction has 656 states and 1098 transitions. [2025-01-10 07:01:56,725 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2025-01-10 07:01:56,725 INFO L432 stractBuchiCegarLoop]: Abstraction has 656 states and 1098 transitions. [2025-01-10 07:01:56,725 INFO L338 stractBuchiCegarLoop]: ======== Iteration 18 ============ [2025-01-10 07:01:56,725 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 656 states and 1098 transitions. [2025-01-10 07:01:56,728 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 193 [2025-01-10 07:01:56,729 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:01:56,729 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:01:56,729 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [8, 8, 6, 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] [2025-01-10 07:01:56,729 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [9, 9, 6, 6, 6, 6, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:01:56,729 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" [2025-01-10 07:01:56,730 INFO L754 eck$LassoCheckResult]: Loop: "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" [2025-01-10 07:01:56,730 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:56,730 INFO L85 PathProgramCache]: Analyzing trace with hash -1481379393, now seen corresponding path program 1 times [2025-01-10 07:01:56,730 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:56,730 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1117092483] [2025-01-10 07:01:56,730 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:56,730 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:56,733 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 54 statements into 1 equivalence classes. [2025-01-10 07:01:56,736 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 54 of 54 statements. [2025-01-10 07:01:56,737 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:56,737 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-01-10 07:01:56,737 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1581217921] [2025-01-10 07:01:56,737 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:56,737 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:01:56,737 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:56,740 INFO L229 MonitoredProcess]: Starting monitored process 62 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:01:56,741 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (62)] Waiting until timeout for monitored process [2025-01-10 07:01:56,775 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 54 statements into 1 equivalence classes. [2025-01-10 07:01:56,786 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 54 of 54 statements. [2025-01-10 07:01:56,786 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:56,787 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:56,787 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:01:56,792 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 54 statements into 1 equivalence classes. [2025-01-10 07:01:56,798 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 54 of 54 statements. [2025-01-10 07:01:56,798 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:56,798 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:56,807 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:01:56,808 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:56,808 INFO L85 PathProgramCache]: Analyzing trace with hash -1735727328, now seen corresponding path program 1 times [2025-01-10 07:01:56,808 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:56,808 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [529407325] [2025-01-10 07:01:56,808 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:56,808 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:56,811 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 56 statements into 1 equivalence classes. [2025-01-10 07:01:56,814 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 56 of 56 statements. [2025-01-10 07:01:56,814 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:56,814 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-01-10 07:01:56,815 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1394759698] [2025-01-10 07:01:56,815 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:56,815 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:01:56,815 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:56,817 INFO L229 MonitoredProcess]: Starting monitored process 63 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:01:56,819 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (63)] Waiting until timeout for monitored process [2025-01-10 07:01:56,852 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 56 statements into 1 equivalence classes. [2025-01-10 07:01:56,866 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 56 of 56 statements. [2025-01-10 07:01:56,866 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:56,866 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:56,866 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:01:56,871 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 56 statements into 1 equivalence classes. [2025-01-10 07:01:56,878 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 56 of 56 statements. [2025-01-10 07:01:56,878 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:56,878 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:01:56,887 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:01:56,887 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:56,887 INFO L85 PathProgramCache]: Analyzing trace with hash -879327522, now seen corresponding path program 1 times [2025-01-10 07:01:56,887 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:56,888 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1139205534] [2025-01-10 07:01:56,888 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:56,888 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:56,892 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 110 statements into 1 equivalence classes. [2025-01-10 07:01:56,896 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 110 of 110 statements. [2025-01-10 07:01:56,896 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:56,896 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:56,991 INFO L134 CoverageAnalysis]: Checked inductivity of 610 backedges. 101 proven. 79 refuted. 0 times theorem prover too weak. 430 trivial. 0 not checked. [2025-01-10 07:01:56,992 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:01:56,992 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1139205534] [2025-01-10 07:01:56,992 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1139205534] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:01:56,992 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [820417270] [2025-01-10 07:01:56,992 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-10 07:01:56,992 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:01:56,992 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:56,997 INFO L229 MonitoredProcess]: Starting monitored process 64 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:01:57,004 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (64)] Waiting until timeout for monitored process [2025-01-10 07:01:57,060 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 110 statements into 1 equivalence classes. [2025-01-10 07:01:57,079 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 110 of 110 statements. [2025-01-10 07:01:57,079 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:57,079 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:57,081 INFO L256 TraceCheckSpWp]: Trace formula consists of 257 conjuncts, 12 conjuncts are in the unsatisfiable core [2025-01-10 07:01:57,082 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:57,140 INFO L134 CoverageAnalysis]: Checked inductivity of 610 backedges. 371 proven. 13 refuted. 0 times theorem prover too weak. 226 trivial. 0 not checked. [2025-01-10 07:01:57,140 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:01:57,394 INFO L134 CoverageAnalysis]: Checked inductivity of 610 backedges. 101 proven. 80 refuted. 0 times theorem prover too weak. 429 trivial. 0 not checked. [2025-01-10 07:01:57,394 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [820417270] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:01:57,394 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:01:57,394 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10, 12] total 15 [2025-01-10 07:01:57,394 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1253876599] [2025-01-10 07:01:57,394 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:01:57,711 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:01:57,711 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:01:57,712 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:01:57,712 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:01:57,712 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-01-10 07:01:57,712 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:57,712 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:01:57,712 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:01:57,712 INFO L132 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration18_Loop [2025-01-10 07:01:57,712 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:01:57,712 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:01:57,712 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:57,715 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:57,716 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:57,717 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:57,719 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:57,721 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:57,723 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:57,724 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:57,726 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:57,727 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:57,731 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:57,733 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:57,784 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:01:57,784 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-01-10 07:01:57,784 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:57,785 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:57,787 INFO L229 MonitoredProcess]: Starting monitored process 65 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:57,788 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (65)] Waiting until timeout for monitored process [2025-01-10 07:01:57,789 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:57,789 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:57,799 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:01:57,800 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_~k#1=0} Honda state: {ULTIMATE.start_binomialCoefficient_~k#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:01:57,805 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (65)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:57,805 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:57,806 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:57,807 INFO L229 MonitoredProcess]: Starting monitored process 66 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:57,808 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (66)] Waiting until timeout for monitored process [2025-01-10 07:01:57,810 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:57,810 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:57,821 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:01:57,821 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_#in~n#1=0} Honda state: {ULTIMATE.start_binomialCoefficient_#in~n#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:01:57,827 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (66)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:57,827 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:57,828 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:57,830 INFO L229 MonitoredProcess]: Starting monitored process 67 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:57,830 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (67)] Waiting until timeout for monitored process [2025-01-10 07:01:57,832 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:57,832 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:57,843 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:01:57,843 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_#t~post9#1=0} Honda state: {ULTIMATE.start_main_#t~post9#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:01:57,849 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (67)] Ended with exit code 0 [2025-01-10 07:01:57,850 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:57,850 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:57,852 INFO L229 MonitoredProcess]: Starting monitored process 68 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:57,853 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (68)] Waiting until timeout for monitored process [2025-01-10 07:01:57,854 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:57,854 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:57,866 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:01:57,866 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_~n~0#1=0} Honda state: {ULTIMATE.start_main_~n~0#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:01:57,872 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (68)] Ended with exit code 0 [2025-01-10 07:01:57,872 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:57,872 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:57,875 INFO L229 MonitoredProcess]: Starting monitored process 69 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:57,876 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (69)] Waiting until timeout for monitored process [2025-01-10 07:01:57,877 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:57,877 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:57,889 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:01:57,889 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_~n#1=3} Honda state: {ULTIMATE.start_binomialCoefficient_~n#1=3} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:01:57,895 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (69)] Ended with exit code 0 [2025-01-10 07:01:57,896 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:57,896 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:57,898 INFO L229 MonitoredProcess]: Starting monitored process 70 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:57,899 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (70)] Waiting until timeout for monitored process [2025-01-10 07:01:57,901 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:57,901 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:57,912 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:01:57,912 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_#t~ret3#1=6} Honda state: {ULTIMATE.start_binomialCoefficient_#t~ret3#1=6} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:01:57,919 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (70)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:57,919 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:57,919 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:57,921 INFO L229 MonitoredProcess]: Starting monitored process 71 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:57,922 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (71)] Waiting until timeout for monitored process [2025-01-10 07:01:57,923 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:57,924 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:57,934 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:01:57,934 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_#in~k#1=0} Honda state: {ULTIMATE.start_binomialCoefficient_#in~k#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:01:57,941 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (71)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:57,941 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:57,941 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:57,943 INFO L229 MonitoredProcess]: Starting monitored process 72 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:57,945 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (72)] Waiting until timeout for monitored process [2025-01-10 07:01:57,946 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:57,946 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:57,964 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:01:57,964 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_~x~0#1=3} Honda state: {ULTIMATE.start_main_~x~0#1=3} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:01:57,969 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (72)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:57,970 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:57,970 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:57,972 INFO L229 MonitoredProcess]: Starting monitored process 73 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:57,972 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (73)] Waiting until timeout for monitored process [2025-01-10 07:01:57,974 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:57,974 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:57,988 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:01:57,989 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_#res#1=0} Honda state: {ULTIMATE.start_binomialCoefficient_#res#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:01:57,995 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (73)] Ended with exit code 0 [2025-01-10 07:01:57,995 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:57,995 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:57,997 INFO L229 MonitoredProcess]: Starting monitored process 74 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:57,998 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (74)] Waiting until timeout for monitored process [2025-01-10 07:01:58,000 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:01:58,000 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:58,022 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (74)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:58,023 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:58,023 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:58,025 INFO L229 MonitoredProcess]: Starting monitored process 75 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:58,026 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (75)] Waiting until timeout for monitored process [2025-01-10 07:01:58,027 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-01-10 07:01:58,027 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:01:58,039 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-01-10 07:01:58,045 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (75)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:58,045 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:01:58,045 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:01:58,045 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:01:58,045 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:01:58,045 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-01-10 07:01:58,045 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:58,045 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:01:58,045 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:01:58,045 INFO L132 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration18_Loop [2025-01-10 07:01:58,045 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:01:58,045 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:01:58,045 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:58,048 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:58,049 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:58,050 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:58,052 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:58,053 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:58,055 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:58,056 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:58,057 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:58,059 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:58,062 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:58,063 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:01:58,111 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:01:58,112 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-01-10 07:01:58,112 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:58,112 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:58,115 INFO L229 MonitoredProcess]: Starting monitored process 76 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:58,115 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (76)] Waiting until timeout for monitored process [2025-01-10 07:01:58,116 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:58,125 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:58,125 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:58,125 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:58,126 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:58,126 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:58,127 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:58,127 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:58,128 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:01:58,137 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (76)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:58,137 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:58,137 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:58,142 INFO L229 MonitoredProcess]: Starting monitored process 77 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:58,143 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (77)] Waiting until timeout for monitored process [2025-01-10 07:01:58,144 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:58,154 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:58,154 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:58,154 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:58,154 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:58,154 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:58,155 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:58,155 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:58,156 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:01:58,161 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (77)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:58,162 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:58,162 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:58,165 INFO L229 MonitoredProcess]: Starting monitored process 78 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:58,169 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:58,169 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (78)] Waiting until timeout for monitored process [2025-01-10 07:01:58,179 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:58,179 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:58,179 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:58,179 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:58,179 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:58,180 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:58,180 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:58,181 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:01:58,186 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (78)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:58,187 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:58,187 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:58,189 INFO L229 MonitoredProcess]: Starting monitored process 79 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:58,189 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (79)] Waiting until timeout for monitored process [2025-01-10 07:01:58,190 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:58,199 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:58,200 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:58,200 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:58,200 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:58,200 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:58,201 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:58,201 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:58,202 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:01:58,207 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (79)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:58,208 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:58,208 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:58,210 INFO L229 MonitoredProcess]: Starting monitored process 80 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:58,211 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (80)] Waiting until timeout for monitored process [2025-01-10 07:01:58,212 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:58,221 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:58,221 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:58,221 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:58,221 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:58,221 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:58,222 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:58,222 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:58,223 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:01:58,228 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (80)] Ended with exit code 0 [2025-01-10 07:01:58,229 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:58,229 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:58,233 INFO L229 MonitoredProcess]: Starting monitored process 81 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:58,234 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (81)] Waiting until timeout for monitored process [2025-01-10 07:01:58,235 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:58,244 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:58,244 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:58,244 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:58,244 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:58,244 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:58,245 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:58,245 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:58,246 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:01:58,251 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (81)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:58,251 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:58,252 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:58,253 INFO L229 MonitoredProcess]: Starting monitored process 82 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:58,255 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (82)] Waiting until timeout for monitored process [2025-01-10 07:01:58,256 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:58,266 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:58,266 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:58,266 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:58,266 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:58,266 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:58,266 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:58,266 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:58,268 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:01:58,273 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (82)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:58,274 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:58,274 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:58,276 INFO L229 MonitoredProcess]: Starting monitored process 83 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:58,278 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (83)] Waiting until timeout for monitored process [2025-01-10 07:01:58,279 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:58,288 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:58,288 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:58,289 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:58,289 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:58,289 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:58,289 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:58,289 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:58,290 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:01:58,296 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (83)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:58,296 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:58,297 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:58,298 INFO L229 MonitoredProcess]: Starting monitored process 84 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:58,300 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (84)] Waiting until timeout for monitored process [2025-01-10 07:01:58,301 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:58,311 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:58,311 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:58,311 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:58,311 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:58,311 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:58,312 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:58,312 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:58,313 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:01:58,319 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (84)] Forceful destruction successful, exit code 0 [2025-01-10 07:01:58,319 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:58,319 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:58,323 INFO L229 MonitoredProcess]: Starting monitored process 85 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:58,323 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (85)] Waiting until timeout for monitored process [2025-01-10 07:01:58,324 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:01:58,334 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:01:58,334 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:01:58,334 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:01:58,334 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:01:58,334 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:01:58,334 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:01:58,334 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:01:58,336 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-01-10 07:01:58,338 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-01-10 07:01:58,338 INFO L444 ModelExtractionUtils]: 0 out of 3 variables were initially zero. Simplification set additionally 0 variables to zero. [2025-01-10 07:01:58,338 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:01:58,338 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:58,340 INFO L229 MonitoredProcess]: Starting monitored process 86 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:01:58,341 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (86)] Waiting until timeout for monitored process [2025-01-10 07:01:58,342 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-01-10 07:01:58,342 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-01-10 07:01:58,342 INFO L474 LassoAnalysis]: Proved termination. [2025-01-10 07:01:58,342 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~k~0#1) = -2*ULTIMATE.start_main_~k~0#1 + 5 Supporting invariants [] [2025-01-10 07:01:58,347 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (85)] Ended with exit code 0 [2025-01-10 07:01:58,348 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-01-10 07:01:58,356 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:58,368 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 54 statements into 1 equivalence classes. [2025-01-10 07:01:58,394 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 54 of 54 statements. [2025-01-10 07:01:58,394 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:58,394 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:58,395 INFO L256 TraceCheckSpWp]: Trace formula consists of 357 conjuncts, 18 conjuncts are in the unsatisfiable core [2025-01-10 07:01:58,396 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:58,687 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 56 statements into 1 equivalence classes. [2025-01-10 07:01:58,715 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 56 of 56 statements. [2025-01-10 07:01:58,716 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:01:58,716 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:58,718 INFO L256 TraceCheckSpWp]: Trace formula consists of 378 conjuncts, 32 conjuncts are in the unsatisfiable core [2025-01-10 07:01:58,721 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:58,893 INFO L134 CoverageAnalysis]: Checked inductivity of 174 backedges. 0 proven. 93 refuted. 0 times theorem prover too weak. 81 trivial. 0 not checked. [2025-01-10 07:01:58,894 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.2 stem predicates 10 loop predicates [2025-01-10 07:01:58,894 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 656 states and 1098 transitions. cyclomatic complexity: 461 Second operand has 13 states, 11 states have (on average 3.272727272727273) internal successors, (36), 11 states have internal predecessors, (36), 6 states have call successors, (12), 2 states have call predecessors, (12), 6 states have return successors, (14), 8 states have call predecessors, (14), 6 states have call successors, (14) [2025-01-10 07:01:59,119 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 656 states and 1098 transitions. cyclomatic complexity: 461. Second operand has 13 states, 11 states have (on average 3.272727272727273) internal successors, (36), 11 states have internal predecessors, (36), 6 states have call successors, (12), 2 states have call predecessors, (12), 6 states have return successors, (14), 8 states have call predecessors, (14), 6 states have call successors, (14) Result 933 states and 1419 transitions. Complement of second has 69 states. [2025-01-10 07:01:59,120 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 15 states 2 stem states 12 non-accepting loop states 1 accepting loop states [2025-01-10 07:01:59,121 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 3.272727272727273) internal successors, (36), 11 states have internal predecessors, (36), 6 states have call successors, (12), 2 states have call predecessors, (12), 6 states have return successors, (14), 8 states have call predecessors, (14), 6 states have call successors, (14) [2025-01-10 07:01:59,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 76 transitions. [2025-01-10 07:01:59,121 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 15 states and 76 transitions. Stem has 54 letters. Loop has 56 letters. [2025-01-10 07:01:59,122 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:01:59,122 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 15 states and 76 transitions. Stem has 110 letters. Loop has 56 letters. [2025-01-10 07:01:59,123 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:01:59,123 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 15 states and 76 transitions. Stem has 54 letters. Loop has 112 letters. [2025-01-10 07:01:59,124 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:01:59,126 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 933 states and 1419 transitions. [2025-01-10 07:01:59,131 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 193 [2025-01-10 07:01:59,138 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 933 states to 909 states and 1387 transitions. [2025-01-10 07:01:59,138 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 455 [2025-01-10 07:01:59,138 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 457 [2025-01-10 07:01:59,139 INFO L73 IsDeterministic]: Start isDeterministic. Operand 909 states and 1387 transitions. [2025-01-10 07:01:59,139 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:01:59,139 INFO L218 hiAutomatonCegarLoop]: Abstraction has 909 states and 1387 transitions. [2025-01-10 07:01:59,139 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 909 states and 1387 transitions. [2025-01-10 07:01:59,152 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 909 to 824. [2025-01-10 07:01:59,153 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 824 states, 512 states have (on average 1.123046875) internal successors, (575), 511 states have internal predecessors, (575), 221 states have call successors, (223), 80 states have call predecessors, (223), 91 states have return successors, (492), 232 states have call predecessors, (492), 221 states have call successors, (492) [2025-01-10 07:01:59,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 824 states to 824 states and 1290 transitions. [2025-01-10 07:01:59,156 INFO L240 hiAutomatonCegarLoop]: Abstraction has 824 states and 1290 transitions. [2025-01-10 07:01:59,156 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:01:59,156 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2025-01-10 07:01:59,157 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=156, Unknown=0, NotChecked=0, Total=210 [2025-01-10 07:01:59,157 INFO L87 Difference]: Start difference. First operand 824 states and 1290 transitions. Second operand has 15 states, 14 states have (on average 3.2142857142857144) internal successors, (45), 14 states have internal predecessors, (45), 10 states have call successors, (18), 2 states have call predecessors, (18), 5 states have return successors, (19), 8 states have call predecessors, (19), 10 states have call successors, (19) [2025-01-10 07:01:59,203 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (86)] Ended with exit code 0 [2025-01-10 07:01:59,415 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:01:59,415 INFO L93 Difference]: Finished difference Result 1298 states and 2195 transitions. [2025-01-10 07:01:59,415 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1298 states and 2195 transitions. [2025-01-10 07:01:59,423 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 228 [2025-01-10 07:01:59,433 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1298 states to 1290 states and 2184 transitions. [2025-01-10 07:01:59,433 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 708 [2025-01-10 07:01:59,434 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 708 [2025-01-10 07:01:59,434 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1290 states and 2184 transitions. [2025-01-10 07:01:59,434 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:01:59,434 INFO L218 hiAutomatonCegarLoop]: Abstraction has 1290 states and 2184 transitions. [2025-01-10 07:01:59,435 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1290 states and 2184 transitions. [2025-01-10 07:01:59,454 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1290 to 974. [2025-01-10 07:01:59,456 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 974 states, 612 states have (on average 1.1274509803921569) internal successors, (690), 615 states have internal predecessors, (690), 269 states have call successors, (271), 80 states have call predecessors, (271), 93 states have return successors, (607), 278 states have call predecessors, (607), 269 states have call successors, (607) [2025-01-10 07:01:59,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 974 states to 974 states and 1568 transitions. [2025-01-10 07:01:59,459 INFO L240 hiAutomatonCegarLoop]: Abstraction has 974 states and 1568 transitions. [2025-01-10 07:01:59,459 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2025-01-10 07:01:59,459 INFO L432 stractBuchiCegarLoop]: Abstraction has 974 states and 1568 transitions. [2025-01-10 07:01:59,459 INFO L338 stractBuchiCegarLoop]: ======== Iteration 19 ============ [2025-01-10 07:01:59,460 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 974 states and 1568 transitions. [2025-01-10 07:01:59,462 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 202 [2025-01-10 07:01:59,462 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:01:59,462 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:01:59,465 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [13, 13, 9, 4, 4, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:01:59,465 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [8, 8, 5, 5, 5, 5, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:01:59,465 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" [2025-01-10 07:01:59,465 INFO L754 eck$LassoCheckResult]: Loop: "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" [2025-01-10 07:01:59,466 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:59,466 INFO L85 PathProgramCache]: Analyzing trace with hash 1233384286, now seen corresponding path program 2 times [2025-01-10 07:01:59,466 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:59,466 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [552165873] [2025-01-10 07:01:59,466 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:01:59,466 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:59,470 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 86 statements into 2 equivalence classes. [2025-01-10 07:01:59,474 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 86 of 86 statements. [2025-01-10 07:01:59,474 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:01:59,474 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:59,531 INFO L134 CoverageAnalysis]: Checked inductivity of 334 backedges. 61 proven. 23 refuted. 0 times theorem prover too weak. 250 trivial. 0 not checked. [2025-01-10 07:01:59,531 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:01:59,532 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [552165873] [2025-01-10 07:01:59,532 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [552165873] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:01:59,532 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [851993830] [2025-01-10 07:01:59,532 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:01:59,532 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:01:59,532 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:59,535 INFO L229 MonitoredProcess]: Starting monitored process 87 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:01:59,537 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (87)] Waiting until timeout for monitored process [2025-01-10 07:01:59,579 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 86 statements into 2 equivalence classes. [2025-01-10 07:01:59,600 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 86 of 86 statements. [2025-01-10 07:01:59,601 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:01:59,601 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:59,601 INFO L256 TraceCheckSpWp]: Trace formula consists of 209 conjuncts, 10 conjuncts are in the unsatisfiable core [2025-01-10 07:01:59,603 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:59,633 INFO L134 CoverageAnalysis]: Checked inductivity of 334 backedges. 187 proven. 3 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2025-01-10 07:01:59,633 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:01:59,767 INFO L134 CoverageAnalysis]: Checked inductivity of 334 backedges. 61 proven. 24 refuted. 0 times theorem prover too weak. 249 trivial. 0 not checked. [2025-01-10 07:01:59,768 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [851993830] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:01:59,768 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:01:59,768 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 10] total 11 [2025-01-10 07:01:59,768 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1180887892] [2025-01-10 07:01:59,768 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:01:59,768 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:01:59,768 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:01:59,768 INFO L85 PathProgramCache]: Analyzing trace with hash 1052820164, now seen corresponding path program 2 times [2025-01-10 07:01:59,768 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:01:59,768 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [618294482] [2025-01-10 07:01:59,768 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:01:59,769 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:01:59,771 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 50 statements into 2 equivalence classes. [2025-01-10 07:01:59,775 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 50 of 50 statements. [2025-01-10 07:01:59,776 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:01:59,776 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:59,852 INFO L134 CoverageAnalysis]: Checked inductivity of 132 backedges. 55 proven. 34 refuted. 0 times theorem prover too weak. 43 trivial. 0 not checked. [2025-01-10 07:01:59,852 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:01:59,852 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [618294482] [2025-01-10 07:01:59,852 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [618294482] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:01:59,852 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [861643681] [2025-01-10 07:01:59,852 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:01:59,852 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:01:59,853 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:01:59,855 INFO L229 MonitoredProcess]: Starting monitored process 88 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:01:59,857 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (88)] Waiting until timeout for monitored process [2025-01-10 07:01:59,895 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 50 statements into 2 equivalence classes. [2025-01-10 07:01:59,905 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 50 of 50 statements. [2025-01-10 07:01:59,905 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:01:59,905 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:01:59,906 INFO L256 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 17 conjuncts are in the unsatisfiable core [2025-01-10 07:01:59,907 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:01:59,969 INFO L134 CoverageAnalysis]: Checked inductivity of 132 backedges. 35 proven. 55 refuted. 0 times theorem prover too weak. 42 trivial. 0 not checked. [2025-01-10 07:01:59,970 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:00,401 INFO L134 CoverageAnalysis]: Checked inductivity of 132 backedges. 33 proven. 65 refuted. 0 times theorem prover too weak. 34 trivial. 0 not checked. [2025-01-10 07:02:00,401 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [861643681] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:00,401 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:00,401 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11, 14] total 20 [2025-01-10 07:02:00,401 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1879008501] [2025-01-10 07:02:00,401 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:00,402 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-01-10 07:02:00,402 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:00,402 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2025-01-10 07:02:00,402 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=339, Unknown=0, NotChecked=0, Total=420 [2025-01-10 07:02:00,402 INFO L87 Difference]: Start difference. First operand 974 states and 1568 transitions. cyclomatic complexity: 617 Second operand has 21 states, 16 states have (on average 2.5625) internal successors, (41), 16 states have internal predecessors, (41), 12 states have call successors, (13), 1 states have call predecessors, (13), 7 states have return successors, (16), 11 states have call predecessors, (16), 12 states have call successors, (16) [2025-01-10 07:02:00,896 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:00,896 INFO L93 Difference]: Finished difference Result 1498 states and 2597 transitions. [2025-01-10 07:02:00,896 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1498 states and 2597 transitions. [2025-01-10 07:02:00,904 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 326 [2025-01-10 07:02:00,913 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1498 states to 1409 states and 2497 transitions. [2025-01-10 07:02:00,914 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 748 [2025-01-10 07:02:00,914 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 748 [2025-01-10 07:02:00,914 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1409 states and 2497 transitions. [2025-01-10 07:02:00,916 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:00,916 INFO L218 hiAutomatonCegarLoop]: Abstraction has 1409 states and 2497 transitions. [2025-01-10 07:02:00,916 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1409 states and 2497 transitions. [2025-01-10 07:02:00,935 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1409 to 1116. [2025-01-10 07:02:00,936 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1116 states, 670 states have (on average 1.1134328358208956) internal successors, (746), 663 states have internal predecessors, (746), 351 states have call successors, (355), 110 states have call predecessors, (355), 95 states have return successors, (953), 342 states have call predecessors, (953), 351 states have call successors, (953) [2025-01-10 07:02:00,940 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1116 states to 1116 states and 2054 transitions. [2025-01-10 07:02:00,940 INFO L240 hiAutomatonCegarLoop]: Abstraction has 1116 states and 2054 transitions. [2025-01-10 07:02:00,941 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2025-01-10 07:02:00,941 INFO L432 stractBuchiCegarLoop]: Abstraction has 1116 states and 2054 transitions. [2025-01-10 07:02:00,941 INFO L338 stractBuchiCegarLoop]: ======== Iteration 20 ============ [2025-01-10 07:02:00,941 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1116 states and 2054 transitions. [2025-01-10 07:02:00,944 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 229 [2025-01-10 07:02:00,944 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:00,944 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:00,945 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [13, 13, 9, 4, 4, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:02:00,945 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [11, 11, 8, 8, 8, 8, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:02:00,945 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" [2025-01-10 07:02:00,945 INFO L754 eck$LassoCheckResult]: Loop: "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" [2025-01-10 07:02:00,946 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:00,946 INFO L85 PathProgramCache]: Analyzing trace with hash 1233384286, now seen corresponding path program 3 times [2025-01-10 07:02:00,946 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:00,946 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1650844304] [2025-01-10 07:02:00,946 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:02:00,946 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:00,950 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 86 statements into 7 equivalence classes. [2025-01-10 07:02:00,954 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) and asserted 60 of 86 statements. [2025-01-10 07:02:00,954 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2025-01-10 07:02:00,954 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:01,001 INFO L134 CoverageAnalysis]: Checked inductivity of 334 backedges. 77 proven. 5 refuted. 0 times theorem prover too weak. 252 trivial. 0 not checked. [2025-01-10 07:02:01,001 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:01,001 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1650844304] [2025-01-10 07:02:01,001 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1650844304] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:01,001 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [435332582] [2025-01-10 07:02:01,001 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:02:01,001 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:01,001 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:01,003 INFO L229 MonitoredProcess]: Starting monitored process 89 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:01,009 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (89)] Waiting until timeout for monitored process [2025-01-10 07:02:01,054 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 86 statements into 7 equivalence classes. [2025-01-10 07:02:01,068 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) and asserted 60 of 86 statements. [2025-01-10 07:02:01,068 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2025-01-10 07:02:01,068 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:01,070 INFO L256 TraceCheckSpWp]: Trace formula consists of 151 conjuncts, 13 conjuncts are in the unsatisfiable core [2025-01-10 07:02:01,071 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:01,157 INFO L134 CoverageAnalysis]: Checked inductivity of 334 backedges. 79 proven. 5 refuted. 0 times theorem prover too weak. 250 trivial. 0 not checked. [2025-01-10 07:02:01,158 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:01,313 INFO L134 CoverageAnalysis]: Checked inductivity of 334 backedges. 79 proven. 6 refuted. 0 times theorem prover too weak. 249 trivial. 0 not checked. [2025-01-10 07:02:01,314 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [435332582] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:01,314 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:01,314 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 9, 10] total 15 [2025-01-10 07:02:01,314 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [137338478] [2025-01-10 07:02:01,314 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:01,314 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:02:01,314 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:01,314 INFO L85 PathProgramCache]: Analyzing trace with hash 1000332264, now seen corresponding path program 3 times [2025-01-10 07:02:01,315 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:01,315 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [75417368] [2025-01-10 07:02:01,315 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:02:01,315 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:01,318 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 68 statements into 14 equivalence classes. [2025-01-10 07:02:01,331 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 14 check-sat command(s) and asserted 68 of 68 statements. [2025-01-10 07:02:01,331 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 14 check-sat command(s) [2025-01-10 07:02:01,331 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-01-10 07:02:01,331 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [9949548] [2025-01-10 07:02:01,331 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:02:01,331 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:01,331 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:01,334 INFO L229 MonitoredProcess]: Starting monitored process 90 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:01,336 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (90)] Waiting until timeout for monitored process [2025-01-10 07:02:01,381 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 68 statements into 14 equivalence classes. [2025-01-10 07:02:01,405 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 14 check-sat command(s) and asserted 68 of 68 statements. [2025-01-10 07:02:01,405 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 14 check-sat command(s) [2025-01-10 07:02:01,405 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:01,405 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:01,411 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 68 statements into 1 equivalence classes. [2025-01-10 07:02:01,427 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 68 of 68 statements. [2025-01-10 07:02:01,427 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:01,427 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:01,436 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:01,941 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:02:01,942 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:02:01,942 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:02:01,942 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:02:01,942 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-01-10 07:02:01,942 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:01,942 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:02:01,942 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:02:01,942 INFO L132 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration20_Loop [2025-01-10 07:02:01,942 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:02:01,942 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:02:01,943 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:01,944 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:01,946 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:01,947 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:01,949 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:01,951 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:01,953 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:01,954 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:01,957 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:01,959 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:01,960 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:01,962 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:02,015 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:02:02,015 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-01-10 07:02:02,015 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:02,015 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:02,018 INFO L229 MonitoredProcess]: Starting monitored process 91 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:02,019 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (91)] Waiting until timeout for monitored process [2025-01-10 07:02:02,021 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:02,022 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:02,032 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:02,033 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_#res#1=0} Honda state: {ULTIMATE.start_binomialCoefficient_#res#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:02,038 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (91)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:02,039 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:02,039 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:02,041 INFO L229 MonitoredProcess]: Starting monitored process 92 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:02,042 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (92)] Waiting until timeout for monitored process [2025-01-10 07:02:02,044 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:02,044 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:02,055 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:02,055 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_#t~post9#1=0} Honda state: {ULTIMATE.start_main_#t~post9#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:02,061 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (92)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:02,062 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:02,062 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:02,064 INFO L229 MonitoredProcess]: Starting monitored process 93 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:02,064 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (93)] Waiting until timeout for monitored process [2025-01-10 07:02:02,066 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:02,067 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:02,078 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:02,078 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_~n~0#1=0} Honda state: {ULTIMATE.start_main_~n~0#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:02,085 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (93)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:02,085 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:02,085 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:02,088 INFO L229 MonitoredProcess]: Starting monitored process 94 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:02,088 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (94)] Waiting until timeout for monitored process [2025-01-10 07:02:02,089 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:02,090 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:02,101 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:02,101 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_~n#1=4} Honda state: {ULTIMATE.start_binomialCoefficient_~n#1=4} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:02,107 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (94)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:02,107 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:02,108 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:02,110 INFO L229 MonitoredProcess]: Starting monitored process 95 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:02,111 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (95)] Waiting until timeout for monitored process [2025-01-10 07:02:02,112 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:02,112 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:02,123 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:02,123 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_~k#1=0} Honda state: {ULTIMATE.start_binomialCoefficient_~k#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:02,129 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (95)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:02,129 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:02,129 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:02,131 INFO L229 MonitoredProcess]: Starting monitored process 96 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:02,132 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (96)] Waiting until timeout for monitored process [2025-01-10 07:02:02,136 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:02,137 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:02,148 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:02,148 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_#t~ret3#1=24} Honda state: {ULTIMATE.start_binomialCoefficient_#t~ret3#1=24} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:02,154 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (96)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:02,154 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:02,154 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:02,156 INFO L229 MonitoredProcess]: Starting monitored process 97 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:02,157 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (97)] Waiting until timeout for monitored process [2025-01-10 07:02:02,159 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:02,159 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:02,176 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:02,176 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_~x~0#1=4} Honda state: {ULTIMATE.start_main_~x~0#1=4} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:02,182 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (97)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:02,182 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:02,182 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:02,184 INFO L229 MonitoredProcess]: Starting monitored process 98 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:02,185 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (98)] Waiting until timeout for monitored process [2025-01-10 07:02:02,186 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:02,186 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:02,202 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (98)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:02,202 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:02,202 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:02,205 INFO L229 MonitoredProcess]: Starting monitored process 99 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:02,206 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (99)] Waiting until timeout for monitored process [2025-01-10 07:02:02,207 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-01-10 07:02:02,207 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:02,218 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-01-10 07:02:02,224 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (99)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:02,224 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:02:02,224 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:02:02,224 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:02:02,224 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:02:02,224 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-01-10 07:02:02,224 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:02,224 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:02:02,224 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:02:02,224 INFO L132 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration20_Loop [2025-01-10 07:02:02,224 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:02:02,224 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:02:02,225 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:02,226 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:02,237 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:02,241 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:02,243 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:02,245 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:02,246 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:02,247 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:02,250 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:02,251 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:02,253 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:02,254 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:02,302 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:02:02,302 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-01-10 07:02:02,302 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:02,302 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:02,305 INFO L229 MonitoredProcess]: Starting monitored process 100 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:02,330 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (100)] Waiting until timeout for monitored process [2025-01-10 07:02:02,330 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:02,344 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:02,344 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:02,344 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:02,344 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:02,344 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:02,344 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:02,344 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:02,348 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:02,354 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (100)] Ended with exit code 0 [2025-01-10 07:02:02,354 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:02,354 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:02,357 INFO L229 MonitoredProcess]: Starting monitored process 101 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:02,358 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (101)] Waiting until timeout for monitored process [2025-01-10 07:02:02,359 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:02,368 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:02,368 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:02,368 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:02,368 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:02,368 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:02,369 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:02,369 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:02,370 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:02,376 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (101)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:02,376 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:02,376 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:02,379 INFO L229 MonitoredProcess]: Starting monitored process 102 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:02,380 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (102)] Waiting until timeout for monitored process [2025-01-10 07:02:02,381 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:02,390 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:02,390 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:02,390 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:02,390 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:02,390 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:02,391 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:02,391 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:02,392 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:02,398 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (102)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:02,398 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:02,398 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:02,400 INFO L229 MonitoredProcess]: Starting monitored process 103 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:02,401 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (103)] Waiting until timeout for monitored process [2025-01-10 07:02:02,402 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:02,411 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:02,411 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:02,412 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:02,412 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:02,412 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:02,412 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:02,412 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:02,413 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:02,419 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (103)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:02,419 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:02,419 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:02,421 INFO L229 MonitoredProcess]: Starting monitored process 104 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:02,422 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (104)] Waiting until timeout for monitored process [2025-01-10 07:02:02,423 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:02,433 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:02,433 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:02,433 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:02,433 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:02,433 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:02,434 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:02,434 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:02,435 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:02,441 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (104)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:02,441 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:02,441 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:02,443 INFO L229 MonitoredProcess]: Starting monitored process 105 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:02,445 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (105)] Waiting until timeout for monitored process [2025-01-10 07:02:02,445 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:02,454 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:02,454 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:02,455 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:02,455 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:02,455 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:02,455 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:02,455 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:02,456 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:02,461 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (105)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:02,462 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:02,462 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:02,464 INFO L229 MonitoredProcess]: Starting monitored process 106 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:02,465 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (106)] Waiting until timeout for monitored process [2025-01-10 07:02:02,466 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:02,475 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:02,475 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:02,476 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:02,476 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:02,476 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:02,476 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:02,476 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:02,477 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:02,483 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (106)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:02,483 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:02,483 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:02,485 INFO L229 MonitoredProcess]: Starting monitored process 107 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:02,486 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (107)] Waiting until timeout for monitored process [2025-01-10 07:02:02,487 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:02,496 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:02,496 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:02,497 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:02,497 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:02,497 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:02,497 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:02,497 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:02,499 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-01-10 07:02:02,501 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-01-10 07:02:02,501 INFO L444 ModelExtractionUtils]: 0 out of 3 variables were initially zero. Simplification set additionally 0 variables to zero. [2025-01-10 07:02:02,501 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:02,501 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:02,504 INFO L229 MonitoredProcess]: Starting monitored process 108 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:02,505 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (108)] Waiting until timeout for monitored process [2025-01-10 07:02:02,505 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-01-10 07:02:02,505 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-01-10 07:02:02,505 INFO L474 LassoAnalysis]: Proved termination. [2025-01-10 07:02:02,505 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~k~0#1) = -2*ULTIMATE.start_main_~k~0#1 + 7 Supporting invariants [] [2025-01-10 07:02:02,511 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (107)] Ended with exit code 0 [2025-01-10 07:02:02,512 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-01-10 07:02:02,519 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:02,539 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 86 statements into 1 equivalence classes. [2025-01-10 07:02:02,583 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 86 of 86 statements. [2025-01-10 07:02:02,583 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:02,583 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:02,591 INFO L256 TraceCheckSpWp]: Trace formula consists of 573 conjuncts, 28 conjuncts are in the unsatisfiable core [2025-01-10 07:02:02,593 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:03,019 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 68 statements into 1 equivalence classes. [2025-01-10 07:02:03,064 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 68 of 68 statements. [2025-01-10 07:02:03,065 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:03,065 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:03,068 INFO L256 TraceCheckSpWp]: Trace formula consists of 458 conjuncts, 38 conjuncts are in the unsatisfiable core [2025-01-10 07:02:03,070 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:03,251 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 0 proven. 148 refuted. 0 times theorem prover too weak. 128 trivial. 0 not checked. [2025-01-10 07:02:03,252 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.2 stem predicates 11 loop predicates [2025-01-10 07:02:03,252 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1116 states and 2054 transitions. cyclomatic complexity: 961 Second operand has 14 states, 12 states have (on average 3.3333333333333335) internal successors, (40), 12 states have internal predecessors, (40), 6 states have call successors, (12), 2 states have call predecessors, (12), 7 states have return successors, (16), 9 states have call predecessors, (16), 6 states have call successors, (16) [2025-01-10 07:02:03,521 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1116 states and 2054 transitions. cyclomatic complexity: 961. Second operand has 14 states, 12 states have (on average 3.3333333333333335) internal successors, (40), 12 states have internal predecessors, (40), 6 states have call successors, (12), 2 states have call predecessors, (12), 7 states have return successors, (16), 9 states have call predecessors, (16), 6 states have call successors, (16) Result 1692 states and 2864 transitions. Complement of second has 81 states. [2025-01-10 07:02:03,521 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 17 states 2 stem states 14 non-accepting loop states 1 accepting loop states [2025-01-10 07:02:03,522 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 3.3333333333333335) internal successors, (40), 12 states have internal predecessors, (40), 6 states have call successors, (12), 2 states have call predecessors, (12), 7 states have return successors, (16), 9 states have call predecessors, (16), 6 states have call successors, (16) [2025-01-10 07:02:03,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 79 transitions. [2025-01-10 07:02:03,522 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 17 states and 79 transitions. Stem has 86 letters. Loop has 68 letters. [2025-01-10 07:02:03,523 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:03,523 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 17 states and 79 transitions. Stem has 154 letters. Loop has 68 letters. [2025-01-10 07:02:03,523 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:03,523 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 17 states and 79 transitions. Stem has 86 letters. Loop has 136 letters. [2025-01-10 07:02:03,523 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:03,524 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1692 states and 2864 transitions. [2025-01-10 07:02:03,532 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 229 [2025-01-10 07:02:03,543 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1692 states to 1461 states and 2551 transitions. [2025-01-10 07:02:03,543 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 612 [2025-01-10 07:02:03,544 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 614 [2025-01-10 07:02:03,544 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1461 states and 2551 transitions. [2025-01-10 07:02:03,545 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:03,545 INFO L218 hiAutomatonCegarLoop]: Abstraction has 1461 states and 2551 transitions. [2025-01-10 07:02:03,546 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1461 states and 2551 transitions. [2025-01-10 07:02:03,566 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1461 to 1352. [2025-01-10 07:02:03,568 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1352 states, 822 states have (on average 1.0973236009732361) internal successors, (902), 815 states have internal predecessors, (902), 391 states have call successors, (401), 144 states have call predecessors, (401), 139 states have return successors, (1079), 392 states have call predecessors, (1079), 391 states have call successors, (1079) [2025-01-10 07:02:03,573 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1352 states to 1352 states and 2382 transitions. [2025-01-10 07:02:03,573 INFO L240 hiAutomatonCegarLoop]: Abstraction has 1352 states and 2382 transitions. [2025-01-10 07:02:03,573 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:03,573 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2025-01-10 07:02:03,573 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=189, Unknown=0, NotChecked=0, Total=240 [2025-01-10 07:02:03,574 INFO L87 Difference]: Start difference. First operand 1352 states and 2382 transitions. Second operand has 16 states, 13 states have (on average 4.076923076923077) internal successors, (53), 15 states have internal predecessors, (53), 9 states have call successors, (24), 1 states have call predecessors, (24), 3 states have return successors, (24), 9 states have call predecessors, (24), 9 states have call successors, (24) [2025-01-10 07:02:03,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:03,788 INFO L93 Difference]: Finished difference Result 1246 states and 2119 transitions. [2025-01-10 07:02:03,789 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1246 states and 2119 transitions. [2025-01-10 07:02:03,795 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 169 [2025-01-10 07:02:03,802 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1246 states to 1222 states and 2095 transitions. [2025-01-10 07:02:03,802 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 541 [2025-01-10 07:02:03,803 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 541 [2025-01-10 07:02:03,803 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1222 states and 2095 transitions. [2025-01-10 07:02:03,803 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:03,803 INFO L218 hiAutomatonCegarLoop]: Abstraction has 1222 states and 2095 transitions. [2025-01-10 07:02:03,804 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1222 states and 2095 transitions. [2025-01-10 07:02:03,820 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1222 to 1204. [2025-01-10 07:02:03,822 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1204 states, 736 states have (on average 1.0733695652173914) internal successors, (790), 731 states have internal predecessors, (790), 343 states have call successors, (349), 132 states have call predecessors, (349), 125 states have return successors, (938), 340 states have call predecessors, (938), 343 states have call successors, (938) [2025-01-10 07:02:03,826 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1204 states to 1204 states and 2077 transitions. [2025-01-10 07:02:03,826 INFO L240 hiAutomatonCegarLoop]: Abstraction has 1204 states and 2077 transitions. [2025-01-10 07:02:03,826 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2025-01-10 07:02:03,827 INFO L432 stractBuchiCegarLoop]: Abstraction has 1204 states and 2077 transitions. [2025-01-10 07:02:03,827 INFO L338 stractBuchiCegarLoop]: ======== Iteration 21 ============ [2025-01-10 07:02:03,827 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1204 states and 2077 transitions. [2025-01-10 07:02:03,830 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 166 [2025-01-10 07:02:03,830 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:03,830 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:03,831 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [15, 15, 9, 6, 6, 6, 6, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:02:03,831 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [13, 13, 10, 10, 10, 10, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:02:03,831 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" [2025-01-10 07:02:03,831 INFO L754 eck$LassoCheckResult]: Loop: "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" [2025-01-10 07:02:03,831 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:03,831 INFO L85 PathProgramCache]: Analyzing trace with hash -1641208026, now seen corresponding path program 4 times [2025-01-10 07:02:03,831 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:03,831 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [659765170] [2025-01-10 07:02:03,832 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:02:03,832 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:03,835 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 98 statements into 2 equivalence classes. [2025-01-10 07:02:03,841 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 98 of 98 statements. [2025-01-10 07:02:03,841 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-01-10 07:02:03,841 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-01-10 07:02:03,842 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [468219072] [2025-01-10 07:02:03,842 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:02:03,842 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:03,842 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:03,844 INFO L229 MonitoredProcess]: Starting monitored process 109 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:03,846 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (109)] Waiting until timeout for monitored process [2025-01-10 07:02:03,892 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 98 statements into 2 equivalence classes. [2025-01-10 07:02:03,913 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 98 of 98 statements. [2025-01-10 07:02:03,913 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-01-10 07:02:03,913 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:03,913 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:03,921 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 98 statements into 1 equivalence classes. [2025-01-10 07:02:03,930 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 98 of 98 statements. [2025-01-10 07:02:03,931 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:03,931 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:03,944 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:03,945 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:03,945 INFO L85 PathProgramCache]: Analyzing trace with hash -648932192, now seen corresponding path program 4 times [2025-01-10 07:02:03,945 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:03,945 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1941010687] [2025-01-10 07:02:03,945 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:02:03,945 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:03,948 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 80 statements into 2 equivalence classes. [2025-01-10 07:02:03,952 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 80 of 80 statements. [2025-01-10 07:02:03,953 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-01-10 07:02:03,953 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-01-10 07:02:03,953 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1874374290] [2025-01-10 07:02:03,953 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:02:03,953 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:03,953 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:03,955 INFO L229 MonitoredProcess]: Starting monitored process 110 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:03,958 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (110)] Waiting until timeout for monitored process [2025-01-10 07:02:04,000 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 80 statements into 2 equivalence classes. [2025-01-10 07:02:04,021 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 80 of 80 statements. [2025-01-10 07:02:04,021 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-01-10 07:02:04,021 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:04,021 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:04,027 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 80 statements into 1 equivalence classes. [2025-01-10 07:02:04,036 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 80 of 80 statements. [2025-01-10 07:02:04,036 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:04,036 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:04,046 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:04,047 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:04,047 INFO L85 PathProgramCache]: Analyzing trace with hash -2094880315, now seen corresponding path program 5 times [2025-01-10 07:02:04,047 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:04,047 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [271242124] [2025-01-10 07:02:04,047 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:02:04,047 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:04,052 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 178 statements into 16 equivalence classes. [2025-01-10 07:02:04,064 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 16 check-sat command(s) and asserted 178 of 178 statements. [2025-01-10 07:02:04,065 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 16 check-sat command(s) [2025-01-10 07:02:04,065 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:04,119 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (108)] Ended with exit code 0 [2025-01-10 07:02:04,626 INFO L134 CoverageAnalysis]: Checked inductivity of 1778 backedges. 481 proven. 231 refuted. 0 times theorem prover too weak. 1066 trivial. 0 not checked. [2025-01-10 07:02:04,627 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:04,627 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [271242124] [2025-01-10 07:02:04,627 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [271242124] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:04,627 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [625925256] [2025-01-10 07:02:04,627 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:02:04,627 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:04,627 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:04,631 INFO L229 MonitoredProcess]: Starting monitored process 111 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:04,639 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (111)] Waiting until timeout for monitored process [2025-01-10 07:02:04,706 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 178 statements into 16 equivalence classes. [2025-01-10 07:02:04,750 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 16 check-sat command(s) and asserted 178 of 178 statements. [2025-01-10 07:02:04,751 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 16 check-sat command(s) [2025-01-10 07:02:04,751 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:04,753 INFO L256 TraceCheckSpWp]: Trace formula consists of 405 conjuncts, 24 conjuncts are in the unsatisfiable core [2025-01-10 07:02:04,755 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:04,969 INFO L134 CoverageAnalysis]: Checked inductivity of 1778 backedges. 474 proven. 107 refuted. 0 times theorem prover too weak. 1197 trivial. 0 not checked. [2025-01-10 07:02:04,970 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:05,790 INFO L134 CoverageAnalysis]: Checked inductivity of 1778 backedges. 468 proven. 129 refuted. 0 times theorem prover too weak. 1181 trivial. 0 not checked. [2025-01-10 07:02:05,790 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [625925256] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:05,790 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:05,790 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [24, 16, 20] total 43 [2025-01-10 07:02:05,791 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [395263123] [2025-01-10 07:02:05,791 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:06,183 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:02:06,183 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:02:06,183 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:02:06,183 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:02:06,183 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-01-10 07:02:06,183 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:06,183 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:02:06,183 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:02:06,183 INFO L132 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration21_Loop [2025-01-10 07:02:06,183 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:02:06,183 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:02:06,184 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:06,186 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:06,187 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:06,189 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:06,190 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:06,192 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:06,193 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:06,195 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:06,198 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:06,200 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:06,201 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:06,203 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:06,252 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:02:06,252 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-01-10 07:02:06,253 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:06,253 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:06,258 INFO L229 MonitoredProcess]: Starting monitored process 112 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:06,260 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (112)] Waiting until timeout for monitored process [2025-01-10 07:02:06,260 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:06,260 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:06,272 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:06,272 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_~k#1=0} Honda state: {ULTIMATE.start_binomialCoefficient_~k#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:06,279 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (112)] Ended with exit code 0 [2025-01-10 07:02:06,279 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:06,279 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:06,281 INFO L229 MonitoredProcess]: Starting monitored process 113 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:06,283 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (113)] Waiting until timeout for monitored process [2025-01-10 07:02:06,283 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:06,283 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:06,294 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:06,294 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_#t~post9#1=0} Honda state: {ULTIMATE.start_main_#t~post9#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:06,299 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (113)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:06,299 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:06,300 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:06,301 INFO L229 MonitoredProcess]: Starting monitored process 114 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:06,302 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (114)] Waiting until timeout for monitored process [2025-01-10 07:02:06,303 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:06,303 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:06,320 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:06,320 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_~n#1=5} Honda state: {ULTIMATE.start_binomialCoefficient_~n#1=5} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:06,331 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (114)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:06,331 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:06,331 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:06,333 INFO L229 MonitoredProcess]: Starting monitored process 115 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:06,334 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (115)] Waiting until timeout for monitored process [2025-01-10 07:02:06,335 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:06,335 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:06,345 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:06,346 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_#res#1=0} Honda state: {ULTIMATE.start_binomialCoefficient_#res#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:06,351 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (115)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:06,351 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:06,351 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:06,353 INFO L229 MonitoredProcess]: Starting monitored process 116 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:06,354 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (116)] Waiting until timeout for monitored process [2025-01-10 07:02:06,355 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:06,356 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:06,366 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:06,366 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_~n~0#1=0} Honda state: {ULTIMATE.start_main_~n~0#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:06,371 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (116)] Ended with exit code 0 [2025-01-10 07:02:06,372 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:06,372 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:06,374 INFO L229 MonitoredProcess]: Starting monitored process 117 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:06,375 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (117)] Waiting until timeout for monitored process [2025-01-10 07:02:06,376 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:06,376 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:06,387 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:06,388 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_#t~ret2#1=1} Honda state: {ULTIMATE.start_binomialCoefficient_#t~ret2#1=1} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:06,393 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (117)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:06,393 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:06,393 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:06,395 INFO L229 MonitoredProcess]: Starting monitored process 118 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:06,396 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (118)] Waiting until timeout for monitored process [2025-01-10 07:02:06,397 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:06,397 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:06,414 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:06,414 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_~x~0#1=5} Honda state: {ULTIMATE.start_main_~x~0#1=5} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:06,419 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (118)] Ended with exit code 0 [2025-01-10 07:02:06,420 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:06,420 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:06,422 INFO L229 MonitoredProcess]: Starting monitored process 119 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:06,423 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (119)] Waiting until timeout for monitored process [2025-01-10 07:02:06,423 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:06,423 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:06,438 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (119)] Ended with exit code 0 [2025-01-10 07:02:06,439 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:06,439 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:06,441 INFO L229 MonitoredProcess]: Starting monitored process 120 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:06,442 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (120)] Waiting until timeout for monitored process [2025-01-10 07:02:06,443 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-01-10 07:02:06,443 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:06,453 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-01-10 07:02:06,459 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (120)] Ended with exit code 0 [2025-01-10 07:02:06,459 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:02:06,459 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:02:06,459 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:02:06,459 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:02:06,459 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-01-10 07:02:06,459 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:06,459 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:02:06,459 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:02:06,459 INFO L132 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration21_Loop [2025-01-10 07:02:06,459 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:02:06,459 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:02:06,460 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:06,461 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:06,463 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:06,464 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:06,466 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:06,467 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:06,468 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:06,471 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:06,473 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:06,474 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:06,475 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:06,477 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:06,527 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:02:06,527 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-01-10 07:02:06,527 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:06,527 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:06,532 INFO L229 MonitoredProcess]: Starting monitored process 121 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:06,533 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (121)] Waiting until timeout for monitored process [2025-01-10 07:02:06,534 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:06,543 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:06,543 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:06,543 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:06,543 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:06,543 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:06,544 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:06,544 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:06,547 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:06,556 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (121)] Ended with exit code 0 [2025-01-10 07:02:06,556 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:06,556 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:06,562 INFO L229 MonitoredProcess]: Starting monitored process 122 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:06,563 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (122)] Waiting until timeout for monitored process [2025-01-10 07:02:06,564 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:06,574 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:06,574 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:06,574 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:06,574 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:06,574 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:06,575 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:06,575 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:06,576 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:06,582 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (122)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:06,582 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:06,582 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:06,584 INFO L229 MonitoredProcess]: Starting monitored process 123 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:06,585 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (123)] Waiting until timeout for monitored process [2025-01-10 07:02:06,587 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:06,596 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:06,597 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:06,597 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:06,597 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:06,597 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:06,597 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:06,597 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:06,599 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:06,604 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (123)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:06,605 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:06,605 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:06,607 INFO L229 MonitoredProcess]: Starting monitored process 124 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:06,608 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (124)] Waiting until timeout for monitored process [2025-01-10 07:02:06,609 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:06,619 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:06,619 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:06,619 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:06,619 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:06,619 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:06,620 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:06,620 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:06,621 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:06,627 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (124)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:06,628 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:06,628 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:06,630 INFO L229 MonitoredProcess]: Starting monitored process 125 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:06,631 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (125)] Waiting until timeout for monitored process [2025-01-10 07:02:06,632 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:06,642 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:06,642 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:06,642 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:06,642 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:06,642 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:06,642 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:06,642 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:06,644 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:06,649 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (125)] Ended with exit code 0 [2025-01-10 07:02:06,650 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:06,650 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:06,651 INFO L229 MonitoredProcess]: Starting monitored process 126 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:06,652 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (126)] Waiting until timeout for monitored process [2025-01-10 07:02:06,654 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:06,664 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:06,665 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:06,665 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:06,665 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:06,665 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:06,665 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:06,665 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:06,666 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:06,672 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (126)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:06,673 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:06,673 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:06,675 INFO L229 MonitoredProcess]: Starting monitored process 127 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:06,675 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (127)] Waiting until timeout for monitored process [2025-01-10 07:02:06,677 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:06,686 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:06,687 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:06,687 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:06,687 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:06,687 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:06,687 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:06,688 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:06,689 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-01-10 07:02:06,691 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-01-10 07:02:06,691 INFO L444 ModelExtractionUtils]: 0 out of 3 variables were initially zero. Simplification set additionally 0 variables to zero. [2025-01-10 07:02:06,691 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:06,691 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:06,693 INFO L229 MonitoredProcess]: Starting monitored process 128 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:06,694 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (128)] Waiting until timeout for monitored process [2025-01-10 07:02:06,697 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-01-10 07:02:06,697 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-01-10 07:02:06,697 INFO L474 LassoAnalysis]: Proved termination. [2025-01-10 07:02:06,697 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~k~0#1) = -2*ULTIMATE.start_main_~k~0#1 + 9 Supporting invariants [] [2025-01-10 07:02:06,702 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (127)] Ended with exit code 0 [2025-01-10 07:02:06,703 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-01-10 07:02:06,712 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:06,748 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 98 statements into 1 equivalence classes. [2025-01-10 07:02:06,833 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 98 of 98 statements. [2025-01-10 07:02:06,834 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:06,834 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:06,837 INFO L256 TraceCheckSpWp]: Trace formula consists of 653 conjuncts, 32 conjuncts are in the unsatisfiable core [2025-01-10 07:02:06,839 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:07,333 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 80 statements into 1 equivalence classes. [2025-01-10 07:02:07,406 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (128)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:07,445 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 80 of 80 statements. [2025-01-10 07:02:07,445 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:07,445 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:07,448 INFO L256 TraceCheckSpWp]: Trace formula consists of 538 conjuncts, 44 conjuncts are in the unsatisfiable core [2025-01-10 07:02:07,452 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:07,697 INFO L134 CoverageAnalysis]: Checked inductivity of 402 backedges. 0 proven. 216 refuted. 0 times theorem prover too weak. 186 trivial. 0 not checked. [2025-01-10 07:02:07,697 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.2 stem predicates 12 loop predicates [2025-01-10 07:02:07,698 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1204 states and 2077 transitions. cyclomatic complexity: 900 Second operand has 15 states, 13 states have (on average 3.230769230769231) internal successors, (42), 13 states have internal predecessors, (42), 6 states have call successors, (12), 2 states have call predecessors, (12), 8 states have return successors, (17), 10 states have call predecessors, (17), 6 states have call successors, (17) [2025-01-10 07:02:07,968 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1204 states and 2077 transitions. cyclomatic complexity: 900. Second operand has 15 states, 13 states have (on average 3.230769230769231) internal successors, (42), 13 states have internal predecessors, (42), 6 states have call successors, (12), 2 states have call predecessors, (12), 8 states have return successors, (17), 10 states have call predecessors, (17), 6 states have call successors, (17) Result 2226 states and 3429 transitions. Complement of second has 85 states. [2025-01-10 07:02:07,968 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 19 states 2 stem states 16 non-accepting loop states 1 accepting loop states [2025-01-10 07:02:07,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 13 states have (on average 3.230769230769231) internal successors, (42), 13 states have internal predecessors, (42), 6 states have call successors, (12), 2 states have call predecessors, (12), 8 states have return successors, (17), 10 states have call predecessors, (17), 6 states have call successors, (17) [2025-01-10 07:02:07,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 83 transitions. [2025-01-10 07:02:07,971 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 19 states and 83 transitions. Stem has 98 letters. Loop has 80 letters. [2025-01-10 07:02:07,972 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:07,972 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 19 states and 83 transitions. Stem has 178 letters. Loop has 80 letters. [2025-01-10 07:02:07,972 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:07,972 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 19 states and 83 transitions. Stem has 98 letters. Loop has 160 letters. [2025-01-10 07:02:07,973 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:07,973 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2226 states and 3429 transitions. [2025-01-10 07:02:07,983 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 166 [2025-01-10 07:02:07,995 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2226 states to 1729 states and 2776 transitions. [2025-01-10 07:02:07,996 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 575 [2025-01-10 07:02:07,996 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 578 [2025-01-10 07:02:07,996 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1729 states and 2776 transitions. [2025-01-10 07:02:07,997 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:07,997 INFO L218 hiAutomatonCegarLoop]: Abstraction has 1729 states and 2776 transitions. [2025-01-10 07:02:07,998 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1729 states and 2776 transitions. [2025-01-10 07:02:08,019 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1729 to 1410. [2025-01-10 07:02:08,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1410 states, 872 states have (on average 1.0642201834862386) internal successors, (928), 867 states have internal predecessors, (928), 371 states have call successors, (383), 160 states have call predecessors, (383), 167 states have return successors, (1064), 382 states have call predecessors, (1064), 371 states have call successors, (1064) [2025-01-10 07:02:08,025 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1410 states to 1410 states and 2375 transitions. [2025-01-10 07:02:08,026 INFO L240 hiAutomatonCegarLoop]: Abstraction has 1410 states and 2375 transitions. [2025-01-10 07:02:08,026 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:08,026 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 44 interpolants. [2025-01-10 07:02:08,026 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=237, Invalid=1655, Unknown=0, NotChecked=0, Total=1892 [2025-01-10 07:02:08,027 INFO L87 Difference]: Start difference. First operand 1410 states and 2375 transitions. Second operand has 44 states, 34 states have (on average 3.0) internal successors, (102), 41 states have internal predecessors, (102), 25 states have call successors, (45), 1 states have call predecessors, (45), 8 states have return successors, (48), 23 states have call predecessors, (48), 25 states have call successors, (48) [2025-01-10 07:02:10,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:10,555 INFO L93 Difference]: Finished difference Result 2689 states and 5178 transitions. [2025-01-10 07:02:10,556 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2689 states and 5178 transitions. [2025-01-10 07:02:10,581 INFO L131 ngComponentsAnalysis]: Automaton has 12 accepting balls. 464 [2025-01-10 07:02:10,624 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2689 states to 2451 states and 4734 transitions. [2025-01-10 07:02:10,630 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 1038 [2025-01-10 07:02:10,632 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 1042 [2025-01-10 07:02:10,632 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2451 states and 4734 transitions. [2025-01-10 07:02:10,633 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:10,633 INFO L218 hiAutomatonCegarLoop]: Abstraction has 2451 states and 4734 transitions. [2025-01-10 07:02:10,634 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2451 states and 4734 transitions. [2025-01-10 07:02:10,746 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2451 to 1959. [2025-01-10 07:02:10,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1959 states, 1142 states have (on average 1.064798598949212) internal successors, (1216), 1133 states have internal predecessors, (1216), 620 states have call successors, (647), 160 states have call predecessors, (647), 197 states have return successors, (1920), 665 states have call predecessors, (1920), 620 states have call successors, (1920) [2025-01-10 07:02:10,773 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1959 states to 1959 states and 3783 transitions. [2025-01-10 07:02:10,773 INFO L240 hiAutomatonCegarLoop]: Abstraction has 1959 states and 3783 transitions. [2025-01-10 07:02:10,775 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 75 states. [2025-01-10 07:02:10,775 INFO L432 stractBuchiCegarLoop]: Abstraction has 1959 states and 3783 transitions. [2025-01-10 07:02:10,775 INFO L338 stractBuchiCegarLoop]: ======== Iteration 22 ============ [2025-01-10 07:02:10,775 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1959 states and 3783 transitions. [2025-01-10 07:02:10,784 INFO L131 ngComponentsAnalysis]: Automaton has 12 accepting balls. 353 [2025-01-10 07:02:10,788 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:10,788 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:10,791 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [11, 11, 9, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:02:10,791 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [13, 13, 10, 10, 10, 10, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:02:10,791 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" [2025-01-10 07:02:10,792 INFO L754 eck$LassoCheckResult]: Loop: "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" [2025-01-10 07:02:10,792 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:10,792 INFO L85 PathProgramCache]: Analyzing trace with hash 1398036917, now seen corresponding path program 3 times [2025-01-10 07:02:10,793 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:10,793 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1281747486] [2025-01-10 07:02:10,796 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:02:10,796 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:10,801 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 81 statements into 8 equivalence classes. [2025-01-10 07:02:10,808 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) and asserted 34 of 81 statements. [2025-01-10 07:02:10,809 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2025-01-10 07:02:10,809 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:10,944 INFO L134 CoverageAnalysis]: Checked inductivity of 247 backedges. 42 proven. 8 refuted. 0 times theorem prover too weak. 197 trivial. 0 not checked. [2025-01-10 07:02:10,945 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:10,945 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1281747486] [2025-01-10 07:02:10,945 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1281747486] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:10,945 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2080559383] [2025-01-10 07:02:10,945 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:02:10,945 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:10,945 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:10,949 INFO L229 MonitoredProcess]: Starting monitored process 129 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:10,950 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (129)] Waiting until timeout for monitored process [2025-01-10 07:02:11,014 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 81 statements into 8 equivalence classes. [2025-01-10 07:02:11,024 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) and asserted 34 of 81 statements. [2025-01-10 07:02:11,024 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2025-01-10 07:02:11,024 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:11,025 INFO L256 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 10 conjuncts are in the unsatisfiable core [2025-01-10 07:02:11,026 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:11,083 INFO L134 CoverageAnalysis]: Checked inductivity of 247 backedges. 47 proven. 3 refuted. 0 times theorem prover too weak. 197 trivial. 0 not checked. [2025-01-10 07:02:11,084 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:11,185 INFO L134 CoverageAnalysis]: Checked inductivity of 247 backedges. 42 proven. 8 refuted. 0 times theorem prover too weak. 197 trivial. 0 not checked. [2025-01-10 07:02:11,185 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2080559383] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:11,185 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:11,185 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8, 8] total 13 [2025-01-10 07:02:11,185 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [332319957] [2025-01-10 07:02:11,185 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:11,186 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:02:11,186 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:11,186 INFO L85 PathProgramCache]: Analyzing trace with hash -779750202, now seen corresponding path program 2 times [2025-01-10 07:02:11,186 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:11,186 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2044707061] [2025-01-10 07:02:11,186 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:02:11,186 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:11,193 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 80 statements into 2 equivalence classes. [2025-01-10 07:02:11,197 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 80 of 80 statements. [2025-01-10 07:02:11,197 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:02:11,197 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-01-10 07:02:11,197 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [725084355] [2025-01-10 07:02:11,197 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:02:11,197 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:11,198 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:11,199 INFO L229 MonitoredProcess]: Starting monitored process 130 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:11,201 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (130)] Waiting until timeout for monitored process [2025-01-10 07:02:11,252 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 80 statements into 2 equivalence classes. [2025-01-10 07:02:11,305 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 80 of 80 statements. [2025-01-10 07:02:11,305 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:02:11,305 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:11,305 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:11,313 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 80 statements into 1 equivalence classes. [2025-01-10 07:02:11,360 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 80 of 80 statements. [2025-01-10 07:02:11,360 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:11,360 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:11,371 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:11,796 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:02:11,796 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:02:11,796 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:02:11,796 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:02:11,797 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-01-10 07:02:11,797 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:11,797 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:02:11,797 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:02:11,797 INFO L132 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration22_Loop [2025-01-10 07:02:11,797 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:02:11,797 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:02:11,797 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:11,798 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:11,799 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:11,800 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:11,801 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:11,802 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:11,803 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:11,804 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:11,848 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:02:11,848 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-01-10 07:02:11,848 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:11,848 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:11,851 INFO L229 MonitoredProcess]: Starting monitored process 131 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:11,852 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (131)] Waiting until timeout for monitored process [2025-01-10 07:02:11,853 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:11,853 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:11,864 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:11,864 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_#in~k#1=0} Honda state: {ULTIMATE.start_binomialCoefficient_#in~k#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:11,870 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (131)] Ended with exit code 0 [2025-01-10 07:02:11,870 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:11,871 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:11,873 INFO L229 MonitoredProcess]: Starting monitored process 132 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:11,874 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (132)] Waiting until timeout for monitored process [2025-01-10 07:02:11,875 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:11,875 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:11,886 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:11,887 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_#res#1=0} Honda state: {ULTIMATE.start_binomialCoefficient_#res#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:11,892 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (132)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:11,892 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:11,892 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:11,894 INFO L229 MonitoredProcess]: Starting monitored process 133 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:11,895 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (133)] Waiting until timeout for monitored process [2025-01-10 07:02:11,897 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:11,897 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:11,907 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:11,907 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_#t~ret2#1=0} Honda state: {ULTIMATE.start_binomialCoefficient_#t~ret2#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:11,913 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (133)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:11,913 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:11,913 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:11,915 INFO L229 MonitoredProcess]: Starting monitored process 134 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:11,916 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (134)] Waiting until timeout for monitored process [2025-01-10 07:02:11,918 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:11,918 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:11,929 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:11,929 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_#in~n#1=0} Honda state: {ULTIMATE.start_binomialCoefficient_#in~n#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:11,934 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (134)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:11,935 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:11,935 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:11,948 INFO L229 MonitoredProcess]: Starting monitored process 135 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:11,953 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (135)] Waiting until timeout for monitored process [2025-01-10 07:02:11,954 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:11,954 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:11,966 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:11,966 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_#t~ret1#1=0} Honda state: {ULTIMATE.start_binomialCoefficient_#t~ret1#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:11,971 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (135)] Ended with exit code 0 [2025-01-10 07:02:11,971 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:11,971 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:11,973 INFO L229 MonitoredProcess]: Starting monitored process 136 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:11,974 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (136)] Waiting until timeout for monitored process [2025-01-10 07:02:11,975 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:11,975 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:11,986 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:11,986 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_#t~post9#1=0} Honda state: {ULTIMATE.start_main_#t~post9#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:11,992 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (136)] Ended with exit code 0 [2025-01-10 07:02:11,992 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:11,992 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:11,994 INFO L229 MonitoredProcess]: Starting monitored process 137 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:11,995 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (137)] Waiting until timeout for monitored process [2025-01-10 07:02:11,996 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:11,996 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:12,006 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:12,006 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_#t~ret3#1=0} Honda state: {ULTIMATE.start_binomialCoefficient_#t~ret3#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:12,012 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (137)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:12,012 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:12,013 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:12,015 INFO L229 MonitoredProcess]: Starting monitored process 138 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:12,016 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (138)] Waiting until timeout for monitored process [2025-01-10 07:02:12,017 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:12,017 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:12,034 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (138)] Ended with exit code 0 [2025-01-10 07:02:12,034 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:12,034 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:12,036 INFO L229 MonitoredProcess]: Starting monitored process 139 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:12,039 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (139)] Waiting until timeout for monitored process [2025-01-10 07:02:12,039 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-01-10 07:02:12,039 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:12,143 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-01-10 07:02:12,148 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (139)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:12,148 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:02:12,148 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:02:12,149 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:02:12,149 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:02:12,149 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-01-10 07:02:12,149 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:12,149 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:02:12,149 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:02:12,149 INFO L132 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration22_Loop [2025-01-10 07:02:12,149 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:02:12,149 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:02:12,149 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:12,154 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:12,157 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:12,158 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:12,161 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:12,163 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:12,164 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:12,165 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:12,225 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:02:12,226 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-01-10 07:02:12,226 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:12,226 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:12,231 INFO L229 MonitoredProcess]: Starting monitored process 140 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:12,233 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (140)] Waiting until timeout for monitored process [2025-01-10 07:02:12,233 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:12,244 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:12,244 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:12,244 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:12,244 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:12,244 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:12,245 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:12,245 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:12,246 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:12,251 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (140)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:12,252 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:12,252 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:12,254 INFO L229 MonitoredProcess]: Starting monitored process 141 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:12,255 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (141)] Waiting until timeout for monitored process [2025-01-10 07:02:12,255 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:12,265 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:12,265 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:12,265 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:12,265 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:12,265 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:12,265 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:12,265 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:12,266 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:12,271 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (141)] Ended with exit code 0 [2025-01-10 07:02:12,271 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:12,272 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:12,273 INFO L229 MonitoredProcess]: Starting monitored process 142 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:12,274 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (142)] Waiting until timeout for monitored process [2025-01-10 07:02:12,275 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:12,285 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:12,285 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:12,285 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:12,285 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:12,285 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:12,286 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:12,286 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:12,287 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:12,292 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (142)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:12,292 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:12,293 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:12,296 INFO L229 MonitoredProcess]: Starting monitored process 143 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:12,298 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (143)] Waiting until timeout for monitored process [2025-01-10 07:02:12,298 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:12,308 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:12,308 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:12,308 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:12,308 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:12,308 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:12,309 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:12,309 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:12,310 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:12,315 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (143)] Ended with exit code 0 [2025-01-10 07:02:12,315 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:12,316 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:12,318 INFO L229 MonitoredProcess]: Starting monitored process 144 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:12,318 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (144)] Waiting until timeout for monitored process [2025-01-10 07:02:12,320 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:12,330 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:12,330 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:12,330 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:12,330 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:12,330 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:12,331 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:12,331 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:12,332 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:12,337 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (144)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:12,338 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:12,338 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:12,340 INFO L229 MonitoredProcess]: Starting monitored process 145 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:12,341 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (145)] Waiting until timeout for monitored process [2025-01-10 07:02:12,342 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:12,352 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:12,352 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:12,352 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:12,352 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:12,352 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:12,352 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:12,353 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:12,353 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:12,359 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (145)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:12,359 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:12,359 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:12,361 INFO L229 MonitoredProcess]: Starting monitored process 146 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:12,363 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (146)] Waiting until timeout for monitored process [2025-01-10 07:02:12,364 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:12,374 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:12,374 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:12,374 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:12,374 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:12,374 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:12,374 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:12,374 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:12,375 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:12,380 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (146)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:12,381 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:12,381 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:12,383 INFO L229 MonitoredProcess]: Starting monitored process 147 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:12,384 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (147)] Waiting until timeout for monitored process [2025-01-10 07:02:12,385 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:12,395 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:12,395 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:12,395 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:12,395 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:12,395 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:12,396 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:12,396 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:12,399 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-01-10 07:02:12,404 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2025-01-10 07:02:12,404 INFO L444 ModelExtractionUtils]: 3 out of 7 variables were initially zero. Simplification set additionally 1 variables to zero. [2025-01-10 07:02:12,404 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:12,404 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:12,407 INFO L229 MonitoredProcess]: Starting monitored process 148 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:12,408 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (148)] Waiting until timeout for monitored process [2025-01-10 07:02:12,408 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-01-10 07:02:12,408 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-01-10 07:02:12,408 INFO L474 LassoAnalysis]: Proved termination. [2025-01-10 07:02:12,408 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~x~0#1, ULTIMATE.start_main_~k~0#1) = 1*ULTIMATE.start_main_~x~0#1 - 1*ULTIMATE.start_main_~k~0#1 Supporting invariants [] [2025-01-10 07:02:12,414 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (147)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:12,414 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-01-10 07:02:12,424 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:12,440 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 81 statements into 1 equivalence classes. [2025-01-10 07:02:12,481 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 81 of 81 statements. [2025-01-10 07:02:12,481 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:12,481 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:12,512 INFO L256 TraceCheckSpWp]: Trace formula consists of 515 conjuncts, 24 conjuncts are in the unsatisfiable core [2025-01-10 07:02:12,512 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (148)] Ended with exit code 0 [2025-01-10 07:02:12,514 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:12,781 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 80 statements into 1 equivalence classes. [2025-01-10 07:02:12,833 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 80 of 80 statements. [2025-01-10 07:02:12,833 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:12,833 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:12,836 INFO L256 TraceCheckSpWp]: Trace formula consists of 538 conjuncts, 30 conjuncts are in the unsatisfiable core [2025-01-10 07:02:12,837 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:12,959 INFO L134 CoverageAnalysis]: Checked inductivity of 402 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 402 trivial. 0 not checked. [2025-01-10 07:02:12,959 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.2 stem predicates 4 loop predicates [2025-01-10 07:02:12,960 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1959 states and 3783 transitions. cyclomatic complexity: 1861 Second operand has 7 states, 6 states have (on average 5.0) internal successors, (30), 7 states have internal predecessors, (30), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 4 states have call predecessors, (11), 5 states have call successors, (11) [2025-01-10 07:02:13,056 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1959 states and 3783 transitions. cyclomatic complexity: 1861. Second operand has 7 states, 6 states have (on average 5.0) internal successors, (30), 7 states have internal predecessors, (30), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 4 states have call predecessors, (11), 5 states have call successors, (11) Result 2858 states and 5013 transitions. Complement of second has 13 states. [2025-01-10 07:02:13,060 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 1 stem states 3 non-accepting loop states 1 accepting loop states [2025-01-10 07:02:13,060 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 5.0) internal successors, (30), 7 states have internal predecessors, (30), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 4 states have call predecessors, (11), 5 states have call successors, (11) [2025-01-10 07:02:13,060 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 33 transitions. [2025-01-10 07:02:13,060 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 33 transitions. Stem has 81 letters. Loop has 80 letters. [2025-01-10 07:02:13,060 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:13,060 INFO L689 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2025-01-10 07:02:13,074 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:13,094 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 81 statements into 1 equivalence classes. [2025-01-10 07:02:13,132 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 81 of 81 statements. [2025-01-10 07:02:13,132 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:13,132 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:13,134 INFO L256 TraceCheckSpWp]: Trace formula consists of 515 conjuncts, 24 conjuncts are in the unsatisfiable core [2025-01-10 07:02:13,136 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:13,431 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 80 statements into 1 equivalence classes. [2025-01-10 07:02:13,472 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 80 of 80 statements. [2025-01-10 07:02:13,472 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:13,472 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:13,480 INFO L256 TraceCheckSpWp]: Trace formula consists of 538 conjuncts, 30 conjuncts are in the unsatisfiable core [2025-01-10 07:02:13,482 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:13,609 INFO L134 CoverageAnalysis]: Checked inductivity of 402 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 402 trivial. 0 not checked. [2025-01-10 07:02:13,610 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and with honda bouncer for loop.2 stem predicates 4 loop predicates [2025-01-10 07:02:13,610 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1959 states and 3783 transitions. cyclomatic complexity: 1861 Second operand has 7 states, 6 states have (on average 5.0) internal successors, (30), 7 states have internal predecessors, (30), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 4 states have call predecessors, (11), 5 states have call successors, (11) [2025-01-10 07:02:13,683 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1959 states and 3783 transitions. cyclomatic complexity: 1861. Second operand has 7 states, 6 states have (on average 5.0) internal successors, (30), 7 states have internal predecessors, (30), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 4 states have call predecessors, (11), 5 states have call successors, (11) Result 2880 states and 5035 transitions. Complement of second has 17 states. [2025-01-10 07:02:13,683 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 6 states 1 stem states 4 non-accepting loop states 1 accepting loop states [2025-01-10 07:02:13,684 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 5.0) internal successors, (30), 7 states have internal predecessors, (30), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 4 states have call predecessors, (11), 5 states have call successors, (11) [2025-01-10 07:02:13,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 34 transitions. [2025-01-10 07:02:13,684 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 34 transitions. Stem has 81 letters. Loop has 80 letters. [2025-01-10 07:02:13,684 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:13,684 INFO L689 stractBuchiCegarLoop]: Bad chosen interpolant automaton: word not accepted [2025-01-10 07:02:13,691 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:13,708 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 81 statements into 1 equivalence classes. [2025-01-10 07:02:13,747 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 81 of 81 statements. [2025-01-10 07:02:13,747 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:13,747 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:13,755 INFO L256 TraceCheckSpWp]: Trace formula consists of 515 conjuncts, 24 conjuncts are in the unsatisfiable core [2025-01-10 07:02:13,756 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:14,013 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 80 statements into 1 equivalence classes. [2025-01-10 07:02:14,051 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 80 of 80 statements. [2025-01-10 07:02:14,051 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:14,051 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:14,061 INFO L256 TraceCheckSpWp]: Trace formula consists of 538 conjuncts, 30 conjuncts are in the unsatisfiable core [2025-01-10 07:02:14,062 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:14,170 INFO L134 CoverageAnalysis]: Checked inductivity of 402 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 402 trivial. 0 not checked. [2025-01-10 07:02:14,170 INFO L141 lantAutomatonBouncer]: Defining Buchi interpolant automaton with scrooge nondeterminism in stemwith honda bouncer for stem and without honda bouncer for loop.2 stem predicates 4 loop predicates [2025-01-10 07:02:14,171 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1959 states and 3783 transitions. cyclomatic complexity: 1861 Second operand has 7 states, 6 states have (on average 5.0) internal successors, (30), 7 states have internal predecessors, (30), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 4 states have call predecessors, (11), 5 states have call successors, (11) [2025-01-10 07:02:14,269 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1959 states and 3783 transitions. cyclomatic complexity: 1861. Second operand has 7 states, 6 states have (on average 5.0) internal successors, (30), 7 states have internal predecessors, (30), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 4 states have call predecessors, (11), 5 states have call successors, (11) Result 3991 states and 7626 transitions. Complement of second has 18 states. [2025-01-10 07:02:14,270 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 6 states 2 stem states 3 non-accepting loop states 1 accepting loop states [2025-01-10 07:02:14,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 5.0) internal successors, (30), 7 states have internal predecessors, (30), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 4 states have call predecessors, (11), 5 states have call successors, (11) [2025-01-10 07:02:14,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2025-01-10 07:02:14,270 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 63 transitions. Stem has 81 letters. Loop has 80 letters. [2025-01-10 07:02:14,271 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:14,271 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 63 transitions. Stem has 161 letters. Loop has 80 letters. [2025-01-10 07:02:14,271 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:14,271 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 63 transitions. Stem has 81 letters. Loop has 160 letters. [2025-01-10 07:02:14,272 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:14,272 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 3991 states and 7626 transitions. [2025-01-10 07:02:14,298 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 125 [2025-01-10 07:02:14,315 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 3991 states to 1884 states and 3725 transitions. [2025-01-10 07:02:14,315 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 160 [2025-01-10 07:02:14,315 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 217 [2025-01-10 07:02:14,315 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1884 states and 3725 transitions. [2025-01-10 07:02:14,315 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:14,315 INFO L218 hiAutomatonCegarLoop]: Abstraction has 1884 states and 3725 transitions. [2025-01-10 07:02:14,316 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1884 states and 3725 transitions. [2025-01-10 07:02:14,389 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1884 to 1679. [2025-01-10 07:02:14,390 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1679 states, 931 states have (on average 1.0966702470461869) internal successors, (1021), 958 states have internal predecessors, (1021), 567 states have call successors, (581), 144 states have call predecessors, (581), 181 states have return successors, (1727), 576 states have call predecessors, (1727), 567 states have call successors, (1727) [2025-01-10 07:02:14,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1679 states to 1679 states and 3329 transitions. [2025-01-10 07:02:14,397 INFO L240 hiAutomatonCegarLoop]: Abstraction has 1679 states and 3329 transitions. [2025-01-10 07:02:14,397 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:14,397 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2025-01-10 07:02:14,397 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2025-01-10 07:02:14,397 INFO L87 Difference]: Start difference. First operand 1679 states and 3329 transitions. Second operand has 13 states, 10 states have (on average 3.8) internal successors, (38), 13 states have internal predecessors, (38), 5 states have call successors, (16), 1 states have call predecessors, (16), 2 states have return successors, (16), 6 states have call predecessors, (16), 5 states have call successors, (16) [2025-01-10 07:02:14,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:14,555 INFO L93 Difference]: Finished difference Result 1145 states and 1972 transitions. [2025-01-10 07:02:14,555 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1145 states and 1972 transitions. [2025-01-10 07:02:14,561 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 112 [2025-01-10 07:02:14,571 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1145 states to 1138 states and 1965 transitions. [2025-01-10 07:02:14,571 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 101 [2025-01-10 07:02:14,571 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 127 [2025-01-10 07:02:14,571 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1138 states and 1965 transitions. [2025-01-10 07:02:14,571 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:14,571 INFO L218 hiAutomatonCegarLoop]: Abstraction has 1138 states and 1965 transitions. [2025-01-10 07:02:14,572 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1138 states and 1965 transitions. [2025-01-10 07:02:14,603 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1138 to 1126. [2025-01-10 07:02:14,604 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1126 states, 665 states have (on average 1.0736842105263158) internal successors, (714), 683 states have internal predecessors, (714), 313 states have call successors, (327), 105 states have call predecessors, (327), 148 states have return successors, (910), 337 states have call predecessors, (910), 313 states have call successors, (910) [2025-01-10 07:02:14,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1126 states to 1126 states and 1951 transitions. [2025-01-10 07:02:14,611 INFO L240 hiAutomatonCegarLoop]: Abstraction has 1126 states and 1951 transitions. [2025-01-10 07:02:14,611 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2025-01-10 07:02:14,612 INFO L432 stractBuchiCegarLoop]: Abstraction has 1126 states and 1951 transitions. [2025-01-10 07:02:14,612 INFO L338 stractBuchiCegarLoop]: ======== Iteration 23 ============ [2025-01-10 07:02:14,612 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1126 states and 1951 transitions. [2025-01-10 07:02:14,616 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 109 [2025-01-10 07:02:14,616 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:14,616 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:14,619 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [23, 23, 14, 9, 9, 9, 9, 5, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:02:14,619 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [38, 38, 26, 26, 26, 26, 12, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:02:14,619 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" [2025-01-10 07:02:14,620 INFO L754 eck$LassoCheckResult]: Loop: "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" [2025-01-10 07:02:14,620 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:14,620 INFO L85 PathProgramCache]: Analyzing trace with hash -2041764286, now seen corresponding path program 4 times [2025-01-10 07:02:14,620 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:14,620 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [20980802] [2025-01-10 07:02:14,620 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:02:14,620 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:14,628 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 153 statements into 2 equivalence classes. [2025-01-10 07:02:14,639 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 153 of 153 statements. [2025-01-10 07:02:14,639 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-01-10 07:02:14,639 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:14,726 INFO L134 CoverageAnalysis]: Checked inductivity of 1133 backedges. 20 proven. 29 refuted. 0 times theorem prover too weak. 1084 trivial. 0 not checked. [2025-01-10 07:02:14,726 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:14,727 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [20980802] [2025-01-10 07:02:14,727 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [20980802] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:14,727 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [886188997] [2025-01-10 07:02:14,727 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:02:14,727 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:14,727 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:14,731 INFO L229 MonitoredProcess]: Starting monitored process 149 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:14,732 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (149)] Waiting until timeout for monitored process [2025-01-10 07:02:14,791 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 153 statements into 2 equivalence classes. [2025-01-10 07:02:14,818 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 153 of 153 statements. [2025-01-10 07:02:14,818 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-01-10 07:02:14,818 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:14,819 INFO L256 TraceCheckSpWp]: Trace formula consists of 367 conjuncts, 8 conjuncts are in the unsatisfiable core [2025-01-10 07:02:14,821 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:14,926 INFO L134 CoverageAnalysis]: Checked inductivity of 1133 backedges. 413 proven. 32 refuted. 0 times theorem prover too weak. 688 trivial. 0 not checked. [2025-01-10 07:02:14,926 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:15,041 INFO L134 CoverageAnalysis]: Checked inductivity of 1133 backedges. 17 proven. 32 refuted. 0 times theorem prover too weak. 1084 trivial. 0 not checked. [2025-01-10 07:02:15,042 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [886188997] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:15,042 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:15,042 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 9] total 13 [2025-01-10 07:02:15,042 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [459680303] [2025-01-10 07:02:15,042 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:15,042 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:02:15,042 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:15,043 INFO L85 PathProgramCache]: Analyzing trace with hash 16999800, now seen corresponding path program 9 times [2025-01-10 07:02:15,043 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:15,043 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1578576476] [2025-01-10 07:02:15,043 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:02:15,043 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:15,049 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 238 statements into 24 equivalence classes. [2025-01-10 07:02:15,062 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 13 check-sat command(s) and asserted 116 of 238 statements. [2025-01-10 07:02:15,062 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 13 check-sat command(s) [2025-01-10 07:02:15,062 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:15,320 INFO L134 CoverageAnalysis]: Checked inductivity of 3499 backedges. 840 proven. 124 refuted. 0 times theorem prover too weak. 2535 trivial. 0 not checked. [2025-01-10 07:02:15,320 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:15,320 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1578576476] [2025-01-10 07:02:15,320 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1578576476] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:15,320 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [594634238] [2025-01-10 07:02:15,320 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:02:15,321 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:15,321 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:15,325 INFO L229 MonitoredProcess]: Starting monitored process 150 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:15,375 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (150)] Waiting until timeout for monitored process [2025-01-10 07:02:15,443 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 238 statements into 24 equivalence classes. [2025-01-10 07:02:15,474 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 13 check-sat command(s) and asserted 116 of 238 statements. [2025-01-10 07:02:15,474 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 13 check-sat command(s) [2025-01-10 07:02:15,474 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:15,476 INFO L256 TraceCheckSpWp]: Trace formula consists of 274 conjuncts, 27 conjuncts are in the unsatisfiable core [2025-01-10 07:02:15,479 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:15,548 INFO L134 CoverageAnalysis]: Checked inductivity of 3499 backedges. 840 proven. 120 refuted. 0 times theorem prover too weak. 2539 trivial. 0 not checked. [2025-01-10 07:02:15,548 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:16,252 INFO L134 CoverageAnalysis]: Checked inductivity of 3499 backedges. 843 proven. 130 refuted. 0 times theorem prover too weak. 2526 trivial. 0 not checked. [2025-01-10 07:02:16,253 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [594634238] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:16,253 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:16,253 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 15, 19] total 28 [2025-01-10 07:02:16,253 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1223752857] [2025-01-10 07:02:16,253 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:16,253 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-01-10 07:02:16,254 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:16,254 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2025-01-10 07:02:16,254 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=109, Unknown=0, NotChecked=0, Total=156 [2025-01-10 07:02:16,254 INFO L87 Difference]: Start difference. First operand 1126 states and 1951 transitions. cyclomatic complexity: 845 Second operand has 13 states, 13 states have (on average 4.384615384615385) internal successors, (57), 13 states have internal predecessors, (57), 9 states have call successors, (27), 2 states have call predecessors, (27), 2 states have return successors, (27), 9 states have call predecessors, (27), 9 states have call successors, (27) [2025-01-10 07:02:16,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:16,343 INFO L93 Difference]: Finished difference Result 1329 states and 2475 transitions. [2025-01-10 07:02:16,343 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1329 states and 2475 transitions. [2025-01-10 07:02:16,349 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 160 [2025-01-10 07:02:16,357 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1329 states to 1264 states and 2347 transitions. [2025-01-10 07:02:16,358 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 137 [2025-01-10 07:02:16,358 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 137 [2025-01-10 07:02:16,358 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1264 states and 2347 transitions. [2025-01-10 07:02:16,358 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:16,358 INFO L218 hiAutomatonCegarLoop]: Abstraction has 1264 states and 2347 transitions. [2025-01-10 07:02:16,359 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1264 states and 2347 transitions. [2025-01-10 07:02:16,379 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1264 to 1109. [2025-01-10 07:02:16,381 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1109 states, 655 states have (on average 1.0732824427480916) internal successors, (703), 672 states have internal predecessors, (703), 309 states have call successors, (323), 102 states have call predecessors, (323), 145 states have return successors, (906), 334 states have call predecessors, (906), 309 states have call successors, (906) [2025-01-10 07:02:16,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1109 states to 1109 states and 1932 transitions. [2025-01-10 07:02:16,385 INFO L240 hiAutomatonCegarLoop]: Abstraction has 1109 states and 1932 transitions. [2025-01-10 07:02:16,385 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2025-01-10 07:02:16,385 INFO L432 stractBuchiCegarLoop]: Abstraction has 1109 states and 1932 transitions. [2025-01-10 07:02:16,385 INFO L338 stractBuchiCegarLoop]: ======== Iteration 24 ============ [2025-01-10 07:02:16,385 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1109 states and 1932 transitions. [2025-01-10 07:02:16,388 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 109 [2025-01-10 07:02:16,388 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:16,388 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:16,390 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [30, 30, 17, 13, 13, 13, 13, 6, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1] [2025-01-10 07:02:16,393 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [32, 32, 20, 20, 20, 20, 12, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:02:16,394 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" [2025-01-10 07:02:16,394 INFO L754 eck$LassoCheckResult]: Loop: "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" [2025-01-10 07:02:16,394 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:16,394 INFO L85 PathProgramCache]: Analyzing trace with hash 564737915, now seen corresponding path program 5 times [2025-01-10 07:02:16,394 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:16,394 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1195374629] [2025-01-10 07:02:16,394 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:02:16,395 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:16,402 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 197 statements into 11 equivalence classes. [2025-01-10 07:02:16,467 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 11 check-sat command(s) and asserted 197 of 197 statements. [2025-01-10 07:02:16,467 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 11 check-sat command(s) [2025-01-10 07:02:16,467 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-01-10 07:02:16,468 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1523397373] [2025-01-10 07:02:16,468 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:02:16,468 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:16,469 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:16,472 INFO L229 MonitoredProcess]: Starting monitored process 151 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:16,473 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (151)] Waiting until timeout for monitored process [2025-01-10 07:02:16,545 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 197 statements into 11 equivalence classes. [2025-01-10 07:02:16,606 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 11 check-sat command(s) and asserted 197 of 197 statements. [2025-01-10 07:02:16,606 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 11 check-sat command(s) [2025-01-10 07:02:16,606 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:16,606 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:16,624 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 197 statements into 1 equivalence classes. [2025-01-10 07:02:16,645 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 197 of 197 statements. [2025-01-10 07:02:16,645 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:16,645 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:16,673 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:16,673 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:16,673 INFO L85 PathProgramCache]: Analyzing trace with hash -687483392, now seen corresponding path program 10 times [2025-01-10 07:02:16,674 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:16,675 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1160403247] [2025-01-10 07:02:16,675 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:02:16,675 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:16,680 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 202 statements into 2 equivalence classes. [2025-01-10 07:02:16,687 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 202 of 202 statements. [2025-01-10 07:02:16,687 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-01-10 07:02:16,687 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:16,784 INFO L134 CoverageAnalysis]: Checked inductivity of 2401 backedges. 154 proven. 134 refuted. 0 times theorem prover too weak. 2113 trivial. 0 not checked. [2025-01-10 07:02:16,784 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:16,784 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1160403247] [2025-01-10 07:02:16,784 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1160403247] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:16,785 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1845357908] [2025-01-10 07:02:16,785 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:02:16,785 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:16,785 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:16,791 INFO L229 MonitoredProcess]: Starting monitored process 152 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:16,799 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (152)] Waiting until timeout for monitored process [2025-01-10 07:02:16,905 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 202 statements into 2 equivalence classes. [2025-01-10 07:02:16,978 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 202 of 202 statements. [2025-01-10 07:02:16,978 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-01-10 07:02:16,978 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:16,980 INFO L256 TraceCheckSpWp]: Trace formula consists of 456 conjuncts, 18 conjuncts are in the unsatisfiable core [2025-01-10 07:02:16,983 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:17,121 INFO L134 CoverageAnalysis]: Checked inductivity of 2401 backedges. 1352 proven. 124 refuted. 0 times theorem prover too weak. 925 trivial. 0 not checked. [2025-01-10 07:02:17,122 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:17,679 INFO L134 CoverageAnalysis]: Checked inductivity of 2401 backedges. 146 proven. 566 refuted. 0 times theorem prover too weak. 1689 trivial. 0 not checked. [2025-01-10 07:02:17,680 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1845357908] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:17,680 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:17,680 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 13, 17] total 25 [2025-01-10 07:02:17,680 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [844531035] [2025-01-10 07:02:17,680 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:17,681 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-01-10 07:02:17,681 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:17,681 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2025-01-10 07:02:17,681 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=94, Invalid=506, Unknown=0, NotChecked=0, Total=600 [2025-01-10 07:02:17,682 INFO L87 Difference]: Start difference. First operand 1109 states and 1932 transitions. cyclomatic complexity: 843 Second operand has 25 states, 21 states have (on average 3.2857142857142856) internal successors, (69), 24 states have internal predecessors, (69), 16 states have call successors, (31), 2 states have call predecessors, (31), 8 states have return successors, (33), 11 states have call predecessors, (33), 16 states have call successors, (33) [2025-01-10 07:02:18,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:18,285 INFO L93 Difference]: Finished difference Result 1491 states and 2825 transitions. [2025-01-10 07:02:18,285 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1491 states and 2825 transitions. [2025-01-10 07:02:18,294 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 224 [2025-01-10 07:02:18,303 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1491 states to 1490 states and 2823 transitions. [2025-01-10 07:02:18,303 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 174 [2025-01-10 07:02:18,303 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 174 [2025-01-10 07:02:18,304 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1490 states and 2823 transitions. [2025-01-10 07:02:18,304 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:18,304 INFO L218 hiAutomatonCegarLoop]: Abstraction has 1490 states and 2823 transitions. [2025-01-10 07:02:18,305 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1490 states and 2823 transitions. [2025-01-10 07:02:18,366 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1490 to 1225. [2025-01-10 07:02:18,367 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1225 states, 739 states have (on average 1.081190798376184) internal successors, (799), 751 states have internal predecessors, (799), 339 states have call successors, (353), 105 states have call predecessors, (353), 147 states have return successors, (979), 368 states have call predecessors, (979), 339 states have call successors, (979) [2025-01-10 07:02:18,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1225 states to 1225 states and 2131 transitions. [2025-01-10 07:02:18,372 INFO L240 hiAutomatonCegarLoop]: Abstraction has 1225 states and 2131 transitions. [2025-01-10 07:02:18,372 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2025-01-10 07:02:18,373 INFO L432 stractBuchiCegarLoop]: Abstraction has 1225 states and 2131 transitions. [2025-01-10 07:02:18,373 INFO L338 stractBuchiCegarLoop]: ======== Iteration 25 ============ [2025-01-10 07:02:18,373 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1225 states and 2131 transitions. [2025-01-10 07:02:18,376 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 152 [2025-01-10 07:02:18,376 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:18,376 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:18,380 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [30, 30, 17, 13, 13, 13, 13, 6, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1] [2025-01-10 07:02:18,380 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [37, 37, 25, 25, 25, 25, 12, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:02:18,381 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" [2025-01-10 07:02:18,381 INFO L754 eck$LassoCheckResult]: Loop: "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" [2025-01-10 07:02:18,382 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:18,382 INFO L85 PathProgramCache]: Analyzing trace with hash 564737915, now seen corresponding path program 6 times [2025-01-10 07:02:18,382 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:18,382 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [659490391] [2025-01-10 07:02:18,382 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-01-10 07:02:18,382 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:18,388 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 197 statements into 11 equivalence classes. [2025-01-10 07:02:18,428 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) and asserted 197 of 197 statements. [2025-01-10 07:02:18,429 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2025-01-10 07:02:18,429 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-01-10 07:02:18,430 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1024048740] [2025-01-10 07:02:18,431 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-01-10 07:02:18,431 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:18,431 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:18,433 INFO L229 MonitoredProcess]: Starting monitored process 153 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:18,435 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (153)] Waiting until timeout for monitored process [2025-01-10 07:02:18,508 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 197 statements into 11 equivalence classes. [2025-01-10 07:02:18,640 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) and asserted 197 of 197 statements. [2025-01-10 07:02:18,640 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2025-01-10 07:02:18,640 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:18,640 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:18,660 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 197 statements into 1 equivalence classes. [2025-01-10 07:02:18,688 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 197 of 197 statements. [2025-01-10 07:02:18,689 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:18,689 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:18,717 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:18,719 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:18,719 INFO L85 PathProgramCache]: Analyzing trace with hash 745153252, now seen corresponding path program 11 times [2025-01-10 07:02:18,719 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:18,719 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1492716920] [2025-01-10 07:02:18,719 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:02:18,719 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:18,725 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 232 statements into 26 equivalence classes. [2025-01-10 07:02:18,736 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 15 check-sat command(s) and asserted 155 of 232 statements. [2025-01-10 07:02:18,736 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 15 check-sat command(s) [2025-01-10 07:02:18,736 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:18,946 INFO L134 CoverageAnalysis]: Checked inductivity of 3301 backedges. 423 proven. 507 refuted. 0 times theorem prover too weak. 2371 trivial. 0 not checked. [2025-01-10 07:02:18,946 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:18,946 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1492716920] [2025-01-10 07:02:18,946 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1492716920] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:18,946 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1005488148] [2025-01-10 07:02:18,946 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:02:18,946 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:18,946 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:18,952 INFO L229 MonitoredProcess]: Starting monitored process 154 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:18,956 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (154)] Waiting until timeout for monitored process [2025-01-10 07:02:19,033 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 232 statements into 26 equivalence classes. [2025-01-10 07:02:19,093 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 15 check-sat command(s) and asserted 155 of 232 statements. [2025-01-10 07:02:19,093 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 15 check-sat command(s) [2025-01-10 07:02:19,093 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:19,095 INFO L256 TraceCheckSpWp]: Trace formula consists of 342 conjuncts, 22 conjuncts are in the unsatisfiable core [2025-01-10 07:02:19,098 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:19,210 INFO L134 CoverageAnalysis]: Checked inductivity of 3301 backedges. 1896 proven. 199 refuted. 0 times theorem prover too weak. 1206 trivial. 0 not checked. [2025-01-10 07:02:19,211 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:20,012 INFO L134 CoverageAnalysis]: Checked inductivity of 3301 backedges. 224 proven. 879 refuted. 0 times theorem prover too weak. 2198 trivial. 0 not checked. [2025-01-10 07:02:20,012 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1005488148] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:20,012 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:20,013 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15, 21] total 30 [2025-01-10 07:02:20,013 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1282603170] [2025-01-10 07:02:20,013 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:20,013 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-01-10 07:02:20,013 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:20,014 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2025-01-10 07:02:20,014 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=131, Invalid=739, Unknown=0, NotChecked=0, Total=870 [2025-01-10 07:02:20,014 INFO L87 Difference]: Start difference. First operand 1225 states and 2131 transitions. cyclomatic complexity: 928 Second operand has 30 states, 24 states have (on average 3.0833333333333335) internal successors, (74), 27 states have internal predecessors, (74), 18 states have call successors, (33), 2 states have call predecessors, (33), 10 states have return successors, (38), 13 states have call predecessors, (38), 18 states have call successors, (38) [2025-01-10 07:02:21,236 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:21,237 INFO L93 Difference]: Finished difference Result 1713 states and 3194 transitions. [2025-01-10 07:02:21,237 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1713 states and 3194 transitions. [2025-01-10 07:02:21,247 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 308 [2025-01-10 07:02:21,262 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1713 states to 1691 states and 3156 transitions. [2025-01-10 07:02:21,262 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 205 [2025-01-10 07:02:21,262 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 205 [2025-01-10 07:02:21,262 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1691 states and 3156 transitions. [2025-01-10 07:02:21,262 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:21,262 INFO L218 hiAutomatonCegarLoop]: Abstraction has 1691 states and 3156 transitions. [2025-01-10 07:02:21,263 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1691 states and 3156 transitions. [2025-01-10 07:02:21,307 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1691 to 1420. [2025-01-10 07:02:21,316 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1420 states, 842 states have (on average 1.0831353919239906) internal successors, (912), 861 states have internal predecessors, (912), 431 states have call successors, (445), 111 states have call predecessors, (445), 147 states have return successors, (1239), 447 states have call predecessors, (1239), 431 states have call successors, (1239) [2025-01-10 07:02:21,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1420 states to 1420 states and 2596 transitions. [2025-01-10 07:02:21,323 INFO L240 hiAutomatonCegarLoop]: Abstraction has 1420 states and 2596 transitions. [2025-01-10 07:02:21,326 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2025-01-10 07:02:21,326 INFO L432 stractBuchiCegarLoop]: Abstraction has 1420 states and 2596 transitions. [2025-01-10 07:02:21,326 INFO L338 stractBuchiCegarLoop]: ======== Iteration 26 ============ [2025-01-10 07:02:21,326 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1420 states and 2596 transitions. [2025-01-10 07:02:21,330 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 263 [2025-01-10 07:02:21,330 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:21,330 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:21,332 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [30, 30, 17, 13, 13, 13, 13, 6, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1] [2025-01-10 07:02:21,332 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [38, 38, 26, 26, 26, 26, 12, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:02:21,332 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" [2025-01-10 07:02:21,333 INFO L754 eck$LassoCheckResult]: Loop: "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" [2025-01-10 07:02:21,333 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:21,333 INFO L85 PathProgramCache]: Analyzing trace with hash 564737915, now seen corresponding path program 7 times [2025-01-10 07:02:21,333 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:21,333 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1589807865] [2025-01-10 07:02:21,333 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-01-10 07:02:21,334 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:21,340 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 197 statements into 1 equivalence classes. [2025-01-10 07:02:21,350 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 197 of 197 statements. [2025-01-10 07:02:21,350 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:21,350 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-01-10 07:02:21,351 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1128338756] [2025-01-10 07:02:21,351 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-01-10 07:02:21,351 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:21,352 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:21,354 INFO L229 MonitoredProcess]: Starting monitored process 155 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:21,356 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (155)] Waiting until timeout for monitored process [2025-01-10 07:02:21,460 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 197 statements into 1 equivalence classes. [2025-01-10 07:02:21,522 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 197 of 197 statements. [2025-01-10 07:02:21,522 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:21,522 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:21,522 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:21,541 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 197 statements into 1 equivalence classes. [2025-01-10 07:02:21,561 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 197 of 197 statements. [2025-01-10 07:02:21,561 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:21,561 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:21,591 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:21,591 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:21,591 INFO L85 PathProgramCache]: Analyzing trace with hash 374665408, now seen corresponding path program 12 times [2025-01-10 07:02:21,592 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:21,592 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2084683752] [2025-01-10 07:02:21,592 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-01-10 07:02:21,592 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:21,598 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 238 statements into 24 equivalence classes. [2025-01-10 07:02:21,610 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 21 check-sat command(s) and asserted 180 of 238 statements. [2025-01-10 07:02:21,610 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 21 check-sat command(s) [2025-01-10 07:02:21,610 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:21,865 INFO L134 CoverageAnalysis]: Checked inductivity of 3499 backedges. 814 proven. 182 refuted. 0 times theorem prover too weak. 2503 trivial. 0 not checked. [2025-01-10 07:02:21,865 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:21,865 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2084683752] [2025-01-10 07:02:21,866 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2084683752] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:21,866 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [752609061] [2025-01-10 07:02:21,866 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-01-10 07:02:21,866 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:21,866 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:21,871 INFO L229 MonitoredProcess]: Starting monitored process 156 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:21,872 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (156)] Waiting until timeout for monitored process [2025-01-10 07:02:21,955 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 238 statements into 24 equivalence classes. [2025-01-10 07:02:22,053 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 21 check-sat command(s) and asserted 180 of 238 statements. [2025-01-10 07:02:22,053 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 21 check-sat command(s) [2025-01-10 07:02:22,053 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:22,055 INFO L256 TraceCheckSpWp]: Trace formula consists of 394 conjuncts, 21 conjuncts are in the unsatisfiable core [2025-01-10 07:02:22,057 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:22,122 INFO L134 CoverageAnalysis]: Checked inductivity of 3499 backedges. 1325 proven. 95 refuted. 0 times theorem prover too weak. 2079 trivial. 0 not checked. [2025-01-10 07:02:22,122 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:23,118 INFO L134 CoverageAnalysis]: Checked inductivity of 3499 backedges. 809 proven. 195 refuted. 0 times theorem prover too weak. 2495 trivial. 0 not checked. [2025-01-10 07:02:23,118 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [752609061] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:23,119 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:23,119 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 15, 20] total 29 [2025-01-10 07:02:23,122 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [976528078] [2025-01-10 07:02:23,123 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:23,123 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-01-10 07:02:23,123 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:23,123 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2025-01-10 07:02:23,123 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=142, Invalid=670, Unknown=0, NotChecked=0, Total=812 [2025-01-10 07:02:23,124 INFO L87 Difference]: Start difference. First operand 1420 states and 2596 transitions. cyclomatic complexity: 1201 Second operand has 29 states, 23 states have (on average 2.8260869565217392) internal successors, (65), 26 states have internal predecessors, (65), 18 states have call successors, (27), 2 states have call predecessors, (27), 9 states have return successors, (31), 15 states have call predecessors, (31), 18 states have call successors, (31) [2025-01-10 07:02:23,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:23,805 INFO L93 Difference]: Finished difference Result 1765 states and 3269 transitions. [2025-01-10 07:02:23,806 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1765 states and 3269 transitions. [2025-01-10 07:02:23,826 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 383 [2025-01-10 07:02:23,849 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1765 states to 1712 states and 3172 transitions. [2025-01-10 07:02:23,853 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 202 [2025-01-10 07:02:23,853 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 202 [2025-01-10 07:02:23,856 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1712 states and 3172 transitions. [2025-01-10 07:02:23,857 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:23,857 INFO L218 hiAutomatonCegarLoop]: Abstraction has 1712 states and 3172 transitions. [2025-01-10 07:02:23,858 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1712 states and 3172 transitions. [2025-01-10 07:02:23,912 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1712 to 1577. [2025-01-10 07:02:23,918 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1577 states, 942 states have (on average 1.0870488322717622) internal successors, (1024), 966 states have internal predecessors, (1024), 488 states have call successors, (502), 116 states have call predecessors, (502), 147 states have return successors, (1378), 494 states have call predecessors, (1378), 488 states have call successors, (1378) [2025-01-10 07:02:23,928 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1577 states to 1577 states and 2904 transitions. [2025-01-10 07:02:23,931 INFO L240 hiAutomatonCegarLoop]: Abstraction has 1577 states and 2904 transitions. [2025-01-10 07:02:23,932 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2025-01-10 07:02:23,933 INFO L432 stractBuchiCegarLoop]: Abstraction has 1577 states and 2904 transitions. [2025-01-10 07:02:23,933 INFO L338 stractBuchiCegarLoop]: ======== Iteration 27 ============ [2025-01-10 07:02:23,933 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1577 states and 2904 transitions. [2025-01-10 07:02:23,942 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 331 [2025-01-10 07:02:23,945 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:23,945 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:23,947 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [30, 30, 17, 13, 13, 13, 13, 6, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1] [2025-01-10 07:02:23,947 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [33, 33, 21, 21, 21, 21, 12, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:02:23,947 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" [2025-01-10 07:02:23,948 INFO L754 eck$LassoCheckResult]: Loop: "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" [2025-01-10 07:02:23,948 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:23,948 INFO L85 PathProgramCache]: Analyzing trace with hash 564737915, now seen corresponding path program 8 times [2025-01-10 07:02:23,948 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:23,948 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2145820027] [2025-01-10 07:02:23,948 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:02:23,948 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:23,963 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 197 statements into 2 equivalence classes. [2025-01-10 07:02:24,006 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 197 of 197 statements. [2025-01-10 07:02:24,006 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:02:24,006 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-01-10 07:02:24,007 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [492427208] [2025-01-10 07:02:24,007 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:02:24,007 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:24,007 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:24,009 INFO L229 MonitoredProcess]: Starting monitored process 157 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:24,017 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (157)] Waiting until timeout for monitored process [2025-01-10 07:02:24,101 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 197 statements into 2 equivalence classes. [2025-01-10 07:02:24,168 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 197 of 197 statements. [2025-01-10 07:02:24,168 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:02:24,169 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:24,169 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:24,185 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 197 statements into 1 equivalence classes. [2025-01-10 07:02:24,204 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 197 of 197 statements. [2025-01-10 07:02:24,204 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:24,204 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:24,231 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:24,231 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:24,231 INFO L85 PathProgramCache]: Analyzing trace with hash 1178139812, now seen corresponding path program 13 times [2025-01-10 07:02:24,231 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:24,231 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1112129954] [2025-01-10 07:02:24,231 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-01-10 07:02:24,232 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:24,236 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 208 statements into 1 equivalence classes. [2025-01-10 07:02:24,242 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 208 of 208 statements. [2025-01-10 07:02:24,242 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:24,243 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:24,470 INFO L134 CoverageAnalysis]: Checked inductivity of 2569 backedges. 98 proven. 624 refuted. 0 times theorem prover too weak. 1847 trivial. 0 not checked. [2025-01-10 07:02:24,471 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:24,471 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1112129954] [2025-01-10 07:02:24,471 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1112129954] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:24,471 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [85172589] [2025-01-10 07:02:24,471 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-01-10 07:02:24,471 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:24,471 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:24,474 INFO L229 MonitoredProcess]: Starting monitored process 158 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:24,475 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (158)] Waiting until timeout for monitored process [2025-01-10 07:02:24,559 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 208 statements into 1 equivalence classes. [2025-01-10 07:02:24,594 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 208 of 208 statements. [2025-01-10 07:02:24,594 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:24,594 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:24,596 INFO L256 TraceCheckSpWp]: Trace formula consists of 468 conjuncts, 17 conjuncts are in the unsatisfiable core [2025-01-10 07:02:24,598 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:24,657 INFO L134 CoverageAnalysis]: Checked inductivity of 2569 backedges. 1198 proven. 60 refuted. 0 times theorem prover too weak. 1311 trivial. 0 not checked. [2025-01-10 07:02:24,657 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:25,232 INFO L134 CoverageAnalysis]: Checked inductivity of 2569 backedges. 98 proven. 632 refuted. 0 times theorem prover too weak. 1839 trivial. 0 not checked. [2025-01-10 07:02:25,233 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [85172589] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:25,233 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:25,233 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13, 17] total 23 [2025-01-10 07:02:25,233 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2011163868] [2025-01-10 07:02:25,233 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:25,233 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-01-10 07:02:25,233 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:25,234 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2025-01-10 07:02:25,234 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=75, Invalid=431, Unknown=0, NotChecked=0, Total=506 [2025-01-10 07:02:25,234 INFO L87 Difference]: Start difference. First operand 1577 states and 2904 transitions. cyclomatic complexity: 1353 Second operand has 23 states, 18 states have (on average 3.0555555555555554) internal successors, (55), 20 states have internal predecessors, (55), 14 states have call successors, (28), 2 states have call predecessors, (28), 8 states have return successors, (31), 10 states have call predecessors, (31), 14 states have call successors, (31) [2025-01-10 07:02:25,654 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:25,654 INFO L93 Difference]: Finished difference Result 1713 states and 3055 transitions. [2025-01-10 07:02:25,654 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1713 states and 3055 transitions. [2025-01-10 07:02:25,662 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 371 [2025-01-10 07:02:25,670 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1713 states to 1712 states and 3054 transitions. [2025-01-10 07:02:25,670 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 182 [2025-01-10 07:02:25,671 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 182 [2025-01-10 07:02:25,671 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1712 states and 3054 transitions. [2025-01-10 07:02:25,671 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:25,671 INFO L218 hiAutomatonCegarLoop]: Abstraction has 1712 states and 3054 transitions. [2025-01-10 07:02:25,671 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1712 states and 3054 transitions. [2025-01-10 07:02:25,693 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1712 to 1577. [2025-01-10 07:02:25,695 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1577 states, 942 states have (on average 1.0870488322717622) internal successors, (1024), 966 states have internal predecessors, (1024), 488 states have call successors, (502), 116 states have call predecessors, (502), 147 states have return successors, (1375), 494 states have call predecessors, (1375), 488 states have call successors, (1375) [2025-01-10 07:02:25,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1577 states to 1577 states and 2901 transitions. [2025-01-10 07:02:25,699 INFO L240 hiAutomatonCegarLoop]: Abstraction has 1577 states and 2901 transitions. [2025-01-10 07:02:25,701 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2025-01-10 07:02:25,702 INFO L432 stractBuchiCegarLoop]: Abstraction has 1577 states and 2901 transitions. [2025-01-10 07:02:25,702 INFO L338 stractBuchiCegarLoop]: ======== Iteration 28 ============ [2025-01-10 07:02:25,702 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1577 states and 2901 transitions. [2025-01-10 07:02:25,706 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 331 [2025-01-10 07:02:25,706 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:25,706 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:25,707 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [30, 30, 17, 13, 13, 13, 13, 6, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1] [2025-01-10 07:02:25,707 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [29, 29, 17, 17, 17, 17, 12, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:02:25,707 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" [2025-01-10 07:02:25,707 INFO L754 eck$LassoCheckResult]: Loop: "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" [2025-01-10 07:02:25,707 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:25,708 INFO L85 PathProgramCache]: Analyzing trace with hash 564737915, now seen corresponding path program 9 times [2025-01-10 07:02:25,708 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:25,708 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1154856449] [2025-01-10 07:02:25,708 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:02:25,708 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:25,715 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 197 statements into 11 equivalence classes. [2025-01-10 07:02:25,747 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 11 check-sat command(s) and asserted 197 of 197 statements. [2025-01-10 07:02:25,747 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 11 check-sat command(s) [2025-01-10 07:02:25,748 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-01-10 07:02:25,749 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [170385128] [2025-01-10 07:02:25,749 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:02:25,749 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:25,749 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:25,755 INFO L229 MonitoredProcess]: Starting monitored process 159 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:25,755 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (159)] Waiting until timeout for monitored process [2025-01-10 07:02:25,846 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 197 statements into 11 equivalence classes. [2025-01-10 07:02:25,979 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 11 check-sat command(s) and asserted 197 of 197 statements. [2025-01-10 07:02:25,980 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 11 check-sat command(s) [2025-01-10 07:02:25,980 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:25,980 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:25,996 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 197 statements into 1 equivalence classes. [2025-01-10 07:02:26,016 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 197 of 197 statements. [2025-01-10 07:02:26,016 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:26,016 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:26,043 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:26,044 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:26,044 INFO L85 PathProgramCache]: Analyzing trace with hash -48455588, now seen corresponding path program 14 times [2025-01-10 07:02:26,044 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:26,044 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1780023664] [2025-01-10 07:02:26,044 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:02:26,044 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:26,050 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 184 statements into 2 equivalence classes. [2025-01-10 07:02:26,054 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 184 of 184 statements. [2025-01-10 07:02:26,054 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:02:26,054 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:26,241 INFO L134 CoverageAnalysis]: Checked inductivity of 1933 backedges. 86 proven. 251 refuted. 0 times theorem prover too weak. 1596 trivial. 0 not checked. [2025-01-10 07:02:26,241 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:26,241 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1780023664] [2025-01-10 07:02:26,241 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1780023664] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:26,241 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1136942068] [2025-01-10 07:02:26,241 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:02:26,241 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:26,242 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:26,244 INFO L229 MonitoredProcess]: Starting monitored process 160 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:26,245 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (160)] Waiting until timeout for monitored process [2025-01-10 07:02:26,333 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 184 statements into 2 equivalence classes. [2025-01-10 07:02:26,364 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 184 of 184 statements. [2025-01-10 07:02:26,365 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:02:26,365 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:26,366 INFO L256 TraceCheckSpWp]: Trace formula consists of 420 conjuncts, 16 conjuncts are in the unsatisfiable core [2025-01-10 07:02:26,368 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:26,449 INFO L134 CoverageAnalysis]: Checked inductivity of 1933 backedges. 1070 proven. 88 refuted. 0 times theorem prover too weak. 775 trivial. 0 not checked. [2025-01-10 07:02:26,449 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:26,709 INFO L134 CoverageAnalysis]: Checked inductivity of 1933 backedges. 86 proven. 251 refuted. 0 times theorem prover too weak. 1596 trivial. 0 not checked. [2025-01-10 07:02:26,709 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1136942068] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:26,710 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:26,710 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 12, 13] total 25 [2025-01-10 07:02:26,710 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1792473454] [2025-01-10 07:02:26,710 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:26,711 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-01-10 07:02:26,711 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:26,712 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2025-01-10 07:02:26,712 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=92, Invalid=508, Unknown=0, NotChecked=0, Total=600 [2025-01-10 07:02:26,712 INFO L87 Difference]: Start difference. First operand 1577 states and 2901 transitions. cyclomatic complexity: 1350 Second operand has 25 states, 19 states have (on average 3.1578947368421053) internal successors, (60), 24 states have internal predecessors, (60), 15 states have call successors, (35), 2 states have call predecessors, (35), 5 states have return successors, (35), 11 states have call predecessors, (35), 15 states have call successors, (35) [2025-01-10 07:02:27,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:27,127 INFO L93 Difference]: Finished difference Result 1680 states and 3060 transitions. [2025-01-10 07:02:27,127 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1680 states and 3060 transitions. [2025-01-10 07:02:27,154 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 363 [2025-01-10 07:02:27,171 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1680 states to 1679 states and 3058 transitions. [2025-01-10 07:02:27,172 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 175 [2025-01-10 07:02:27,172 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 175 [2025-01-10 07:02:27,172 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1679 states and 3058 transitions. [2025-01-10 07:02:27,175 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:27,176 INFO L218 hiAutomatonCegarLoop]: Abstraction has 1679 states and 3058 transitions. [2025-01-10 07:02:27,177 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1679 states and 3058 transitions. [2025-01-10 07:02:27,229 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1679 to 1592. [2025-01-10 07:02:27,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1592 states, 951 states have (on average 1.0862250262881177) internal successors, (1033), 975 states have internal predecessors, (1033), 494 states have call successors, (508), 118 states have call predecessors, (508), 147 states have return successors, (1392), 498 states have call predecessors, (1392), 494 states have call successors, (1392) [2025-01-10 07:02:27,239 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1592 states to 1592 states and 2933 transitions. [2025-01-10 07:02:27,240 INFO L240 hiAutomatonCegarLoop]: Abstraction has 1592 states and 2933 transitions. [2025-01-10 07:02:27,240 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2025-01-10 07:02:27,241 INFO L432 stractBuchiCegarLoop]: Abstraction has 1592 states and 2933 transitions. [2025-01-10 07:02:27,241 INFO L338 stractBuchiCegarLoop]: ======== Iteration 29 ============ [2025-01-10 07:02:27,241 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1592 states and 2933 transitions. [2025-01-10 07:02:27,247 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 332 [2025-01-10 07:02:27,247 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:27,247 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:27,250 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [30, 30, 17, 13, 13, 13, 13, 6, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1] [2025-01-10 07:02:27,250 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [33, 33, 21, 21, 21, 21, 12, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:02:27,251 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" [2025-01-10 07:02:27,251 INFO L754 eck$LassoCheckResult]: Loop: "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" [2025-01-10 07:02:27,252 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:27,252 INFO L85 PathProgramCache]: Analyzing trace with hash 564737915, now seen corresponding path program 10 times [2025-01-10 07:02:27,253 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:27,253 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [666661040] [2025-01-10 07:02:27,253 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:02:27,253 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:27,263 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 197 statements into 2 equivalence classes. [2025-01-10 07:02:27,288 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 197 of 197 statements. [2025-01-10 07:02:27,288 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-01-10 07:02:27,288 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-01-10 07:02:27,289 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [40017221] [2025-01-10 07:02:27,289 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:02:27,289 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:27,290 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:27,298 INFO L229 MonitoredProcess]: Starting monitored process 161 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:27,302 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (161)] Waiting until timeout for monitored process [2025-01-10 07:02:27,406 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 197 statements into 2 equivalence classes. [2025-01-10 07:02:27,475 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 197 of 197 statements. [2025-01-10 07:02:27,475 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-01-10 07:02:27,475 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:27,475 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:27,495 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 197 statements into 1 equivalence classes. [2025-01-10 07:02:27,518 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 197 of 197 statements. [2025-01-10 07:02:27,518 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:27,518 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:27,548 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:27,549 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:27,549 INFO L85 PathProgramCache]: Analyzing trace with hash 585858012, now seen corresponding path program 15 times [2025-01-10 07:02:27,549 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:27,549 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1711220581] [2025-01-10 07:02:27,549 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:02:27,549 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:27,559 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 208 statements into 22 equivalence classes. [2025-01-10 07:02:27,587 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 19 check-sat command(s) and asserted 185 of 208 statements. [2025-01-10 07:02:27,588 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 19 check-sat command(s) [2025-01-10 07:02:27,588 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:27,737 INFO L134 CoverageAnalysis]: Checked inductivity of 2569 backedges. 282 proven. 255 refuted. 0 times theorem prover too weak. 2032 trivial. 0 not checked. [2025-01-10 07:02:27,737 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:27,737 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1711220581] [2025-01-10 07:02:27,737 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1711220581] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:27,737 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1972131153] [2025-01-10 07:02:27,737 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:02:27,737 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:27,738 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:27,746 INFO L229 MonitoredProcess]: Starting monitored process 162 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:27,749 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (162)] Waiting until timeout for monitored process [2025-01-10 07:02:27,842 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 208 statements into 22 equivalence classes. [2025-01-10 07:02:28,365 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 19 check-sat command(s) and asserted 185 of 208 statements. [2025-01-10 07:02:28,365 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 19 check-sat command(s) [2025-01-10 07:02:28,365 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:28,367 INFO L256 TraceCheckSpWp]: Trace formula consists of 424 conjuncts, 24 conjuncts are in the unsatisfiable core [2025-01-10 07:02:28,370 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:28,519 INFO L134 CoverageAnalysis]: Checked inductivity of 2569 backedges. 561 proven. 277 refuted. 0 times theorem prover too weak. 1731 trivial. 0 not checked. [2025-01-10 07:02:28,519 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:29,238 INFO L134 CoverageAnalysis]: Checked inductivity of 2569 backedges. 564 proven. 287 refuted. 0 times theorem prover too weak. 1718 trivial. 0 not checked. [2025-01-10 07:02:29,238 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1972131153] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:29,238 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:29,238 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 15, 20] total 32 [2025-01-10 07:02:29,239 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [632178591] [2025-01-10 07:02:29,239 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:29,239 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-01-10 07:02:29,239 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:29,239 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2025-01-10 07:02:29,240 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=107, Invalid=885, Unknown=0, NotChecked=0, Total=992 [2025-01-10 07:02:29,240 INFO L87 Difference]: Start difference. First operand 1592 states and 2933 transitions. cyclomatic complexity: 1367 Second operand has 32 states, 26 states have (on average 3.3076923076923075) internal successors, (86), 32 states have internal predecessors, (86), 20 states have call successors, (43), 1 states have call predecessors, (43), 8 states have return successors, (46), 19 states have call predecessors, (46), 20 states have call successors, (46) [2025-01-10 07:02:31,201 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:31,202 INFO L93 Difference]: Finished difference Result 2245 states and 3991 transitions. [2025-01-10 07:02:31,202 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2245 states and 3991 transitions. [2025-01-10 07:02:31,243 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 571 [2025-01-10 07:02:31,263 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2245 states to 2178 states and 3894 transitions. [2025-01-10 07:02:31,267 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 247 [2025-01-10 07:02:31,268 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 247 [2025-01-10 07:02:31,268 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2178 states and 3894 transitions. [2025-01-10 07:02:31,268 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:31,268 INFO L218 hiAutomatonCegarLoop]: Abstraction has 2178 states and 3894 transitions. [2025-01-10 07:02:31,269 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2178 states and 3894 transitions. [2025-01-10 07:02:31,305 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2178 to 1501. [2025-01-10 07:02:31,307 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1501 states, 885 states have (on average 1.0824858757062148) internal successors, (958), 920 states have internal predecessors, (958), 469 states have call successors, (483), 121 states have call predecessors, (483), 147 states have return successors, (1201), 459 states have call predecessors, (1201), 469 states have call successors, (1201) [2025-01-10 07:02:31,311 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1501 states to 1501 states and 2642 transitions. [2025-01-10 07:02:31,311 INFO L240 hiAutomatonCegarLoop]: Abstraction has 1501 states and 2642 transitions. [2025-01-10 07:02:31,332 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 61 states. [2025-01-10 07:02:31,333 INFO L432 stractBuchiCegarLoop]: Abstraction has 1501 states and 2642 transitions. [2025-01-10 07:02:31,333 INFO L338 stractBuchiCegarLoop]: ======== Iteration 30 ============ [2025-01-10 07:02:31,333 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1501 states and 2642 transitions. [2025-01-10 07:02:31,341 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 444 [2025-01-10 07:02:31,341 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:31,341 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:31,342 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [30, 30, 17, 13, 13, 13, 13, 6, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1] [2025-01-10 07:02:31,344 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [30, 30, 18, 18, 18, 18, 12, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-10 07:02:31,345 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" [2025-01-10 07:02:31,345 INFO L754 eck$LassoCheckResult]: Loop: "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" [2025-01-10 07:02:31,346 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:31,347 INFO L85 PathProgramCache]: Analyzing trace with hash 564737915, now seen corresponding path program 11 times [2025-01-10 07:02:31,348 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:31,348 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [514816077] [2025-01-10 07:02:31,348 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:02:31,348 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:31,362 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 197 statements into 11 equivalence classes. [2025-01-10 07:02:31,386 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 11 check-sat command(s) and asserted 197 of 197 statements. [2025-01-10 07:02:31,387 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 11 check-sat command(s) [2025-01-10 07:02:31,387 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-01-10 07:02:31,388 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [760473565] [2025-01-10 07:02:31,388 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:02:31,388 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:31,388 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:31,390 INFO L229 MonitoredProcess]: Starting monitored process 163 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:31,397 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (163)] Waiting until timeout for monitored process [2025-01-10 07:02:31,497 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 197 statements into 11 equivalence classes. [2025-01-10 07:02:31,559 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 11 check-sat command(s) and asserted 197 of 197 statements. [2025-01-10 07:02:31,559 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 11 check-sat command(s) [2025-01-10 07:02:31,559 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:31,559 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:31,576 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 197 statements into 1 equivalence classes. [2025-01-10 07:02:31,595 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 197 of 197 statements. [2025-01-10 07:02:31,595 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:31,595 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:31,621 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:31,622 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:31,622 INFO L85 PathProgramCache]: Analyzing trace with hash -1233024320, now seen corresponding path program 16 times [2025-01-10 07:02:31,622 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:31,622 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [684659562] [2025-01-10 07:02:31,622 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:02:31,622 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:31,627 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 190 statements into 2 equivalence classes. [2025-01-10 07:02:31,636 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 190 of 190 statements. [2025-01-10 07:02:31,636 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-01-10 07:02:31,636 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unknown [2025-01-10 07:02:31,636 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1146041918] [2025-01-10 07:02:31,637 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:02:31,637 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:31,637 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:31,641 INFO L229 MonitoredProcess]: Starting monitored process 164 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:31,644 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (164)] Waiting until timeout for monitored process [2025-01-10 07:02:31,748 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 190 statements into 2 equivalence classes. [2025-01-10 07:02:31,855 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) and asserted 190 of 190 statements. [2025-01-10 07:02:31,855 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 2 check-sat command(s) [2025-01-10 07:02:31,856 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:31,856 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-10 07:02:31,872 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 190 statements into 1 equivalence classes. [2025-01-10 07:02:31,973 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 190 of 190 statements. [2025-01-10 07:02:31,973 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:31,973 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-10 07:02:31,999 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-10 07:02:32,000 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:32,000 INFO L85 PathProgramCache]: Analyzing trace with hash -102766406, now seen corresponding path program 12 times [2025-01-10 07:02:32,000 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:32,000 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1963714032] [2025-01-10 07:02:32,000 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-01-10 07:02:32,000 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:32,013 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 387 statements into 23 equivalence classes. [2025-01-10 07:02:32,026 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 9 check-sat command(s) and asserted 156 of 387 statements. [2025-01-10 07:02:32,026 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 9 check-sat command(s) [2025-01-10 07:02:32,026 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:32,119 INFO L134 CoverageAnalysis]: Checked inductivity of 8256 backedges. 140 proven. 37 refuted. 0 times theorem prover too weak. 8079 trivial. 0 not checked. [2025-01-10 07:02:32,119 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:32,119 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1963714032] [2025-01-10 07:02:32,119 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1963714032] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:32,119 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1651780858] [2025-01-10 07:02:32,119 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-01-10 07:02:32,119 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:32,119 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:32,143 INFO L229 MonitoredProcess]: Starting monitored process 165 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:32,146 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (165)] Waiting until timeout for monitored process [2025-01-10 07:02:32,268 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 387 statements into 23 equivalence classes. [2025-01-10 07:02:32,313 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 9 check-sat command(s) and asserted 156 of 387 statements. [2025-01-10 07:02:32,313 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 9 check-sat command(s) [2025-01-10 07:02:32,313 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:32,316 INFO L256 TraceCheckSpWp]: Trace formula consists of 384 conjuncts, 7 conjuncts are in the unsatisfiable core [2025-01-10 07:02:32,319 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:32,410 INFO L134 CoverageAnalysis]: Checked inductivity of 8256 backedges. 1884 proven. 37 refuted. 0 times theorem prover too weak. 6335 trivial. 0 not checked. [2025-01-10 07:02:32,411 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:32,641 INFO L134 CoverageAnalysis]: Checked inductivity of 8256 backedges. 140 proven. 37 refuted. 0 times theorem prover too weak. 8079 trivial. 0 not checked. [2025-01-10 07:02:32,642 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1651780858] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:32,642 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:32,642 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 6 [2025-01-10 07:02:32,642 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [509142360] [2025-01-10 07:02:32,642 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:33,886 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:02:33,886 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:02:33,886 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:02:33,886 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:02:33,886 INFO L128 ssoRankerPreferences]: Use exernal solver: true [2025-01-10 07:02:33,886 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:33,886 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:02:33,886 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:02:33,886 INFO L132 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration30_Loop [2025-01-10 07:02:33,887 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:02:33,887 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:02:33,887 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:33,890 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:33,891 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:33,892 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:33,893 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:33,894 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:33,895 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:33,899 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:33,900 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:33,913 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:33,920 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:33,987 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:02:33,987 INFO L365 LassoAnalysis]: Checking for nontermination... [2025-01-10 07:02:33,988 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:33,988 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:33,992 INFO L229 MonitoredProcess]: Starting monitored process 166 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:33,999 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (166)] Waiting until timeout for monitored process [2025-01-10 07:02:34,000 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:34,000 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:34,031 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:34,031 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_#t~ret2#1=2} Honda state: {ULTIMATE.start_binomialCoefficient_#t~ret2#1=2} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:34,037 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (166)] Ended with exit code 0 [2025-01-10 07:02:34,038 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:34,038 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:34,040 INFO L229 MonitoredProcess]: Starting monitored process 167 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:34,048 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (167)] Waiting until timeout for monitored process [2025-01-10 07:02:34,049 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:34,049 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:34,061 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:34,062 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_#t~ret1#1=6} Honda state: {ULTIMATE.start_binomialCoefficient_#t~ret1#1=6} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:34,068 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (167)] Ended with exit code 0 [2025-01-10 07:02:34,068 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:34,068 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:34,071 INFO L229 MonitoredProcess]: Starting monitored process 168 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:34,072 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (168)] Waiting until timeout for monitored process [2025-01-10 07:02:34,073 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:34,073 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:34,084 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:34,085 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_#in~k#1=0} Honda state: {ULTIMATE.start_binomialCoefficient_#in~k#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:34,090 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (168)] Ended with exit code 0 [2025-01-10 07:02:34,091 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:34,091 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:34,093 INFO L229 MonitoredProcess]: Starting monitored process 169 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:34,094 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (169)] Waiting until timeout for monitored process [2025-01-10 07:02:34,095 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:34,095 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:34,106 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:34,107 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_#t~post10#1=0} Honda state: {ULTIMATE.start_main_#t~post10#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:34,114 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (169)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:34,115 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:34,115 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:34,117 INFO L229 MonitoredProcess]: Starting monitored process 170 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:34,119 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (170)] Waiting until timeout for monitored process [2025-01-10 07:02:34,119 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:34,120 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:34,131 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:34,132 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_#in~n#1=0} Honda state: {ULTIMATE.start_binomialCoefficient_#in~n#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:34,138 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (170)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:34,138 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:34,138 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:34,142 INFO L229 MonitoredProcess]: Starting monitored process 171 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:34,142 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (171)] Waiting until timeout for monitored process [2025-01-10 07:02:34,143 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:34,143 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:34,154 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:34,154 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_#t~ret3#1=0} Honda state: {ULTIMATE.start_binomialCoefficient_#t~ret3#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:34,160 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (171)] Ended with exit code 0 [2025-01-10 07:02:34,160 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:34,161 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:34,163 INFO L229 MonitoredProcess]: Starting monitored process 172 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:34,164 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (172)] Waiting until timeout for monitored process [2025-01-10 07:02:34,165 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:34,165 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:34,176 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:34,177 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_~k#1=2, ULTIMATE.start_binomialCoefficient_~n#1=3} Honda state: {ULTIMATE.start_binomialCoefficient_~k#1=2, ULTIMATE.start_binomialCoefficient_~n#1=3} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:34,183 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (172)] Ended with exit code 0 [2025-01-10 07:02:34,183 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:34,183 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:34,185 INFO L229 MonitoredProcess]: Starting monitored process 173 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:34,186 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (173)] Waiting until timeout for monitored process [2025-01-10 07:02:34,187 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:34,187 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:34,198 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:34,198 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_#t~post9#1=0} Honda state: {ULTIMATE.start_main_#t~post9#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:34,204 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (173)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:34,205 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:34,205 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:34,207 INFO L229 MonitoredProcess]: Starting monitored process 174 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:34,208 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (174)] Waiting until timeout for monitored process [2025-01-10 07:02:34,209 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:34,209 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:34,229 INFO L398 LassoAnalysis]: Proved nontermination for one component. [2025-01-10 07:02:34,229 INFO L401 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_~x~0#1=3, ULTIMATE.start_main_~k~0#1=3} Honda state: {ULTIMATE.start_main_~x~0#1=3, ULTIMATE.start_main_~k~0#1=3} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2025-01-10 07:02:34,235 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (174)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:34,235 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:34,235 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:34,238 INFO L229 MonitoredProcess]: Starting monitored process 175 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:34,239 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (175)] Waiting until timeout for monitored process [2025-01-10 07:02:34,240 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2025-01-10 07:02:34,240 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:34,256 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (175)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:34,257 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:34,257 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:34,259 INFO L229 MonitoredProcess]: Starting monitored process 176 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:34,260 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (176)] Waiting until timeout for monitored process [2025-01-10 07:02:34,260 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2025-01-10 07:02:34,260 INFO L160 nArgumentSynthesizer]: Using integer mode. [2025-01-10 07:02:34,272 INFO L405 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2025-01-10 07:02:34,278 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (176)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:34,278 INFO L204 LassoAnalysis]: Preferences: [2025-01-10 07:02:34,278 INFO L125 ssoRankerPreferences]: Compute integeral hull: false [2025-01-10 07:02:34,278 INFO L126 ssoRankerPreferences]: Enable LassoPartitioneer: true [2025-01-10 07:02:34,278 INFO L127 ssoRankerPreferences]: Term annotations enabled: false [2025-01-10 07:02:34,278 INFO L128 ssoRankerPreferences]: Use exernal solver: false [2025-01-10 07:02:34,279 INFO L129 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:34,279 INFO L130 ssoRankerPreferences]: Dump SMT script to file: false [2025-01-10 07:02:34,279 INFO L131 ssoRankerPreferences]: Path of dumped script: [2025-01-10 07:02:34,279 INFO L132 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration30_Loop [2025-01-10 07:02:34,279 INFO L133 ssoRankerPreferences]: MapElimAlgo: Frank [2025-01-10 07:02:34,279 INFO L241 LassoAnalysis]: Starting lasso preprocessing... [2025-01-10 07:02:34,280 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:34,282 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:34,283 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:34,294 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:34,296 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:34,297 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:34,302 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:34,307 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:34,310 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:34,311 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:34,313 INFO L118 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2025-01-10 07:02:34,362 INFO L259 LassoAnalysis]: Preprocessing complete. [2025-01-10 07:02:34,363 INFO L451 LassoAnalysis]: Using template 'affine'. [2025-01-10 07:02:34,363 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:34,363 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:34,365 INFO L229 MonitoredProcess]: Starting monitored process 177 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:34,366 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (177)] Waiting until timeout for monitored process [2025-01-10 07:02:34,367 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:34,377 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:34,377 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:34,378 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:34,378 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:34,378 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:34,378 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:34,378 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:34,379 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:34,385 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (177)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:34,386 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:34,386 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:34,388 INFO L229 MonitoredProcess]: Starting monitored process 178 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:34,389 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (178)] Waiting until timeout for monitored process [2025-01-10 07:02:34,389 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:34,400 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:34,400 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:34,400 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:34,400 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:34,400 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:34,400 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:34,400 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:34,402 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:34,407 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (178)] Ended with exit code 0 [2025-01-10 07:02:34,408 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:34,408 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:34,410 INFO L229 MonitoredProcess]: Starting monitored process 179 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:34,411 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (179)] Waiting until timeout for monitored process [2025-01-10 07:02:34,412 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:34,421 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:34,422 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:34,422 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:34,422 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:34,422 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:34,422 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:34,422 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:34,423 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:34,429 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (179)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:34,430 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:34,430 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:34,432 INFO L229 MonitoredProcess]: Starting monitored process 180 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:34,436 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (180)] Waiting until timeout for monitored process [2025-01-10 07:02:34,437 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:34,447 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:34,447 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:34,447 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:34,447 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:34,447 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:34,447 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:34,447 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:34,448 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:34,454 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (180)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:34,454 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:34,454 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:34,456 INFO L229 MonitoredProcess]: Starting monitored process 181 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:34,458 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (181)] Waiting until timeout for monitored process [2025-01-10 07:02:34,458 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:34,468 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:34,468 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:34,468 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:34,468 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:34,468 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:34,470 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:34,471 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:34,472 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:34,478 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (181)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:34,478 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:34,478 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:34,481 INFO L229 MonitoredProcess]: Starting monitored process 182 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:34,482 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (182)] Waiting until timeout for monitored process [2025-01-10 07:02:34,483 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:34,492 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:34,492 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:34,492 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:34,492 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:34,492 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:34,493 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:34,493 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:34,495 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:34,500 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (182)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:34,501 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:34,501 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:34,503 INFO L229 MonitoredProcess]: Starting monitored process 183 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:34,505 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (183)] Waiting until timeout for monitored process [2025-01-10 07:02:34,506 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:34,516 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:34,516 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:34,516 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:34,516 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:34,516 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:34,518 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:34,518 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:34,519 INFO L488 LassoAnalysis]: Proving termination failed for this template and these settings. [2025-01-10 07:02:34,525 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (183)] Forceful destruction successful, exit code 0 [2025-01-10 07:02:34,526 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:34,526 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:34,528 INFO L229 MonitoredProcess]: Starting monitored process 184 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:34,529 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (184)] Waiting until timeout for monitored process [2025-01-10 07:02:34,530 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2025-01-10 07:02:34,539 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2025-01-10 07:02:34,539 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2025-01-10 07:02:34,539 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2025-01-10 07:02:34,539 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2025-01-10 07:02:34,539 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2025-01-10 07:02:34,540 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2025-01-10 07:02:34,540 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2025-01-10 07:02:34,541 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2025-01-10 07:02:34,543 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2025-01-10 07:02:34,543 INFO L444 ModelExtractionUtils]: 0 out of 3 variables were initially zero. Simplification set additionally 0 variables to zero. [2025-01-10 07:02:34,543 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-10 07:02:34,543 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:34,547 INFO L229 MonitoredProcess]: Starting monitored process 185 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-10 07:02:34,548 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (185)] Waiting until timeout for monitored process [2025-01-10 07:02:34,548 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2025-01-10 07:02:34,548 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2025-01-10 07:02:34,548 INFO L474 LassoAnalysis]: Proved termination. [2025-01-10 07:02:34,548 INFO L476 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~n~0#1) = -2*ULTIMATE.start_main_~n~0#1 + 3 Supporting invariants [] [2025-01-10 07:02:34,554 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (184)] Ended with exit code 0 [2025-01-10 07:02:34,554 INFO L156 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2025-01-10 07:02:34,563 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:34,598 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 197 statements into 1 equivalence classes. [2025-01-10 07:02:34,705 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 197 of 197 statements. [2025-01-10 07:02:34,705 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:34,705 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:34,717 INFO L256 TraceCheckSpWp]: Trace formula consists of 1307 conjuncts, 62 conjuncts are in the unsatisfiable core [2025-01-10 07:02:34,720 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:35,387 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (185)] Ended with exit code 0 [2025-01-10 07:02:35,540 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 190 statements into 1 equivalence classes. [2025-01-10 07:02:35,640 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 190 of 190 statements. [2025-01-10 07:02:35,640 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:35,640 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:35,648 INFO L256 TraceCheckSpWp]: Trace formula consists of 1272 conjuncts, 72 conjuncts are in the unsatisfiable core [2025-01-10 07:02:35,651 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:35,991 INFO L134 CoverageAnalysis]: Checked inductivity of 2083 backedges. 35 proven. 294 refuted. 0 times theorem prover too weak. 1754 trivial. 0 not checked. [2025-01-10 07:02:35,992 INFO L141 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.2 stem predicates 9 loop predicates [2025-01-10 07:02:35,992 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1501 states and 2642 transitions. cyclomatic complexity: 1163 Second operand has 12 states, 10 states have (on average 4.5) internal successors, (45), 11 states have internal predecessors, (45), 7 states have call successors, (16), 2 states have call predecessors, (16), 5 states have return successors, (18), 8 states have call predecessors, (18), 7 states have call successors, (18) [2025-01-10 07:02:36,310 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1501 states and 2642 transitions. cyclomatic complexity: 1163. Second operand has 12 states, 10 states have (on average 4.5) internal successors, (45), 11 states have internal predecessors, (45), 7 states have call successors, (16), 2 states have call predecessors, (16), 5 states have return successors, (18), 8 states have call predecessors, (18), 7 states have call successors, (18) Result 3118 states and 5437 transitions. Complement of second has 62 states. [2025-01-10 07:02:36,310 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 13 states 2 stem states 10 non-accepting loop states 1 accepting loop states [2025-01-10 07:02:36,311 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 4.5) internal successors, (45), 11 states have internal predecessors, (45), 7 states have call successors, (16), 2 states have call predecessors, (16), 5 states have return successors, (18), 8 states have call predecessors, (18), 7 states have call successors, (18) [2025-01-10 07:02:36,311 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 111 transitions. [2025-01-10 07:02:36,311 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 13 states and 111 transitions. Stem has 197 letters. Loop has 190 letters. [2025-01-10 07:02:36,311 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:36,311 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 13 states and 111 transitions. Stem has 387 letters. Loop has 190 letters. [2025-01-10 07:02:36,312 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:36,312 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 13 states and 111 transitions. Stem has 197 letters. Loop has 380 letters. [2025-01-10 07:02:36,313 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2025-01-10 07:02:36,313 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 3118 states and 5437 transitions. [2025-01-10 07:02:36,328 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 289 [2025-01-10 07:02:36,346 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 3118 states to 2696 states and 4613 transitions. [2025-01-10 07:02:36,346 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 241 [2025-01-10 07:02:36,346 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 241 [2025-01-10 07:02:36,346 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2696 states and 4613 transitions. [2025-01-10 07:02:36,346 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:36,346 INFO L218 hiAutomatonCegarLoop]: Abstraction has 2696 states and 4613 transitions. [2025-01-10 07:02:36,347 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2696 states and 4613 transitions. [2025-01-10 07:02:36,432 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2696 to 2657. [2025-01-10 07:02:36,434 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2657 states, 1571 states have (on average 1.0808402291534054) internal successors, (1698), 1629 states have internal predecessors, (1698), 790 states have call successors, (822), 231 states have call predecessors, (822), 296 states have return successors, (2030), 796 states have call predecessors, (2030), 790 states have call successors, (2030) [2025-01-10 07:02:36,445 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2657 states to 2657 states and 4550 transitions. [2025-01-10 07:02:36,445 INFO L240 hiAutomatonCegarLoop]: Abstraction has 2657 states and 4550 transitions. [2025-01-10 07:02:36,445 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:36,446 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2025-01-10 07:02:36,446 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2025-01-10 07:02:36,446 INFO L87 Difference]: Start difference. First operand 2657 states and 4550 transitions. Second operand has 6 states, 6 states have (on average 7.0) internal successors, (42), 6 states have internal predecessors, (42), 5 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (21), 5 states have call predecessors, (21), 5 states have call successors, (21) [2025-01-10 07:02:36,539 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:36,539 INFO L93 Difference]: Finished difference Result 3000 states and 5207 transitions. [2025-01-10 07:02:36,539 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 3000 states and 5207 transitions. [2025-01-10 07:02:36,561 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 297 [2025-01-10 07:02:36,583 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 3000 states to 2707 states and 4650 transitions. [2025-01-10 07:02:36,583 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 230 [2025-01-10 07:02:36,584 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 230 [2025-01-10 07:02:36,584 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2707 states and 4650 transitions. [2025-01-10 07:02:36,584 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:36,584 INFO L218 hiAutomatonCegarLoop]: Abstraction has 2707 states and 4650 transitions. [2025-01-10 07:02:36,585 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2707 states and 4650 transitions. [2025-01-10 07:02:36,629 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2707 to 2608. [2025-01-10 07:02:36,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2608 states, 1559 states have (on average 1.0686337395766516) internal successors, (1666), 1603 states have internal predecessors, (1666), 754 states have call successors, (786), 225 states have call predecessors, (786), 295 states have return successors, (1959), 779 states have call predecessors, (1959), 754 states have call successors, (1959) [2025-01-10 07:02:36,643 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2608 states to 2608 states and 4411 transitions. [2025-01-10 07:02:36,643 INFO L240 hiAutomatonCegarLoop]: Abstraction has 2608 states and 4411 transitions. [2025-01-10 07:02:36,643 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2025-01-10 07:02:36,643 INFO L432 stractBuchiCegarLoop]: Abstraction has 2608 states and 4411 transitions. [2025-01-10 07:02:36,643 INFO L338 stractBuchiCegarLoop]: ======== Iteration 31 ============ [2025-01-10 07:02:36,643 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 2608 states and 4411 transitions. [2025-01-10 07:02:36,652 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 279 [2025-01-10 07:02:36,652 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:36,652 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:36,655 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [64, 64, 40, 40, 40, 40, 24, 9, 8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1] [2025-01-10 07:02:36,655 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [62, 62, 44, 44, 44, 44, 18, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1] [2025-01-10 07:02:36,655 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" [2025-01-10 07:02:36,655 INFO L754 eck$LassoCheckResult]: Loop: "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" [2025-01-10 07:02:36,655 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:36,655 INFO L85 PathProgramCache]: Analyzing trace with hash 993272062, now seen corresponding path program 13 times [2025-01-10 07:02:36,656 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:36,656 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2075921131] [2025-01-10 07:02:36,656 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-01-10 07:02:36,656 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:36,666 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 409 statements into 1 equivalence classes. [2025-01-10 07:02:36,680 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 409 of 409 statements. [2025-01-10 07:02:36,680 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:36,680 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:36,839 INFO L134 CoverageAnalysis]: Checked inductivity of 9799 backedges. 219 proven. 410 refuted. 0 times theorem prover too weak. 9170 trivial. 0 not checked. [2025-01-10 07:02:36,839 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:36,839 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2075921131] [2025-01-10 07:02:36,839 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2075921131] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:36,839 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [986108338] [2025-01-10 07:02:36,839 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-01-10 07:02:36,839 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:36,840 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:36,842 INFO L229 MonitoredProcess]: Starting monitored process 186 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:36,843 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (186)] Waiting until timeout for monitored process [2025-01-10 07:02:36,967 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 409 statements into 1 equivalence classes. [2025-01-10 07:02:37,033 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 409 of 409 statements. [2025-01-10 07:02:37,033 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:37,033 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:37,036 INFO L256 TraceCheckSpWp]: Trace formula consists of 923 conjuncts, 9 conjuncts are in the unsatisfiable core [2025-01-10 07:02:37,039 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:37,081 INFO L134 CoverageAnalysis]: Checked inductivity of 9799 backedges. 4197 proven. 16 refuted. 0 times theorem prover too weak. 5586 trivial. 0 not checked. [2025-01-10 07:02:37,081 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:37,530 INFO L134 CoverageAnalysis]: Checked inductivity of 9799 backedges. 219 proven. 411 refuted. 0 times theorem prover too weak. 9169 trivial. 0 not checked. [2025-01-10 07:02:37,530 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [986108338] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:37,530 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:37,530 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8, 9] total 10 [2025-01-10 07:02:37,530 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1997726378] [2025-01-10 07:02:37,530 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:37,531 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:02:37,531 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:37,531 INFO L85 PathProgramCache]: Analyzing trace with hash 1774835014, now seen corresponding path program 17 times [2025-01-10 07:02:37,531 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:37,531 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1008148667] [2025-01-10 07:02:37,531 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:02:37,531 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:37,539 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 386 statements into 60 equivalence classes. [2025-01-10 07:02:37,563 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 47 check-sat command(s) and asserted 240 of 386 statements. [2025-01-10 07:02:37,563 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 47 check-sat command(s) [2025-01-10 07:02:37,563 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:37,850 INFO L134 CoverageAnalysis]: Checked inductivity of 9542 backedges. 615 proven. 913 refuted. 0 times theorem prover too weak. 8014 trivial. 0 not checked. [2025-01-10 07:02:37,851 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:37,851 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1008148667] [2025-01-10 07:02:37,851 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1008148667] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:37,851 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [896967237] [2025-01-10 07:02:37,851 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:02:37,851 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:37,851 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:37,854 INFO L229 MonitoredProcess]: Starting monitored process 187 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:37,861 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (187)] Waiting until timeout for monitored process [2025-01-10 07:02:37,989 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 386 statements into 60 equivalence classes. [2025-01-10 07:02:38,230 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 47 check-sat command(s) and asserted 240 of 386 statements. [2025-01-10 07:02:38,231 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 47 check-sat command(s) [2025-01-10 07:02:38,231 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:38,236 INFO L256 TraceCheckSpWp]: Trace formula consists of 520 conjuncts, 23 conjuncts are in the unsatisfiable core [2025-01-10 07:02:38,240 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:38,386 INFO L134 CoverageAnalysis]: Checked inductivity of 9542 backedges. 4819 proven. 409 refuted. 0 times theorem prover too weak. 4314 trivial. 0 not checked. [2025-01-10 07:02:38,387 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:39,013 INFO L134 CoverageAnalysis]: Checked inductivity of 9542 backedges. 616 proven. 922 refuted. 0 times theorem prover too weak. 8004 trivial. 0 not checked. [2025-01-10 07:02:39,014 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [896967237] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:39,014 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:39,014 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16, 20] total 28 [2025-01-10 07:02:39,014 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1783540826] [2025-01-10 07:02:39,014 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:39,015 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-01-10 07:02:39,015 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:39,015 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2025-01-10 07:02:39,015 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=106, Invalid=650, Unknown=0, NotChecked=0, Total=756 [2025-01-10 07:02:39,016 INFO L87 Difference]: Start difference. First operand 2608 states and 4411 transitions. cyclomatic complexity: 1846 Second operand has 28 states, 23 states have (on average 3.3043478260869565) internal successors, (76), 28 states have internal predecessors, (76), 18 states have call successors, (43), 2 states have call predecessors, (43), 8 states have return successors, (45), 13 states have call predecessors, (45), 18 states have call successors, (45) [2025-01-10 07:02:39,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:39,905 INFO L93 Difference]: Finished difference Result 2723 states and 4533 transitions. [2025-01-10 07:02:39,905 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2723 states and 4533 transitions. [2025-01-10 07:02:39,917 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 281 [2025-01-10 07:02:39,931 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2723 states to 2684 states and 4481 transitions. [2025-01-10 07:02:39,931 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 202 [2025-01-10 07:02:39,931 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 202 [2025-01-10 07:02:39,931 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2684 states and 4481 transitions. [2025-01-10 07:02:39,932 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:39,932 INFO L218 hiAutomatonCegarLoop]: Abstraction has 2684 states and 4481 transitions. [2025-01-10 07:02:39,932 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2684 states and 4481 transitions. [2025-01-10 07:02:39,963 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2684 to 2601. [2025-01-10 07:02:39,966 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2601 states, 1556 states have (on average 1.0687660668380463) internal successors, (1663), 1599 states have internal predecessors, (1663), 750 states have call successors, (782), 226 states have call predecessors, (782), 295 states have return successors, (1911), 775 states have call predecessors, (1911), 750 states have call successors, (1911) [2025-01-10 07:02:39,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2601 states to 2601 states and 4356 transitions. [2025-01-10 07:02:39,973 INFO L240 hiAutomatonCegarLoop]: Abstraction has 2601 states and 4356 transitions. [2025-01-10 07:02:39,973 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 46 states. [2025-01-10 07:02:39,974 INFO L432 stractBuchiCegarLoop]: Abstraction has 2601 states and 4356 transitions. [2025-01-10 07:02:39,974 INFO L338 stractBuchiCegarLoop]: ======== Iteration 32 ============ [2025-01-10 07:02:39,974 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 2601 states and 4356 transitions. [2025-01-10 07:02:39,979 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 279 [2025-01-10 07:02:39,979 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:39,979 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:39,980 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [61, 61, 37, 37, 37, 37, 24, 9, 8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1] [2025-01-10 07:02:39,980 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [62, 62, 44, 44, 44, 44, 18, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1] [2025-01-10 07:02:39,981 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" [2025-01-10 07:02:39,981 INFO L754 eck$LassoCheckResult]: Loop: "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" [2025-01-10 07:02:39,981 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:39,981 INFO L85 PathProgramCache]: Analyzing trace with hash 1035253474, now seen corresponding path program 14 times [2025-01-10 07:02:39,981 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:39,981 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1194190105] [2025-01-10 07:02:39,982 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:02:39,982 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:39,990 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 391 statements into 2 equivalence classes. [2025-01-10 07:02:40,036 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 391 of 391 statements. [2025-01-10 07:02:40,036 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:02:40,036 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:40,208 INFO L134 CoverageAnalysis]: Checked inductivity of 8827 backedges. 219 proven. 380 refuted. 0 times theorem prover too weak. 8228 trivial. 0 not checked. [2025-01-10 07:02:40,209 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:40,209 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1194190105] [2025-01-10 07:02:40,209 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1194190105] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:40,209 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1497546177] [2025-01-10 07:02:40,209 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:02:40,209 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:40,209 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:40,216 INFO L229 MonitoredProcess]: Starting monitored process 188 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:40,220 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (188)] Waiting until timeout for monitored process [2025-01-10 07:02:40,358 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 391 statements into 2 equivalence classes. [2025-01-10 07:02:40,431 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 391 of 391 statements. [2025-01-10 07:02:40,432 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:02:40,432 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:40,434 INFO L256 TraceCheckSpWp]: Trace formula consists of 887 conjuncts, 9 conjuncts are in the unsatisfiable core [2025-01-10 07:02:40,438 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:40,483 INFO L134 CoverageAnalysis]: Checked inductivity of 8827 backedges. 3915 proven. 16 refuted. 0 times theorem prover too weak. 4896 trivial. 0 not checked. [2025-01-10 07:02:40,483 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:40,782 INFO L134 CoverageAnalysis]: Checked inductivity of 8827 backedges. 219 proven. 381 refuted. 0 times theorem prover too weak. 8227 trivial. 0 not checked. [2025-01-10 07:02:40,783 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1497546177] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:40,783 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:40,783 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8, 9] total 10 [2025-01-10 07:02:40,783 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [784285302] [2025-01-10 07:02:40,783 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:40,784 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:02:40,784 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:40,784 INFO L85 PathProgramCache]: Analyzing trace with hash -2008500538, now seen corresponding path program 18 times [2025-01-10 07:02:40,784 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:40,784 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1658794709] [2025-01-10 07:02:40,784 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-01-10 07:02:40,784 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:40,792 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 386 statements into 51 equivalence classes. [2025-01-10 07:02:40,809 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 22 check-sat command(s) and asserted 191 of 386 statements. [2025-01-10 07:02:40,809 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 22 check-sat command(s) [2025-01-10 07:02:40,809 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:41,058 INFO L134 CoverageAnalysis]: Checked inductivity of 9542 backedges. 1395 proven. 797 refuted. 0 times theorem prover too weak. 7350 trivial. 0 not checked. [2025-01-10 07:02:41,058 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:41,059 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1658794709] [2025-01-10 07:02:41,059 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1658794709] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:41,059 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [685078560] [2025-01-10 07:02:41,059 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-01-10 07:02:41,059 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:41,059 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:41,064 INFO L229 MonitoredProcess]: Starting monitored process 189 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:41,065 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (189)] Waiting until timeout for monitored process [2025-01-10 07:02:41,189 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 386 statements into 51 equivalence classes. [2025-01-10 07:02:41,576 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 22 check-sat command(s) and asserted 191 of 386 statements. [2025-01-10 07:02:41,576 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 22 check-sat command(s) [2025-01-10 07:02:41,576 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:41,579 INFO L256 TraceCheckSpWp]: Trace formula consists of 425 conjuncts, 24 conjuncts are in the unsatisfiable core [2025-01-10 07:02:41,582 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:41,691 INFO L134 CoverageAnalysis]: Checked inductivity of 9542 backedges. 1959 proven. 723 refuted. 0 times theorem prover too weak. 6860 trivial. 0 not checked. [2025-01-10 07:02:41,692 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:42,864 INFO L134 CoverageAnalysis]: Checked inductivity of 9542 backedges. 1396 proven. 815 refuted. 0 times theorem prover too weak. 7331 trivial. 0 not checked. [2025-01-10 07:02:42,864 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [685078560] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:42,864 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:42,865 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 16, 23] total 32 [2025-01-10 07:02:42,865 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [144875998] [2025-01-10 07:02:42,865 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:42,865 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-01-10 07:02:42,865 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:42,866 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2025-01-10 07:02:42,866 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=147, Invalid=845, Unknown=0, NotChecked=0, Total=992 [2025-01-10 07:02:42,866 INFO L87 Difference]: Start difference. First operand 2601 states and 4356 transitions. cyclomatic complexity: 1798 Second operand has 32 states, 26 states have (on average 3.1538461538461537) internal successors, (82), 31 states have internal predecessors, (82), 21 states have call successors, (33), 2 states have call predecessors, (33), 11 states have return successors, (38), 16 states have call predecessors, (38), 21 states have call successors, (38) [2025-01-10 07:02:43,765 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:43,765 INFO L93 Difference]: Finished difference Result 3075 states and 5083 transitions. [2025-01-10 07:02:43,766 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 3075 states and 5083 transitions. [2025-01-10 07:02:43,781 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 540 [2025-01-10 07:02:43,798 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 3075 states to 3037 states and 5027 transitions. [2025-01-10 07:02:43,799 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 268 [2025-01-10 07:02:43,799 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 277 [2025-01-10 07:02:43,799 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3037 states and 5027 transitions. [2025-01-10 07:02:43,799 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:43,799 INFO L218 hiAutomatonCegarLoop]: Abstraction has 3037 states and 5027 transitions. [2025-01-10 07:02:43,800 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 3037 states and 5027 transitions. [2025-01-10 07:02:43,845 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 3037 to 2857. [2025-01-10 07:02:43,848 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2857 states, 1715 states have (on average 1.0740524781341108) internal successors, (1842), 1762 states have internal predecessors, (1842), 845 states have call successors, (877), 245 states have call predecessors, (877), 297 states have return successors, (1935), 849 states have call predecessors, (1935), 845 states have call successors, (1935) [2025-01-10 07:02:43,858 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2857 states to 2857 states and 4654 transitions. [2025-01-10 07:02:43,858 INFO L240 hiAutomatonCegarLoop]: Abstraction has 2857 states and 4654 transitions. [2025-01-10 07:02:43,859 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 37 states. [2025-01-10 07:02:43,859 INFO L432 stractBuchiCegarLoop]: Abstraction has 2857 states and 4654 transitions. [2025-01-10 07:02:43,859 INFO L338 stractBuchiCegarLoop]: ======== Iteration 33 ============ [2025-01-10 07:02:43,859 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 2857 states and 4654 transitions. [2025-01-10 07:02:43,866 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 483 [2025-01-10 07:02:43,866 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:43,867 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:43,868 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [62, 62, 38, 38, 38, 38, 24, 9, 8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1] [2025-01-10 07:02:43,868 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [61, 61, 43, 43, 43, 43, 18, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1] [2025-01-10 07:02:43,868 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" [2025-01-10 07:02:43,869 INFO L754 eck$LassoCheckResult]: Loop: "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" [2025-01-10 07:02:43,869 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:43,869 INFO L85 PathProgramCache]: Analyzing trace with hash -1505498762, now seen corresponding path program 15 times [2025-01-10 07:02:43,869 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:43,869 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [368247255] [2025-01-10 07:02:43,869 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:02:43,869 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:43,878 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 397 statements into 30 equivalence classes. [2025-01-10 07:02:43,890 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) and asserted 164 of 397 statements. [2025-01-10 07:02:43,891 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) [2025-01-10 07:02:43,891 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:44,034 INFO L134 CoverageAnalysis]: Checked inductivity of 9145 backedges. 213 proven. 583 refuted. 0 times theorem prover too weak. 8349 trivial. 0 not checked. [2025-01-10 07:02:44,034 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:44,035 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [368247255] [2025-01-10 07:02:44,035 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [368247255] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:44,035 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [191287210] [2025-01-10 07:02:44,035 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:02:44,035 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:44,035 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:44,038 INFO L229 MonitoredProcess]: Starting monitored process 190 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:44,039 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (190)] Waiting until timeout for monitored process [2025-01-10 07:02:44,178 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 397 statements into 30 equivalence classes. [2025-01-10 07:02:44,228 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) and asserted 164 of 397 statements. [2025-01-10 07:02:44,228 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) [2025-01-10 07:02:44,228 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:44,230 INFO L256 TraceCheckSpWp]: Trace formula consists of 394 conjuncts, 23 conjuncts are in the unsatisfiable core [2025-01-10 07:02:44,234 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:44,372 INFO L134 CoverageAnalysis]: Checked inductivity of 9145 backedges. 454 proven. 584 refuted. 0 times theorem prover too weak. 8107 trivial. 0 not checked. [2025-01-10 07:02:44,372 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:44,943 INFO L134 CoverageAnalysis]: Checked inductivity of 9145 backedges. 454 proven. 588 refuted. 0 times theorem prover too weak. 8103 trivial. 0 not checked. [2025-01-10 07:02:44,943 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [191287210] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:44,943 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:44,943 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 15, 17] total 23 [2025-01-10 07:02:44,943 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [509963587] [2025-01-10 07:02:44,943 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:44,944 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:02:44,944 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:44,944 INFO L85 PathProgramCache]: Analyzing trace with hash -1922311646, now seen corresponding path program 19 times [2025-01-10 07:02:44,944 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:44,944 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [591653562] [2025-01-10 07:02:44,944 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-01-10 07:02:44,944 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:44,952 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 380 statements into 1 equivalence classes. [2025-01-10 07:02:44,964 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 380 of 380 statements. [2025-01-10 07:02:44,964 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:44,964 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:45,439 INFO L134 CoverageAnalysis]: Checked inductivity of 9212 backedges. 603 proven. 1119 refuted. 0 times theorem prover too weak. 7490 trivial. 0 not checked. [2025-01-10 07:02:45,439 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:45,439 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [591653562] [2025-01-10 07:02:45,439 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [591653562] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:45,439 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [831960501] [2025-01-10 07:02:45,440 INFO L95 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2025-01-10 07:02:45,440 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:45,440 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:45,443 INFO L229 MonitoredProcess]: Starting monitored process 191 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:45,444 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (191)] Waiting until timeout for monitored process [2025-01-10 07:02:45,592 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 380 statements into 1 equivalence classes. [2025-01-10 07:02:45,650 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 380 of 380 statements. [2025-01-10 07:02:45,651 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-10 07:02:45,651 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:45,653 INFO L256 TraceCheckSpWp]: Trace formula consists of 836 conjuncts, 24 conjuncts are in the unsatisfiable core [2025-01-10 07:02:45,657 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:45,778 INFO L134 CoverageAnalysis]: Checked inductivity of 9212 backedges. 5237 proven. 263 refuted. 0 times theorem prover too weak. 3712 trivial. 0 not checked. [2025-01-10 07:02:45,779 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:46,585 INFO L134 CoverageAnalysis]: Checked inductivity of 9212 backedges. 603 proven. 1127 refuted. 0 times theorem prover too weak. 7482 trivial. 0 not checked. [2025-01-10 07:02:46,585 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [831960501] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:46,585 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:46,586 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 16, 21] total 33 [2025-01-10 07:02:46,586 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [945285566] [2025-01-10 07:02:46,586 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:46,586 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-01-10 07:02:46,586 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:46,586 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2025-01-10 07:02:46,587 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=143, Invalid=913, Unknown=0, NotChecked=0, Total=1056 [2025-01-10 07:02:46,587 INFO L87 Difference]: Start difference. First operand 2857 states and 4654 transitions. cyclomatic complexity: 1841 Second operand has 33 states, 27 states have (on average 2.925925925925926) internal successors, (79), 32 states have internal predecessors, (79), 20 states have call successors, (44), 2 states have call predecessors, (44), 9 states have return successors, (47), 15 states have call predecessors, (47), 20 states have call successors, (47) [2025-01-10 07:02:47,329 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:47,329 INFO L93 Difference]: Finished difference Result 3088 states and 4917 transitions. [2025-01-10 07:02:47,329 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 3088 states and 4917 transitions. [2025-01-10 07:02:47,343 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 543 [2025-01-10 07:02:47,360 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 3088 states to 3087 states and 4916 transitions. [2025-01-10 07:02:47,360 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 245 [2025-01-10 07:02:47,362 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 245 [2025-01-10 07:02:47,365 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3087 states and 4916 transitions. [2025-01-10 07:02:47,366 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:47,366 INFO L218 hiAutomatonCegarLoop]: Abstraction has 3087 states and 4916 transitions. [2025-01-10 07:02:47,367 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 3087 states and 4916 transitions. [2025-01-10 07:02:47,477 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 3087 to 2860. [2025-01-10 07:02:47,479 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2860 states, 1717 states have (on average 1.0739662201514268) internal successors, (1844), 1764 states have internal predecessors, (1844), 846 states have call successors, (878), 246 states have call predecessors, (878), 297 states have return successors, (1935), 849 states have call predecessors, (1935), 846 states have call successors, (1935) [2025-01-10 07:02:47,488 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2860 states to 2860 states and 4657 transitions. [2025-01-10 07:02:47,488 INFO L240 hiAutomatonCegarLoop]: Abstraction has 2860 states and 4657 transitions. [2025-01-10 07:02:47,489 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 40 states. [2025-01-10 07:02:47,489 INFO L432 stractBuchiCegarLoop]: Abstraction has 2860 states and 4657 transitions. [2025-01-10 07:02:47,489 INFO L338 stractBuchiCegarLoop]: ======== Iteration 34 ============ [2025-01-10 07:02:47,489 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 2860 states and 4657 transitions. [2025-01-10 07:02:47,495 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 483 [2025-01-10 07:02:47,495 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:47,495 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:47,497 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [62, 62, 38, 38, 38, 38, 24, 9, 8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1] [2025-01-10 07:02:47,497 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [59, 59, 41, 41, 41, 41, 18, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1] [2025-01-10 07:02:47,497 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" [2025-01-10 07:02:47,498 INFO L754 eck$LassoCheckResult]: Loop: "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" [2025-01-10 07:02:47,498 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:47,498 INFO L85 PathProgramCache]: Analyzing trace with hash -1477125698, now seen corresponding path program 16 times [2025-01-10 07:02:47,498 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:47,498 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [412873085] [2025-01-10 07:02:47,499 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:02:47,499 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:47,510 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 397 statements into 2 equivalence classes. [2025-01-10 07:02:47,521 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 397 of 397 statements. [2025-01-10 07:02:47,521 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-01-10 07:02:47,521 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:47,652 INFO L134 CoverageAnalysis]: Checked inductivity of 9145 backedges. 219 proven. 390 refuted. 0 times theorem prover too weak. 8536 trivial. 0 not checked. [2025-01-10 07:02:47,653 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:47,653 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [412873085] [2025-01-10 07:02:47,653 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [412873085] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:47,653 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [737789640] [2025-01-10 07:02:47,653 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:02:47,653 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:47,653 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:47,657 INFO L229 MonitoredProcess]: Starting monitored process 192 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:47,659 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (192)] Waiting until timeout for monitored process [2025-01-10 07:02:47,804 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 397 statements into 2 equivalence classes. [2025-01-10 07:02:47,870 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 397 of 397 statements. [2025-01-10 07:02:47,870 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-01-10 07:02:47,870 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:47,874 INFO L256 TraceCheckSpWp]: Trace formula consists of 899 conjuncts, 9 conjuncts are in the unsatisfiable core [2025-01-10 07:02:47,877 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:47,927 INFO L134 CoverageAnalysis]: Checked inductivity of 9145 backedges. 4009 proven. 16 refuted. 0 times theorem prover too weak. 5120 trivial. 0 not checked. [2025-01-10 07:02:47,927 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:48,247 INFO L134 CoverageAnalysis]: Checked inductivity of 9145 backedges. 219 proven. 391 refuted. 0 times theorem prover too weak. 8535 trivial. 0 not checked. [2025-01-10 07:02:48,247 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [737789640] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:48,247 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:48,247 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8, 9] total 10 [2025-01-10 07:02:48,247 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [650555240] [2025-01-10 07:02:48,247 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:48,248 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:02:48,248 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:48,248 INFO L85 PathProgramCache]: Analyzing trace with hash 962902882, now seen corresponding path program 20 times [2025-01-10 07:02:48,248 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:48,248 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1131209470] [2025-01-10 07:02:48,248 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:02:48,248 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:48,256 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 368 statements into 2 equivalence classes. [2025-01-10 07:02:48,267 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 368 of 368 statements. [2025-01-10 07:02:48,267 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:02:48,267 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:48,410 INFO L134 CoverageAnalysis]: Checked inductivity of 8570 backedges. 180 proven. 60 refuted. 0 times theorem prover too weak. 8330 trivial. 0 not checked. [2025-01-10 07:02:48,411 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:48,411 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1131209470] [2025-01-10 07:02:48,411 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1131209470] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:48,411 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [315275433] [2025-01-10 07:02:48,411 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-01-10 07:02:48,413 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:48,413 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:48,419 INFO L229 MonitoredProcess]: Starting monitored process 193 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:48,420 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (193)] Waiting until timeout for monitored process [2025-01-10 07:02:48,563 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 368 statements into 2 equivalence classes. [2025-01-10 07:02:48,621 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) and asserted 368 of 368 statements. [2025-01-10 07:02:48,621 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2025-01-10 07:02:48,621 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:48,627 INFO L256 TraceCheckSpWp]: Trace formula consists of 812 conjuncts, 19 conjuncts are in the unsatisfiable core [2025-01-10 07:02:48,629 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:48,775 INFO L134 CoverageAnalysis]: Checked inductivity of 8570 backedges. 4230 proven. 305 refuted. 0 times theorem prover too weak. 4035 trivial. 0 not checked. [2025-01-10 07:02:48,776 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:49,307 INFO L134 CoverageAnalysis]: Checked inductivity of 8570 backedges. 354 proven. 633 refuted. 0 times theorem prover too weak. 7583 trivial. 0 not checked. [2025-01-10 07:02:49,307 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [315275433] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:49,307 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:49,307 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 14, 16] total 26 [2025-01-10 07:02:49,308 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1003691194] [2025-01-10 07:02:49,308 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:49,308 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-01-10 07:02:49,308 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:49,308 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2025-01-10 07:02:49,308 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=82, Invalid=568, Unknown=0, NotChecked=0, Total=650 [2025-01-10 07:02:49,309 INFO L87 Difference]: Start difference. First operand 2860 states and 4657 transitions. cyclomatic complexity: 1841 Second operand has 26 states, 21 states have (on average 3.6666666666666665) internal successors, (77), 26 states have internal predecessors, (77), 15 states have call successors, (45), 2 states have call predecessors, (45), 6 states have return successors, (46), 13 states have call predecessors, (46), 15 states have call successors, (46) [2025-01-10 07:02:50,079 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:50,079 INFO L93 Difference]: Finished difference Result 2918 states and 4702 transitions. [2025-01-10 07:02:50,079 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2918 states and 4702 transitions. [2025-01-10 07:02:50,092 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 534 [2025-01-10 07:02:50,107 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2918 states to 2898 states and 4677 transitions. [2025-01-10 07:02:50,107 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 237 [2025-01-10 07:02:50,108 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 237 [2025-01-10 07:02:50,108 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2898 states and 4677 transitions. [2025-01-10 07:02:50,108 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:50,108 INFO L218 hiAutomatonCegarLoop]: Abstraction has 2898 states and 4677 transitions. [2025-01-10 07:02:50,109 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2898 states and 4677 transitions. [2025-01-10 07:02:50,143 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2898 to 2784. [2025-01-10 07:02:50,145 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2784 states, 1679 states have (on average 1.0643240023823703) internal successors, (1787), 1722 states have internal predecessors, (1787), 808 states have call successors, (840), 247 states have call predecessors, (840), 297 states have return successors, (1861), 814 states have call predecessors, (1861), 808 states have call successors, (1861) [2025-01-10 07:02:50,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2784 states to 2784 states and 4488 transitions. [2025-01-10 07:02:50,153 INFO L240 hiAutomatonCegarLoop]: Abstraction has 2784 states and 4488 transitions. [2025-01-10 07:02:50,154 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2025-01-10 07:02:50,155 INFO L432 stractBuchiCegarLoop]: Abstraction has 2784 states and 4488 transitions. [2025-01-10 07:02:50,155 INFO L338 stractBuchiCegarLoop]: ======== Iteration 35 ============ [2025-01-10 07:02:50,155 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 2784 states and 4488 transitions. [2025-01-10 07:02:50,161 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 506 [2025-01-10 07:02:50,161 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:50,161 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:50,163 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [62, 62, 38, 38, 38, 38, 24, 9, 8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1] [2025-01-10 07:02:50,163 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [61, 61, 43, 43, 43, 43, 18, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1] [2025-01-10 07:02:50,163 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" [2025-01-10 07:02:50,164 INFO L754 eck$LassoCheckResult]: Loop: "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" [2025-01-10 07:02:50,164 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:50,164 INFO L85 PathProgramCache]: Analyzing trace with hash -1505498762, now seen corresponding path program 17 times [2025-01-10 07:02:50,164 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:50,164 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1768902704] [2025-01-10 07:02:50,164 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:02:50,164 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:50,177 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 397 statements into 30 equivalence classes. [2025-01-10 07:02:50,214 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 29 check-sat command(s) and asserted 390 of 397 statements. [2025-01-10 07:02:50,214 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 29 check-sat command(s) [2025-01-10 07:02:50,214 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:50,602 INFO L134 CoverageAnalysis]: Checked inductivity of 9145 backedges. 237 proven. 618 refuted. 0 times theorem prover too weak. 8290 trivial. 0 not checked. [2025-01-10 07:02:50,602 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:50,602 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1768902704] [2025-01-10 07:02:50,602 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1768902704] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:50,602 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [581514878] [2025-01-10 07:02:50,603 INFO L95 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2025-01-10 07:02:50,603 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:50,603 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:50,608 INFO L229 MonitoredProcess]: Starting monitored process 194 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:50,616 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (194)] Waiting until timeout for monitored process [2025-01-10 07:02:50,773 INFO L108 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 partitioned 397 statements into 30 equivalence classes. [2025-01-10 07:02:51,432 INFO L111 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 29 check-sat command(s) and asserted 390 of 397 statements. [2025-01-10 07:02:51,432 INFO L114 AnnotateAndAsserter]: Assert order INSIDE_LOOP_FIRST1 issued 29 check-sat command(s) [2025-01-10 07:02:51,432 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:51,436 INFO L256 TraceCheckSpWp]: Trace formula consists of 880 conjuncts, 34 conjuncts are in the unsatisfiable core [2025-01-10 07:02:51,439 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:51,778 INFO L134 CoverageAnalysis]: Checked inductivity of 9145 backedges. 3254 proven. 885 refuted. 0 times theorem prover too weak. 5006 trivial. 0 not checked. [2025-01-10 07:02:51,778 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:52,866 INFO L134 CoverageAnalysis]: Checked inductivity of 9145 backedges. 547 proven. 1192 refuted. 0 times theorem prover too weak. 7406 trivial. 0 not checked. [2025-01-10 07:02:52,866 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [581514878] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:52,866 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:52,866 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 24, 28] total 45 [2025-01-10 07:02:52,866 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [769272844] [2025-01-10 07:02:52,866 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:52,867 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:02:52,867 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:52,867 INFO L85 PathProgramCache]: Analyzing trace with hash 1899763626, now seen corresponding path program 21 times [2025-01-10 07:02:52,867 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:52,868 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1185670415] [2025-01-10 07:02:52,868 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:02:52,868 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:52,881 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 380 statements into 50 equivalence classes. [2025-01-10 07:02:52,893 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 11 check-sat command(s) and asserted 127 of 380 statements. [2025-01-10 07:02:52,893 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 11 check-sat command(s) [2025-01-10 07:02:52,893 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:53,134 INFO L134 CoverageAnalysis]: Checked inductivity of 9212 backedges. 2328 proven. 160 refuted. 0 times theorem prover too weak. 6724 trivial. 0 not checked. [2025-01-10 07:02:53,134 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:53,134 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1185670415] [2025-01-10 07:02:53,134 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1185670415] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:53,134 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1991059516] [2025-01-10 07:02:53,134 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2025-01-10 07:02:53,134 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:53,135 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:53,137 INFO L229 MonitoredProcess]: Starting monitored process 195 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:53,139 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (195)] Waiting until timeout for monitored process [2025-01-10 07:02:53,307 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 partitioned 380 statements into 50 equivalence classes. [2025-01-10 07:02:53,727 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 11 check-sat command(s) and asserted 127 of 380 statements. [2025-01-10 07:02:53,728 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST2 issued 11 check-sat command(s) [2025-01-10 07:02:53,728 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:53,729 INFO L256 TraceCheckSpWp]: Trace formula consists of 285 conjuncts, 25 conjuncts are in the unsatisfiable core [2025-01-10 07:02:53,732 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:53,806 INFO L134 CoverageAnalysis]: Checked inductivity of 9212 backedges. 2319 proven. 158 refuted. 0 times theorem prover too weak. 6735 trivial. 0 not checked. [2025-01-10 07:02:53,807 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:54,970 INFO L134 CoverageAnalysis]: Checked inductivity of 9212 backedges. 2319 proven. 192 refuted. 0 times theorem prover too weak. 6701 trivial. 0 not checked. [2025-01-10 07:02:54,970 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1991059516] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:54,970 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:54,971 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 15, 22] total 27 [2025-01-10 07:02:54,971 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [546976249] [2025-01-10 07:02:54,971 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:54,971 INFO L769 eck$LassoCheckResult]: loop already infeasible [2025-01-10 07:02:54,971 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-10 07:02:54,971 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2025-01-10 07:02:54,971 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=131, Invalid=571, Unknown=0, NotChecked=0, Total=702 [2025-01-10 07:02:54,972 INFO L87 Difference]: Start difference. First operand 2784 states and 4488 transitions. cyclomatic complexity: 1745 Second operand has 27 states, 24 states have (on average 2.7083333333333335) internal successors, (65), 23 states have internal predecessors, (65), 15 states have call successors, (21), 1 states have call predecessors, (21), 10 states have return successors, (28), 14 states have call predecessors, (28), 15 states have call successors, (28) [2025-01-10 07:02:55,683 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2025-01-10 07:02:55,683 INFO L93 Difference]: Finished difference Result 3349 states and 5768 transitions. [2025-01-10 07:02:55,683 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 3349 states and 5768 transitions. [2025-01-10 07:02:55,701 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 731 [2025-01-10 07:02:55,779 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 3349 states to 3342 states and 5754 transitions. [2025-01-10 07:02:55,780 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 299 [2025-01-10 07:02:55,780 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 299 [2025-01-10 07:02:55,780 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3342 states and 5754 transitions. [2025-01-10 07:02:55,780 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2025-01-10 07:02:55,780 INFO L218 hiAutomatonCegarLoop]: Abstraction has 3342 states and 5754 transitions. [2025-01-10 07:02:55,782 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 3342 states and 5754 transitions. [2025-01-10 07:02:55,823 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 3342 to 2855. [2025-01-10 07:02:55,825 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2855 states, 1679 states have (on average 1.0643240023823703) internal successors, (1787), 1722 states have internal predecessors, (1787), 879 states have call successors, (911), 247 states have call predecessors, (911), 297 states have return successors, (2035), 885 states have call predecessors, (2035), 879 states have call successors, (2035) [2025-01-10 07:02:55,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2855 states to 2855 states and 4733 transitions. [2025-01-10 07:02:55,835 INFO L240 hiAutomatonCegarLoop]: Abstraction has 2855 states and 4733 transitions. [2025-01-10 07:02:55,835 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2025-01-10 07:02:55,835 INFO L432 stractBuchiCegarLoop]: Abstraction has 2855 states and 4733 transitions. [2025-01-10 07:02:55,835 INFO L338 stractBuchiCegarLoop]: ======== Iteration 36 ============ [2025-01-10 07:02:55,835 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 2855 states and 4733 transitions. [2025-01-10 07:02:55,841 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 545 [2025-01-10 07:02:55,842 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2025-01-10 07:02:55,842 INFO L119 BuchiIsEmpty]: Starting construction of run [2025-01-10 07:02:55,843 INFO L148 hiAutomatonCegarLoop]: Counterexample stem histogram [62, 62, 38, 38, 38, 38, 24, 9, 8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1] [2025-01-10 07:02:55,843 INFO L149 hiAutomatonCegarLoop]: Counterexample loop histogram [61, 61, 43, 43, 43, 43, 18, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1] [2025-01-10 07:02:55,843 INFO L752 eck$LassoCheckResult]: Stem: "assume { :begin_inline_ULTIMATE.init } true;" "assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~nondet6#1, main_#t~ret7#1, main_#t~ret8#1, main_#t~post9#1, main_~k~0#1, main_#t~post10#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;havoc main_#t~nondet4#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;" "assume !(main_~x~0#1 < 0);havoc main_#t~nondet5#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;" "assume !(main_~y~0#1 < 0);havoc main_#t~nondet6#1;main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" [2025-01-10 07:02:55,844 INFO L754 eck$LassoCheckResult]: Loop: "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume !(main_~k~0#1 <= main_~x~0#1);havoc main_~k~0#1;main_#t~post10#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1;" "assume main_~n~0#1 <= main_~x~0#1;main_~k~0#1 := 0;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume main_~k~0#1 <= main_~n~0#1;assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~n~0#1, main_~k~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#58#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#60#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#62#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret7#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" "call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#64#return;" "call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#66#return;" "call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);"< "~n := #in~n;" "assume !(~n <= 0);" "call #t~ret0 := fact(~n - 1);"< "~n := #in~n;" "assume ~n <= 0;#res := 1;" "assume true;" >"#56#return;" "#res := ~n * #t~ret0;havoc #t~ret0;" "assume true;" >"#68#return;" "binomialCoefficient_#res#1 := (if binomialCoefficient_#t~ret1#1 < 0 && 0 != binomialCoefficient_#t~ret1#1 % (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) then (if binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1 < 0 then binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1) - 1 else 1 + binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1)) else binomialCoefficient_#t~ret1#1 / (binomialCoefficient_#t~ret2#1 * binomialCoefficient_#t~ret3#1));havoc binomialCoefficient_#t~ret1#1;havoc binomialCoefficient_#t~ret2#1;havoc binomialCoefficient_#t~ret3#1;" "main_#t~ret8#1 := binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;havoc binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1;assume { :end_inline_binomialCoefficient } true;" "main_#t~post9#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post9#1;havoc main_#t~post9#1;" "assume main_~k~0#1 <= main_~x~0#1;" "assume !(main_~k~0#1 <= main_~n~0#1);assume { :begin_inline_binomialCoefficient } true;binomialCoefficient_#in~n#1, binomialCoefficient_#in~k#1 := main_~k~0#1, main_~n~0#1;havoc binomialCoefficient_#res#1;havoc binomialCoefficient_#t~ret1#1, binomialCoefficient_#t~ret2#1, binomialCoefficient_#t~ret3#1, binomialCoefficient_~n#1, binomialCoefficient_~k#1;binomialCoefficient_~n#1 := binomialCoefficient_#in~n#1;binomialCoefficient_~k#1 := binomialCoefficient_#in~k#1;" [2025-01-10 07:02:55,844 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:55,845 INFO L85 PathProgramCache]: Analyzing trace with hash -1505498762, now seen corresponding path program 18 times [2025-01-10 07:02:55,845 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:55,845 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1473898582] [2025-01-10 07:02:55,845 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-01-10 07:02:55,845 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:55,854 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 397 statements into 30 equivalence classes. [2025-01-10 07:02:55,857 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) and asserted 56 of 397 statements. [2025-01-10 07:02:55,858 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2025-01-10 07:02:55,858 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:55,917 INFO L134 CoverageAnalysis]: Checked inductivity of 9145 backedges. 265 proven. 350 refuted. 0 times theorem prover too weak. 8530 trivial. 0 not checked. [2025-01-10 07:02:55,918 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:55,918 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1473898582] [2025-01-10 07:02:55,918 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1473898582] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:55,919 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2142655444] [2025-01-10 07:02:55,919 INFO L95 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2025-01-10 07:02:55,919 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:55,919 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:55,921 INFO L229 MonitoredProcess]: Starting monitored process 196 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:55,922 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (196)] Waiting until timeout for monitored process [2025-01-10 07:02:56,084 INFO L108 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE partitioned 397 statements into 30 equivalence classes. [2025-01-10 07:02:56,099 INFO L111 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) and asserted 56 of 397 statements. [2025-01-10 07:02:56,100 INFO L114 AnnotateAndAsserter]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2025-01-10 07:02:56,100 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:56,101 INFO L256 TraceCheckSpWp]: Trace formula consists of 149 conjuncts, 12 conjuncts are in the unsatisfiable core [2025-01-10 07:02:56,103 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:56,172 INFO L134 CoverageAnalysis]: Checked inductivity of 9145 backedges. 4537 proven. 18 refuted. 0 times theorem prover too weak. 4590 trivial. 0 not checked. [2025-01-10 07:02:56,172 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-01-10 07:02:56,510 INFO L134 CoverageAnalysis]: Checked inductivity of 9145 backedges. 265 proven. 351 refuted. 0 times theorem prover too weak. 8529 trivial. 0 not checked. [2025-01-10 07:02:56,510 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2142655444] provided 0 perfect and 2 imperfect interpolant sequences [2025-01-10 07:02:56,510 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-01-10 07:02:56,510 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9, 10] total 14 [2025-01-10 07:02:56,510 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1975142344] [2025-01-10 07:02:56,510 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-01-10 07:02:56,510 INFO L757 eck$LassoCheckResult]: stem already infeasible [2025-01-10 07:02:56,511 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-10 07:02:56,511 INFO L85 PathProgramCache]: Analyzing trace with hash 1871390562, now seen corresponding path program 22 times [2025-01-10 07:02:56,511 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-10 07:02:56,511 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [954171992] [2025-01-10 07:02:56,511 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:02:56,511 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-10 07:02:56,520 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 380 statements into 2 equivalence classes. [2025-01-10 07:02:56,529 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 380 of 380 statements. [2025-01-10 07:02:56,529 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-01-10 07:02:56,529 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:56,965 INFO L134 CoverageAnalysis]: Checked inductivity of 9212 backedges. 60 proven. 2679 refuted. 0 times theorem prover too weak. 6473 trivial. 0 not checked. [2025-01-10 07:02:56,965 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-10 07:02:56,965 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [954171992] [2025-01-10 07:02:56,965 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [954171992] provided 0 perfect and 1 imperfect interpolant sequences [2025-01-10 07:02:56,966 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [676227804] [2025-01-10 07:02:56,966 INFO L95 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2025-01-10 07:02:56,966 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-01-10 07:02:56,966 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-10 07:02:56,968 INFO L229 MonitoredProcess]: Starting monitored process 197 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-01-10 07:02:56,970 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (197)] Waiting until timeout for monitored process [2025-01-10 07:02:57,130 INFO L108 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST partitioned 380 statements into 2 equivalence classes. [2025-01-10 07:02:57,193 INFO L111 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) and asserted 380 of 380 statements. [2025-01-10 07:02:57,193 INFO L114 AnnotateAndAsserter]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 1 check-sat command(s) [2025-01-10 07:02:57,193 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-10 07:02:57,196 INFO L256 TraceCheckSpWp]: Trace formula consists of 836 conjuncts, 27 conjuncts are in the unsatisfiable core [2025-01-10 07:02:57,199 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-01-10 07:02:57,275 INFO L134 CoverageAnalysis]: Checked inductivity of 9212 backedges. 3387 proven. 276 refuted. 0 times theorem prover too weak. 5549 trivial. 0 not checked. [2025-01-10 07:02:57,275 INFO L312 TraceCheckSpWp]: Computing backward predicates...