./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 f4b24e32 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerTermination.xml -i ../sv-benchmarks/c/termination-numeric/Binomial.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-64bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --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.2.2-?-f4b24e3 [2022-07-14 14:49:33,505 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-07-14 14:49:33,506 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-07-14 14:49:33,530 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-07-14 14:49:33,531 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-07-14 14:49:33,532 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-07-14 14:49:33,533 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-07-14 14:49:33,534 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-07-14 14:49:33,536 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-07-14 14:49:33,537 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-07-14 14:49:33,537 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-07-14 14:49:33,538 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-07-14 14:49:33,539 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-07-14 14:49:33,540 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-07-14 14:49:33,541 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-07-14 14:49:33,542 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-07-14 14:49:33,542 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-07-14 14:49:33,543 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-07-14 14:49:33,545 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-07-14 14:49:33,546 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-07-14 14:49:33,547 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-07-14 14:49:33,548 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-07-14 14:49:33,549 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-07-14 14:49:33,550 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-07-14 14:49:33,551 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-07-14 14:49:33,554 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-07-14 14:49:33,554 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-07-14 14:49:33,554 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-07-14 14:49:33,555 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-07-14 14:49:33,556 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-07-14 14:49:33,556 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-07-14 14:49:33,557 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-07-14 14:49:33,558 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-07-14 14:49:33,558 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-07-14 14:49:33,559 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-07-14 14:49:33,560 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-07-14 14:49:33,560 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-07-14 14:49:33,561 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-07-14 14:49:33,561 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-07-14 14:49:33,561 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-07-14 14:49:33,562 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-07-14 14:49:33,563 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-07-14 14:49:33,564 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-64bit-Automizer_Default.epf [2022-07-14 14:49:33,583 INFO L113 SettingsManager]: Loading preferences was successful [2022-07-14 14:49:33,583 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-07-14 14:49:33,584 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-07-14 14:49:33,584 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-07-14 14:49:33,585 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-07-14 14:49:33,585 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-07-14 14:49:33,585 INFO L138 SettingsManager]: * Use SBE=true [2022-07-14 14:49:33,586 INFO L136 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2022-07-14 14:49:33,586 INFO L138 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2022-07-14 14:49:33,586 INFO L138 SettingsManager]: * Use old map elimination=false [2022-07-14 14:49:33,586 INFO L138 SettingsManager]: * Use external solver (rank synthesis)=false [2022-07-14 14:49:33,586 INFO L138 SettingsManager]: * Use only trivial implications for array writes=true [2022-07-14 14:49:33,587 INFO L138 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2022-07-14 14:49:33,587 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-07-14 14:49:33,587 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-07-14 14:49:33,587 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-07-14 14:49:33,588 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-07-14 14:49:33,588 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2022-07-14 14:49:33,588 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2022-07-14 14:49:33,588 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2022-07-14 14:49:33,588 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-07-14 14:49:33,589 INFO L138 SettingsManager]: * Assume nondeterminstic values are in range=false [2022-07-14 14:49:33,589 INFO L138 SettingsManager]: * Use constant arrays=true [2022-07-14 14:49:33,589 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2022-07-14 14:49:33,589 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-07-14 14:49:33,589 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-07-14 14:49:33,590 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-07-14 14:49:33,590 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-07-14 14:49:33,591 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2022-07-14 14:49:33,591 INFO L138 SettingsManager]: * TransformationType=MODULO_NEIGHBOR WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml 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 [2022-07-14 14:49:33,775 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-07-14 14:49:33,797 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-07-14 14:49:33,800 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-07-14 14:49:33,802 INFO L271 PluginConnector]: Initializing CDTParser... [2022-07-14 14:49:33,803 INFO L275 PluginConnector]: CDTParser initialized [2022-07-14 14:49:33,804 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/termination-numeric/Binomial.c [2022-07-14 14:49:33,863 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/425541888/0a111b805e1b4b70a31147b24df4d68e/FLAG8e05493a4 [2022-07-14 14:49:34,216 INFO L306 CDTParser]: Found 1 translation units. [2022-07-14 14:49:34,217 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/termination-numeric/Binomial.c [2022-07-14 14:49:34,221 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/425541888/0a111b805e1b4b70a31147b24df4d68e/FLAG8e05493a4 [2022-07-14 14:49:34,638 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/425541888/0a111b805e1b4b70a31147b24df4d68e [2022-07-14 14:49:34,641 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-07-14 14:49:34,642 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-07-14 14:49:34,647 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-07-14 14:49:34,647 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-07-14 14:49:34,650 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-07-14 14:49:34,651 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.07 02:49:34" (1/1) ... [2022-07-14 14:49:34,652 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@70f3c033 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.07 02:49:34, skipping insertion in model container [2022-07-14 14:49:34,652 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.07 02:49:34" (1/1) ... [2022-07-14 14:49:34,660 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-07-14 14:49:34,673 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-07-14 14:49:34,807 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-07-14 14:49:34,810 INFO L203 MainTranslator]: Completed pre-run [2022-07-14 14:49:34,822 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-07-14 14:49:34,832 INFO L208 MainTranslator]: Completed translation [2022-07-14 14:49:34,833 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.07 02:49:34 WrapperNode [2022-07-14 14:49:34,833 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-07-14 14:49:34,834 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-07-14 14:49:34,834 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-07-14 14:49:34,834 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-07-14 14:49:34,840 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.07 02:49:34" (1/1) ... [2022-07-14 14:49:34,844 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.07 02:49:34" (1/1) ... [2022-07-14 14:49:34,858 INFO L137 Inliner]: procedures = 6, calls = 8, calls flagged for inlining = 4, calls inlined = 4, statements flattened = 55 [2022-07-14 14:49:34,858 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-07-14 14:49:34,859 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-07-14 14:49:34,859 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-07-14 14:49:34,859 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-07-14 14:49:34,867 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.07 02:49:34" (1/1) ... [2022-07-14 14:49:34,867 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.07 02:49:34" (1/1) ... [2022-07-14 14:49:34,868 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.07 02:49:34" (1/1) ... [2022-07-14 14:49:34,869 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.07 02:49:34" (1/1) ... [2022-07-14 14:49:34,871 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.07 02:49:34" (1/1) ... [2022-07-14 14:49:34,874 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.07 02:49:34" (1/1) ... [2022-07-14 14:49:34,875 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.07 02:49:34" (1/1) ... [2022-07-14 14:49:34,876 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-07-14 14:49:34,877 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-07-14 14:49:34,877 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-07-14 14:49:34,877 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-07-14 14:49:34,878 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.07 02:49:34" (1/1) ... [2022-07-14 14:49:34,890 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:34,900 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:34,910 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:34,920 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2022-07-14 14:49:34,960 INFO L130 BoogieDeclarations]: Found specification of procedure fact [2022-07-14 14:49:34,960 INFO L138 BoogieDeclarations]: Found implementation of procedure fact [2022-07-14 14:49:34,960 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-07-14 14:49:34,960 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-07-14 14:49:35,005 INFO L234 CfgBuilder]: Building ICFG [2022-07-14 14:49:35,006 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-07-14 14:49:35,126 INFO L275 CfgBuilder]: Performing block encoding [2022-07-14 14:49:35,135 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-07-14 14:49:35,136 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-07-14 14:49:35,137 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.07 02:49:35 BoogieIcfgContainer [2022-07-14 14:49:35,138 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-07-14 14:49:35,150 INFO L113 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2022-07-14 14:49:35,150 INFO L271 PluginConnector]: Initializing BuchiAutomizer... [2022-07-14 14:49:35,153 INFO L275 PluginConnector]: BuchiAutomizer initialized [2022-07-14 14:49:35,154 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-14 14:49:35,154 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 14.07 02:49:34" (1/3) ... [2022-07-14 14:49:35,155 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@e14dd5d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 14.07 02:49:35, skipping insertion in model container [2022-07-14 14:49:35,155 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-14 14:49:35,155 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.07 02:49:34" (2/3) ... [2022-07-14 14:49:35,155 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@e14dd5d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 14.07 02:49:35, skipping insertion in model container [2022-07-14 14:49:35,164 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-14 14:49:35,164 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.07 02:49:35" (3/3) ... [2022-07-14 14:49:35,165 INFO L354 chiAutomizerObserver]: Analyzing ICFG Binomial.c [2022-07-14 14:49:35,242 INFO L255 stractBuchiCegarLoop]: Interprodecural is true [2022-07-14 14:49:35,242 INFO L256 stractBuchiCegarLoop]: Hoare is false [2022-07-14 14:49:35,242 INFO L257 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-14 14:49:35,242 INFO L258 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-14 14:49:35,243 INFO L259 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-14 14:49:35,243 INFO L260 stractBuchiCegarLoop]: Difference is false [2022-07-14 14:49:35,243 INFO L261 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-14 14:49:35,243 INFO L265 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-14 14:49:35,255 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 28 states, 19 states have (on average 1.4210526315789473) internal successors, (27), 19 states have internal predecessors, (27), 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) [2022-07-14 14:49:35,287 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 18 [2022-07-14 14:49:35,291 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:49:35,291 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:49:35,296 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2022-07-14 14:49:35,296 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-14 14:49:35,296 INFO L287 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-14 14:49:35,297 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand has 28 states, 19 states have (on average 1.4210526315789473) internal successors, (27), 19 states have internal predecessors, (27), 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) [2022-07-14 14:49:35,304 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 18 [2022-07-14 14:49:35,305 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:49:35,305 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:49:35,306 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2022-07-14 14:49:35,306 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-14 14:49:35,312 INFO L752 eck$LassoCheckResult]: Stem: 18#ULTIMATE.startENTRYtrue assume { :begin_inline_ULTIMATE.init } true; 9#L-1true 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 17#L35true assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 27#L38true assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 13#L41-3true [2022-07-14 14:49:35,312 INFO L754 eck$LassoCheckResult]: Loop: 13#L41-3true assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 22#L42-3true assume !(main_~k~0#1 <= main_~x~0#1); 14#L41-2true main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 13#L41-3true [2022-07-14 14:49:35,322 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:35,322 INFO L85 PathProgramCache]: Analyzing trace with hash 1171944, now seen corresponding path program 1 times [2022-07-14 14:49:35,330 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:35,331 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [672161710] [2022-07-14 14:49:35,332 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:35,333 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:35,410 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:35,411 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:49:35,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:35,446 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:49:35,449 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:35,449 INFO L85 PathProgramCache]: Analyzing trace with hash 57812, now seen corresponding path program 1 times [2022-07-14 14:49:35,449 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:35,450 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1019104493] [2022-07-14 14:49:35,451 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:35,451 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:35,469 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:35,470 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:49:35,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:35,482 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:49:35,483 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:35,483 INFO L85 PathProgramCache]: Analyzing trace with hash 553673357, now seen corresponding path program 1 times [2022-07-14 14:49:35,484 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:35,484 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1310750606] [2022-07-14 14:49:35,484 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:35,484 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:35,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:49:35,561 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-14 14:49:35,562 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:49:35,562 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1310750606] [2022-07-14 14:49:35,563 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1310750606] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-14 14:49:35,563 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-14 14:49:35,563 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-07-14 14:49:35,563 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1249364647] [2022-07-14 14:49:35,564 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-14 14:49:35,639 INFO L210 LassoAnalysis]: Preferences: [2022-07-14 14:49:35,640 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-14 14:49:35,640 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-14 14:49:35,640 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-14 14:49:35,640 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-14 14:49:35,640 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:35,640 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-14 14:49:35,641 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-14 14:49:35,641 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration1_Loop [2022-07-14 14:49:35,641 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-14 14:49:35,641 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-14 14:49:35,657 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:35,662 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:35,708 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-14 14:49:35,709 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-14 14:49:35,711 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:35,711 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:35,716 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:35,717 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Waiting until timeout for monitored process [2022-07-14 14:49:35,724 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:49:35,724 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:35,749 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-14 14:49:35,749 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_#t~post7#1=0} Honda state: {ULTIMATE.start_main_#t~post7#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2022-07-14 14:49:35,765 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (2)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:35,766 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:35,766 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:35,767 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:35,768 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Waiting until timeout for monitored process [2022-07-14 14:49:35,771 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:49:35,771 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:35,814 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (3)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:35,815 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:35,815 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:35,816 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:35,823 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Waiting until timeout for monitored process [2022-07-14 14:49:35,825 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-14 14:49:35,825 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:35,986 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-14 14:49:35,989 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:35,990 INFO L210 LassoAnalysis]: Preferences: [2022-07-14 14:49:35,990 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-14 14:49:35,990 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-14 14:49:35,990 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-14 14:49:35,990 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-14 14:49:35,990 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:35,990 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-14 14:49:35,990 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-14 14:49:35,990 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration1_Loop [2022-07-14 14:49:35,991 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-14 14:49:35,991 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-14 14:49:35,992 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:36,001 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:36,057 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-14 14:49:36,061 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-14 14:49:36,063 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:36,063 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:36,069 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:36,070 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Waiting until timeout for monitored process [2022-07-14 14:49:36,071 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 [2022-07-14 14:49:36,077 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:49:36,077 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:49:36,078 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:49:36,078 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:49:36,078 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:49:36,079 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:49:36,079 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:49:36,095 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-14 14:49:36,125 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (5)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:36,126 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:36,126 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:36,132 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:36,134 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Waiting until timeout for monitored process [2022-07-14 14:49:36,135 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 [2022-07-14 14:49:36,142 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:49:36,142 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:49:36,143 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:49:36,143 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:49:36,143 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:49:36,147 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:49:36,147 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:49:36,159 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-14 14:49:36,164 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2022-07-14 14:49:36,164 INFO L444 ModelExtractionUtils]: 1 out of 5 variables were initially zero. Simplification set additionally 2 variables to zero. [2022-07-14 14:49:36,165 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:36,165 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:36,169 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:36,170 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Waiting until timeout for monitored process [2022-07-14 14:49:36,171 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-14 14:49:36,171 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-14 14:49:36,171 INFO L513 LassoAnalysis]: Proved termination. [2022-07-14 14:49:36,172 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~n~0#1) = -1*ULTIMATE.start_main_~n~0#1 Supporting invariants [] [2022-07-14 14:49:36,187 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Ended with exit code 0 [2022-07-14 14:49:36,190 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-14 14:49:36,218 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:36,228 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:49:36,229 INFO L263 TraceCheckSpWp]: Trace formula consists of 12 conjuncts, 2 conjunts are in the unsatisfiable core [2022-07-14 14:49:36,230 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:49:36,240 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:49:36,240 WARN L261 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 6 conjunts are in the unsatisfiable core [2022-07-14 14:49:36,241 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:49:36,288 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-14 14:49:36,316 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 3 loop predicates [2022-07-14 14:49:36,317 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand has 28 states, 19 states have (on average 1.4210526315789473) internal successors, (27), 19 states have internal predecessors, (27), 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 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 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) [2022-07-14 14:49:36,386 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand has 28 states, 19 states have (on average 1.4210526315789473) internal successors, (27), 19 states have internal predecessors, (27), 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 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 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 73 states and 106 transitions. Complement of second has 11 states. [2022-07-14 14:49:36,387 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 6 states 1 stem states 3 non-accepting loop states 1 accepting loop states [2022-07-14 14:49:36,392 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 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) [2022-07-14 14:49:36,393 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2022-07-14 14:49:36,395 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 54 transitions. Stem has 4 letters. Loop has 3 letters. [2022-07-14 14:49:36,395 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:49:36,396 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 54 transitions. Stem has 7 letters. Loop has 3 letters. [2022-07-14 14:49:36,396 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:49:36,396 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 54 transitions. Stem has 4 letters. Loop has 6 letters. [2022-07-14 14:49:36,396 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:49:36,397 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 73 states and 106 transitions. [2022-07-14 14:49:36,401 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 18 [2022-07-14 14:49:36,407 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 73 states to 33 states and 48 transitions. [2022-07-14 14:49:36,408 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 29 [2022-07-14 14:49:36,408 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 30 [2022-07-14 14:49:36,408 INFO L73 IsDeterministic]: Start isDeterministic. Operand 33 states and 48 transitions. [2022-07-14 14:49:36,409 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:49:36,409 INFO L369 hiAutomatonCegarLoop]: Abstraction has 33 states and 48 transitions. [2022-07-14 14:49:36,421 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states and 48 transitions. [2022-07-14 14:49:36,431 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 30. [2022-07-14 14:49:36,432 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 21 states have internal predecessors, (28), 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) [2022-07-14 14:49:36,433 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 42 transitions. [2022-07-14 14:49:36,434 INFO L392 hiAutomatonCegarLoop]: Abstraction has 30 states and 42 transitions. [2022-07-14 14:49:36,434 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:49:36,436 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-07-14 14:49:36,437 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-07-14 14:49:36,438 INFO L87 Difference]: Start difference. First operand 30 states and 42 transitions. Second operand has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 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) [2022-07-14 14:49:36,495 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:49:36,496 INFO L93 Difference]: Finished difference Result 29 states and 38 transitions. [2022-07-14 14:49:36,496 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-07-14 14:49:36,497 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 29 states and 38 transitions. [2022-07-14 14:49:36,502 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 19 [2022-07-14 14:49:36,505 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 29 states to 28 states and 37 transitions. [2022-07-14 14:49:36,506 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 28 [2022-07-14 14:49:36,506 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 28 [2022-07-14 14:49:36,506 INFO L73 IsDeterministic]: Start isDeterministic. Operand 28 states and 37 transitions. [2022-07-14 14:49:36,507 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-07-14 14:49:36,507 INFO L369 hiAutomatonCegarLoop]: Abstraction has 28 states and 37 transitions. [2022-07-14 14:49:36,507 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states and 37 transitions. [2022-07-14 14:49:36,512 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 26. [2022-07-14 14:49:36,513 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 17 states have internal predecessors, (21), 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) [2022-07-14 14:49:36,516 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 35 transitions. [2022-07-14 14:49:36,516 INFO L392 hiAutomatonCegarLoop]: Abstraction has 26 states and 35 transitions. [2022-07-14 14:49:36,516 INFO L374 stractBuchiCegarLoop]: Abstraction has 26 states and 35 transitions. [2022-07-14 14:49:36,516 INFO L287 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2022-07-14 14:49:36,517 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 26 states and 35 transitions. [2022-07-14 14:49:36,519 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 19 [2022-07-14 14:49:36,519 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:49:36,519 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:49:36,521 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2022-07-14 14:49:36,521 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:49:36,521 INFO L752 eck$LassoCheckResult]: Stem: 242#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 233#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 234#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 241#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 237#L41-3 [2022-07-14 14:49:36,521 INFO L754 eck$LassoCheckResult]: Loop: 237#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 238#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 243#L43 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; 224#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 220#factENTRY ~n := #in~n; 232#L25 assume ~n <= 0;#res := 1; 231#factFINAL assume true; 221#factEXIT >#68#return; 226#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 220#factENTRY ~n := #in~n; 232#L25 assume ~n <= 0;#res := 1; 231#factFINAL assume true; 221#factEXIT >#70#return; 222#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 220#factENTRY ~n := #in~n; 232#L25 assume ~n <= 0;#res := 1; 231#factFINAL assume true; 221#factEXIT >#72#return; 228#L30-3 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; 239#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 236#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 244#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 240#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 237#L41-3 [2022-07-14 14:49:36,523 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:36,523 INFO L85 PathProgramCache]: Analyzing trace with hash 1171944, now seen corresponding path program 2 times [2022-07-14 14:49:36,523 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:36,523 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [696031970] [2022-07-14 14:49:36,523 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:36,524 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:36,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:36,536 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:49:36,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:36,545 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:49:36,547 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:36,547 INFO L85 PathProgramCache]: Analyzing trace with hash -743603515, now seen corresponding path program 1 times [2022-07-14 14:49:36,548 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:36,551 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [188383063] [2022-07-14 14:49:36,551 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:36,552 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:36,567 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:49:36,568 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [983119361] [2022-07-14 14:49:36,568 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:36,568 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:49:36,568 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:36,569 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:49:36,570 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-07-14 14:49:36,637 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:36,637 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:49:36,647 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:36,655 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:49:36,656 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:36,656 INFO L85 PathProgramCache]: Analyzing trace with hash 343305470, now seen corresponding path program 1 times [2022-07-14 14:49:36,656 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:36,656 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2054049856] [2022-07-14 14:49:36,656 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:36,656 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:36,667 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:49:36,667 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1439601963] [2022-07-14 14:49:36,683 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:36,683 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:49:36,684 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:36,686 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:49:36,687 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-07-14 14:49:36,711 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (7)] Ended with exit code 0 [2022-07-14 14:49:36,737 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:36,737 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:49:36,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:36,769 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:49:37,053 INFO L210 LassoAnalysis]: Preferences: [2022-07-14 14:49:37,053 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-14 14:49:37,053 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-14 14:49:37,053 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-14 14:49:37,053 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-14 14:49:37,054 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:37,054 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-14 14:49:37,054 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-14 14:49:37,054 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration2_Loop [2022-07-14 14:49:37,054 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-14 14:49:37,054 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-14 14:49:37,057 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:37,059 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:37,061 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:37,064 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:37,066 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:37,068 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:37,070 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:37,076 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:37,176 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-14 14:49:37,177 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-14 14:49:37,177 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:37,177 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:37,180 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:37,188 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:49:37,189 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:37,197 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Waiting until timeout for monitored process [2022-07-14 14:49:37,199 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-14 14:49:37,199 INFO L440 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: [] [2022-07-14 14:49:37,222 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (10)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:37,223 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:37,223 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:37,225 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:37,226 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Waiting until timeout for monitored process [2022-07-14 14:49:37,227 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:49:37,227 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:37,235 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-14 14:49:37,235 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_#t~ret9#1=0} Honda state: {ULTIMATE.start_main_#t~ret9#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2022-07-14 14:49:37,254 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (11)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:37,254 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:37,254 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:37,256 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:37,264 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Waiting until timeout for monitored process [2022-07-14 14:49:37,264 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:49:37,265 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:37,271 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-14 14:49:37,271 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_#t~post8#1=0} Honda state: {ULTIMATE.start_main_#t~post8#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2022-07-14 14:49:37,287 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (12)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:37,287 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:37,287 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:37,288 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:37,289 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Waiting until timeout for monitored process [2022-07-14 14:49:37,291 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:49:37,291 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:37,297 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-14 14:49:37,297 INFO L440 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: [] [2022-07-14 14:49:37,313 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (13)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:37,313 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:37,313 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:37,314 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:37,315 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Waiting until timeout for monitored process [2022-07-14 14:49:37,316 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:49:37,317 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:37,323 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-14 14:49:37,323 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_#t~post7#1=0} Honda state: {ULTIMATE.start_main_#t~post7#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2022-07-14 14:49:37,339 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (14)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:37,339 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:37,340 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:37,341 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:37,342 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Waiting until timeout for monitored process [2022-07-14 14:49:37,344 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:49:37,344 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:37,350 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-14 14:49:37,350 INFO L440 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: [] [2022-07-14 14:49:37,365 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (15)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:37,366 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:37,366 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:37,367 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:37,368 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Waiting until timeout for monitored process [2022-07-14 14:49:37,369 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:49:37,369 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:37,375 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-14 14:49:37,375 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_#res#1=1} Honda state: {ULTIMATE.start_binomialCoefficient_#res#1=1} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2022-07-14 14:49:37,393 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (16)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:37,393 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:37,393 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:37,394 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:37,396 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Waiting until timeout for monitored process [2022-07-14 14:49:37,401 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:49:37,401 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:37,455 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (17)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:37,456 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:37,456 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:37,457 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:37,462 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-14 14:49:37,462 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:37,467 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Waiting until timeout for monitored process [2022-07-14 14:49:37,941 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-14 14:49:37,946 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (18)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:37,946 INFO L210 LassoAnalysis]: Preferences: [2022-07-14 14:49:37,946 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-14 14:49:37,947 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-14 14:49:37,947 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-14 14:49:37,947 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-14 14:49:37,947 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:37,947 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-14 14:49:37,947 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-14 14:49:37,947 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration2_Loop [2022-07-14 14:49:37,947 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-14 14:49:37,947 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-14 14:49:37,948 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:37,953 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:37,955 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:37,957 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:37,959 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:37,961 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:37,963 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:37,965 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:38,079 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-14 14:49:38,080 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-14 14:49:38,080 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:38,080 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:38,084 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:38,085 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (19)] Waiting until timeout for monitored process [2022-07-14 14:49:38,087 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 [2022-07-14 14:49:38,092 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:49:38,092 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:49:38,092 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:49:38,092 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:49:38,092 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:49:38,093 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:49:38,093 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:49:38,095 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-14 14:49:38,110 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (19)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:38,110 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:38,110 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:38,111 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:38,114 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (20)] Waiting until timeout for monitored process [2022-07-14 14:49:38,115 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 [2022-07-14 14:49:38,120 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:49:38,120 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:49:38,121 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:49:38,121 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:49:38,121 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:49:38,121 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:49:38,121 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:49:38,123 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-14 14:49:38,138 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (20)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:38,138 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:38,138 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:38,139 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:38,140 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (21)] Waiting until timeout for monitored process [2022-07-14 14:49:38,140 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 [2022-07-14 14:49:38,145 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:49:38,146 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:49:38,146 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:49:38,146 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:49:38,146 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:49:38,146 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:49:38,146 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:49:38,148 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-14 14:49:38,164 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (21)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:38,167 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:38,167 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:38,168 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:38,169 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (22)] Waiting until timeout for monitored process [2022-07-14 14:49:38,170 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 [2022-07-14 14:49:38,175 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:49:38,175 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:49:38,176 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:49:38,176 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:49:38,176 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:49:38,176 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:49:38,176 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:49:38,183 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-14 14:49:38,198 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (22)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:38,198 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:38,199 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:38,200 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:38,201 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (23)] Waiting until timeout for monitored process [2022-07-14 14:49:38,201 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 [2022-07-14 14:49:38,207 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:49:38,207 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:49:38,207 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:49:38,207 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:49:38,207 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:49:38,207 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:49:38,208 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:49:38,218 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-14 14:49:38,233 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (23)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:38,234 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:38,234 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:38,240 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:38,241 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Waiting until timeout for monitored process [2022-07-14 14:49:38,241 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 [2022-07-14 14:49:38,247 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:49:38,247 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:49:38,247 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:49:38,247 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:49:38,247 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:49:38,248 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:49:38,248 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:49:38,249 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-14 14:49:38,265 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (24)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:38,266 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:38,266 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:38,267 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:38,267 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (25)] Waiting until timeout for monitored process [2022-07-14 14:49:38,268 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 [2022-07-14 14:49:38,274 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:49:38,274 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:49:38,274 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:49:38,274 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:49:38,274 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:49:38,274 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:49:38,274 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:49:38,275 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-14 14:49:38,290 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (25)] Ended with exit code 0 [2022-07-14 14:49:38,291 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:38,291 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:38,292 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:38,293 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (26)] Waiting until timeout for monitored process [2022-07-14 14:49:38,294 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 [2022-07-14 14:49:38,300 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:49:38,300 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:49:38,300 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:49:38,300 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:49:38,300 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:49:38,306 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:49:38,306 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:49:38,335 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-14 14:49:38,363 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2022-07-14 14:49:38,364 INFO L444 ModelExtractionUtils]: 5 out of 9 variables were initially zero. Simplification set additionally 1 variables to zero. [2022-07-14 14:49:38,364 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:38,364 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:38,371 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:38,376 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-14 14:49:38,376 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-14 14:49:38,376 INFO L513 LassoAnalysis]: Proved termination. [2022-07-14 14:49:38,376 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~n~0#1) = -2*ULTIMATE.start_main_~n~0#1 + 1 Supporting invariants [] [2022-07-14 14:49:38,383 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (27)] Waiting until timeout for monitored process [2022-07-14 14:49:38,392 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (26)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:38,393 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-14 14:49:38,410 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:38,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:49:38,417 INFO L263 TraceCheckSpWp]: Trace formula consists of 12 conjuncts, 2 conjunts are in the unsatisfiable core [2022-07-14 14:49:38,417 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:49:38,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:49:38,451 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 14 conjunts are in the unsatisfiable core [2022-07-14 14:49:38,458 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:49:38,585 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 1 proven. 6 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-07-14 14:49:38,586 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 6 loop predicates [2022-07-14 14:49:38,586 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 26 states and 35 transitions. cyclomatic complexity: 11 Second operand has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 8 states have internal predecessors, (18), 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) [2022-07-14 14:49:38,835 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 26 states and 35 transitions. cyclomatic complexity: 11. Second operand has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 8 states have internal predecessors, (18), 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 117 states and 182 transitions. Complement of second has 26 states. [2022-07-14 14:49:38,836 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 8 states 1 stem states 6 non-accepting loop states 1 accepting loop states [2022-07-14 14:49:38,837 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 8 states have internal predecessors, (18), 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) [2022-07-14 14:49:38,838 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 74 transitions. [2022-07-14 14:49:38,838 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 8 states and 74 transitions. Stem has 4 letters. Loop has 23 letters. [2022-07-14 14:49:38,839 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:49:38,839 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 8 states and 74 transitions. Stem has 27 letters. Loop has 23 letters. [2022-07-14 14:49:38,839 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:49:38,840 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 8 states and 74 transitions. Stem has 4 letters. Loop has 46 letters. [2022-07-14 14:49:38,840 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:49:38,840 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 117 states and 182 transitions. [2022-07-14 14:49:38,844 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 33 [2022-07-14 14:49:38,847 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 117 states to 116 states and 181 transitions. [2022-07-14 14:49:38,848 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 59 [2022-07-14 14:49:38,848 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 60 [2022-07-14 14:49:38,848 INFO L73 IsDeterministic]: Start isDeterministic. Operand 116 states and 181 transitions. [2022-07-14 14:49:38,848 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:49:38,849 INFO L369 hiAutomatonCegarLoop]: Abstraction has 116 states and 181 transitions. [2022-07-14 14:49:38,849 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states and 181 transitions. [2022-07-14 14:49:38,862 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 105. [2022-07-14 14:49:38,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 105 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 30 states have call successors, (30), 6 states have call predecessors, (30), 8 states have return successors, (42), 30 states have call predecessors, (42), 30 states have call successors, (42) [2022-07-14 14:49:38,864 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 154 transitions. [2022-07-14 14:49:38,864 INFO L392 hiAutomatonCegarLoop]: Abstraction has 105 states and 154 transitions. [2022-07-14 14:49:38,864 INFO L374 stractBuchiCegarLoop]: Abstraction has 105 states and 154 transitions. [2022-07-14 14:49:38,864 INFO L287 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2022-07-14 14:49:38,864 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 105 states and 154 transitions. [2022-07-14 14:49:38,866 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 32 [2022-07-14 14:49:38,866 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:49:38,867 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:49:38,868 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1] [2022-07-14 14:49:38,868 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [6, 6, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:49:38,868 INFO L752 eck$LassoCheckResult]: Stem: 556#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 536#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 537#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 555#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 565#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 546#L42-3 [2022-07-14 14:49:38,868 INFO L754 eck$LassoCheckResult]: Loop: 546#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 560#L43 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; 574#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 515#factENTRY ~n := #in~n; 580#L25 assume !(~n <= 0); 502#L26 call #t~ret0 := fact(~n - 1);< 542#factENTRY ~n := #in~n; 586#L25 assume ~n <= 0;#res := 1; 582#factFINAL assume true; 500#factEXIT >#66#return; 506#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 579#factFINAL assume true; 578#factEXIT >#68#return; 576#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 515#factENTRY ~n := #in~n; 580#L25 assume !(~n <= 0); 502#L26 call #t~ret0 := fact(~n - 1);< 542#factENTRY ~n := #in~n; 586#L25 assume ~n <= 0;#res := 1; 582#factFINAL assume true; 500#factEXIT >#66#return; 506#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 579#factFINAL assume true; 578#factEXIT >#70#return; 514#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 515#factENTRY ~n := #in~n; 580#L25 assume !(~n <= 0); 502#L26 call #t~ret0 := fact(~n - 1);< 542#factENTRY ~n := #in~n; 586#L25 assume ~n <= 0;#res := 1; 582#factFINAL assume true; 500#factEXIT >#66#return; 506#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 579#factFINAL assume true; 578#factEXIT >#72#return; 571#L30-3 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; 569#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 567#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 566#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 553#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 545#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 546#L42-3 [2022-07-14 14:49:38,868 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:38,868 INFO L85 PathProgramCache]: Analyzing trace with hash 36330292, now seen corresponding path program 1 times [2022-07-14 14:49:38,869 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:38,869 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1471842117] [2022-07-14 14:49:38,869 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:38,869 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:38,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:38,873 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:49:38,875 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:38,876 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:49:38,877 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:38,877 INFO L85 PathProgramCache]: Analyzing trace with hash 471779129, now seen corresponding path program 1 times [2022-07-14 14:49:38,877 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:38,877 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1000955312] [2022-07-14 14:49:38,877 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:38,877 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:38,887 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:49:38,887 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1262237157] [2022-07-14 14:49:38,887 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:38,888 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:49:38,888 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:38,889 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:49:38,896 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Waiting until timeout for monitored process [2022-07-14 14:49:38,927 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:49:38,928 INFO L263 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 11 conjunts are in the unsatisfiable core [2022-07-14 14:49:38,930 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:49:39,011 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (27)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:39,031 INFO L134 CoverageAnalysis]: Checked inductivity of 67 backedges. 8 proven. 35 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-07-14 14:49:39,031 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:49:39,255 INFO L134 CoverageAnalysis]: Checked inductivity of 67 backedges. 8 proven. 36 refuted. 0 times theorem prover too weak. 23 trivial. 0 not checked. [2022-07-14 14:49:39,256 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:49:39,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1000955312] [2022-07-14 14:49:39,256 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:49:39,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1262237157] [2022-07-14 14:49:39,256 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1262237157] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:49:39,257 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:49:39,257 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 13 [2022-07-14 14:49:39,257 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [938661421] [2022-07-14 14:49:39,257 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:49:39,258 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-14 14:49:39,258 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:49:39,259 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-07-14 14:49:39,260 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-07-14 14:49:39,260 INFO L87 Difference]: Start difference. First operand 105 states and 154 transitions. cyclomatic complexity: 54 Second operand has 13 states, 10 states have (on average 2.7) internal successors, (27), 10 states have internal predecessors, (27), 7 states have call successors, (7), 1 states have call predecessors, (7), 4 states have return successors, (8), 6 states have call predecessors, (8), 7 states have call successors, (8) [2022-07-14 14:49:39,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:49:39,573 INFO L93 Difference]: Finished difference Result 307 states and 482 transitions. [2022-07-14 14:49:39,573 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-07-14 14:49:39,574 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 307 states and 482 transitions. [2022-07-14 14:49:39,586 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 112 [2022-07-14 14:49:39,599 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 307 states to 307 states and 482 transitions. [2022-07-14 14:49:39,599 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 151 [2022-07-14 14:49:39,602 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 151 [2022-07-14 14:49:39,602 INFO L73 IsDeterministic]: Start isDeterministic. Operand 307 states and 482 transitions. [2022-07-14 14:49:39,602 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:49:39,602 INFO L369 hiAutomatonCegarLoop]: Abstraction has 307 states and 482 transitions. [2022-07-14 14:49:39,603 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 307 states and 482 transitions. [2022-07-14 14:49:39,639 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 307 to 149. [2022-07-14 14:49:39,640 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 149 states, 87 states have (on average 1.1724137931034482) internal successors, (102), 88 states have internal predecessors, (102), 46 states have call successors, (46), 10 states have call predecessors, (46), 16 states have return successors, (116), 50 states have call predecessors, (116), 46 states have call successors, (116) [2022-07-14 14:49:39,641 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 149 states to 149 states and 264 transitions. [2022-07-14 14:49:39,641 INFO L392 hiAutomatonCegarLoop]: Abstraction has 149 states and 264 transitions. [2022-07-14 14:49:39,641 INFO L374 stractBuchiCegarLoop]: Abstraction has 149 states and 264 transitions. [2022-07-14 14:49:39,642 INFO L287 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2022-07-14 14:49:39,642 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 149 states and 264 transitions. [2022-07-14 14:49:39,643 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 40 [2022-07-14 14:49:39,643 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:49:39,643 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:49:39,644 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1] [2022-07-14 14:49:39,644 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [5, 5, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:49:39,644 INFO L752 eck$LassoCheckResult]: Stem: 1232#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 1210#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 1211#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 1231#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 1258#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 1221#L42-3 [2022-07-14 14:49:39,644 INFO L754 eck$LassoCheckResult]: Loop: 1221#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 1233#L43 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; 1234#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 1263#factENTRY ~n := #in~n; 1270#L25 assume !(~n <= 0); 1186#L26 call #t~ret0 := fact(~n - 1);< 1216#factENTRY ~n := #in~n; 1261#L25 assume !(~n <= 0); 1185#L26 call #t~ret0 := fact(~n - 1);< 1216#factENTRY ~n := #in~n; 1261#L25 assume ~n <= 0;#res := 1; 1200#factFINAL assume true; 1184#factEXIT >#66#return; 1188#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 1303#factFINAL assume true; 1301#factEXIT >#66#return; 1302#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 1312#factFINAL assume true; 1279#factEXIT >#68#return; 1265#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 1263#factENTRY ~n := #in~n; 1270#L25 assume ~n <= 0;#res := 1; 1254#factFINAL assume true; 1283#factEXIT >#70#return; 1267#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 1263#factENTRY ~n := #in~n; 1270#L25 assume ~n <= 0;#res := 1; 1254#factFINAL assume true; 1283#factEXIT >#72#return; 1224#L30-3 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; 1225#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 1306#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 1305#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 1229#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 1220#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 1221#L42-3 [2022-07-14 14:49:39,645 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:39,645 INFO L85 PathProgramCache]: Analyzing trace with hash 36330292, now seen corresponding path program 2 times [2022-07-14 14:49:39,645 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:39,645 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [63982567] [2022-07-14 14:49:39,645 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:39,645 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:39,663 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:39,663 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:49:39,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:39,666 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:49:39,669 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:39,670 INFO L85 PathProgramCache]: Analyzing trace with hash -2146445903, now seen corresponding path program 2 times [2022-07-14 14:49:39,670 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:39,670 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1236161240] [2022-07-14 14:49:39,670 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:39,670 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:39,680 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:49:39,681 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1678005432] [2022-07-14 14:49:39,681 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-14 14:49:39,681 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:49:39,681 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:39,690 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:49:39,719 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Waiting until timeout for monitored process [2022-07-14 14:49:39,728 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-14 14:49:39,728 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-14 14:49:39,728 INFO L263 TraceCheckSpWp]: Trace formula consists of 83 conjuncts, 11 conjunts are in the unsatisfiable core [2022-07-14 14:49:39,730 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:49:39,802 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 14 proven. 15 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-07-14 14:49:39,802 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:49:39,991 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 13 proven. 14 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-07-14 14:49:39,991 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:49:39,991 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1236161240] [2022-07-14 14:49:39,991 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:49:39,992 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1678005432] [2022-07-14 14:49:39,992 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1678005432] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:49:39,992 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:49:39,992 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-07-14 14:49:39,992 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2134491704] [2022-07-14 14:49:39,992 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:49:39,993 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-14 14:49:39,993 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:49:39,993 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-07-14 14:49:39,994 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=143, Unknown=0, NotChecked=0, Total=182 [2022-07-14 14:49:39,994 INFO L87 Difference]: Start difference. First operand 149 states and 264 transitions. cyclomatic complexity: 120 Second operand has 14 states, 10 states have (on average 2.7) internal successors, (27), 10 states have internal predecessors, (27), 8 states have call successors, (8), 1 states have call predecessors, (8), 4 states have return successors, (9), 7 states have call predecessors, (9), 8 states have call successors, (9) [2022-07-14 14:49:40,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:49:40,376 INFO L93 Difference]: Finished difference Result 377 states and 584 transitions. [2022-07-14 14:49:40,376 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-07-14 14:49:40,377 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 377 states and 584 transitions. [2022-07-14 14:49:40,382 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 123 [2022-07-14 14:49:40,386 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 377 states to 365 states and 564 transitions. [2022-07-14 14:49:40,387 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 178 [2022-07-14 14:49:40,387 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 178 [2022-07-14 14:49:40,387 INFO L73 IsDeterministic]: Start isDeterministic. Operand 365 states and 564 transitions. [2022-07-14 14:49:40,387 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:49:40,387 INFO L369 hiAutomatonCegarLoop]: Abstraction has 365 states and 564 transitions. [2022-07-14 14:49:40,388 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 365 states and 564 transitions. [2022-07-14 14:49:40,402 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 365 to 183. [2022-07-14 14:49:40,402 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 183 states, 107 states have (on average 1.1401869158878504) internal successors, (122), 102 states have internal predecessors, (122), 60 states have call successors, (60), 20 states have call predecessors, (60), 16 states have return successors, (126), 60 states have call predecessors, (126), 60 states have call successors, (126) [2022-07-14 14:49:40,404 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 183 states to 183 states and 308 transitions. [2022-07-14 14:49:40,404 INFO L392 hiAutomatonCegarLoop]: Abstraction has 183 states and 308 transitions. [2022-07-14 14:49:40,405 INFO L374 stractBuchiCegarLoop]: Abstraction has 183 states and 308 transitions. [2022-07-14 14:49:40,405 INFO L287 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2022-07-14 14:49:40,405 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 183 states and 308 transitions. [2022-07-14 14:49:40,406 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 45 [2022-07-14 14:49:40,406 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:49:40,406 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:49:40,410 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1] [2022-07-14 14:49:40,411 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [7, 7, 4, 4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:49:40,411 INFO L752 eck$LassoCheckResult]: Stem: 1997#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 1972#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 1973#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 1996#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 2034#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 1987#L42-3 [2022-07-14 14:49:40,411 INFO L754 eck$LassoCheckResult]: Loop: 1987#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 1998#L43 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; 2000#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 2095#factENTRY ~n := #in~n; 2111#L25 assume !(~n <= 0); 1946#L26 call #t~ret0 := fact(~n - 1);< 1980#factENTRY ~n := #in~n; 2097#L25 assume !(~n <= 0); 1945#L26 call #t~ret0 := fact(~n - 1);< 1980#factENTRY ~n := #in~n; 2097#L25 assume ~n <= 0;#res := 1; 1964#factFINAL assume true; 1944#factEXIT >#66#return; 1948#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 2087#factFINAL assume true; 2084#factEXIT >#66#return; 2081#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 2082#factFINAL assume true; 2062#factEXIT >#74#return; 2009#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 2095#factENTRY ~n := #in~n; 2111#L25 assume !(~n <= 0); 1946#L26 call #t~ret0 := fact(~n - 1);< 1980#factENTRY ~n := #in~n; 2097#L25 assume ~n <= 0;#res := 1; 1964#factFINAL assume true; 1944#factEXIT >#66#return; 1949#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 2011#factFINAL assume true; 2059#factEXIT >#76#return; 2005#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 2108#factENTRY ~n := #in~n; 2110#L25 assume !(~n <= 0); 1946#L26 call #t~ret0 := fact(~n - 1);< 1980#factENTRY ~n := #in~n; 2097#L25 assume ~n <= 0;#res := 1; 1964#factFINAL assume true; 1944#factEXIT >#66#return; 1949#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 2011#factFINAL assume true; 2059#factEXIT >#78#return; 2060#L30-8 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; 2116#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 2115#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 2114#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 1994#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 1986#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 1987#L42-3 [2022-07-14 14:49:40,411 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:40,411 INFO L85 PathProgramCache]: Analyzing trace with hash 36330292, now seen corresponding path program 3 times [2022-07-14 14:49:40,412 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:40,412 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1933677929] [2022-07-14 14:49:40,412 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:40,412 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:40,415 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:40,415 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:49:40,417 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:40,419 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:49:40,419 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:40,419 INFO L85 PathProgramCache]: Analyzing trace with hash 1703111285, now seen corresponding path program 1 times [2022-07-14 14:49:40,419 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:40,419 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1110900134] [2022-07-14 14:49:40,419 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:40,420 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:40,425 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:49:40,425 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [915327370] [2022-07-14 14:49:40,426 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:40,426 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:49:40,426 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:40,430 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:49:40,431 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Waiting until timeout for monitored process [2022-07-14 14:49:40,475 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:40,476 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:49:40,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:40,501 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:49:40,502 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:40,502 INFO L85 PathProgramCache]: Analyzing trace with hash 1023536866, now seen corresponding path program 1 times [2022-07-14 14:49:40,502 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:40,502 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [396746626] [2022-07-14 14:49:40,502 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:40,503 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:40,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:49:40,524 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-07-14 14:49:40,527 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:49:40,527 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [396746626] [2022-07-14 14:49:40,527 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: Unsupported non-linear arithmetic [2022-07-14 14:49:40,528 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1831021869] [2022-07-14 14:49:40,528 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:40,528 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:49:40,528 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:40,531 INFO L229 MonitoredProcess]: Starting monitored process 31 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:49:40,531 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Waiting until timeout for monitored process [2022-07-14 14:49:40,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:49:40,564 INFO L263 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 3 conjunts are in the unsatisfiable core [2022-07-14 14:49:40,566 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:49:40,589 INFO L134 CoverageAnalysis]: Checked inductivity of 98 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-07-14 14:49:40,590 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-07-14 14:49:40,590 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1831021869] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-14 14:49:40,590 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-14 14:49:40,590 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-07-14 14:49:40,590 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1757958134] [2022-07-14 14:49:40,590 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-14 14:49:41,467 INFO L210 LassoAnalysis]: Preferences: [2022-07-14 14:49:41,467 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-14 14:49:41,467 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-14 14:49:41,467 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-14 14:49:41,467 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-14 14:49:41,467 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:41,467 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-14 14:49:41,467 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-14 14:49:41,467 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration5_Loop [2022-07-14 14:49:41,467 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-14 14:49:41,467 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-14 14:49:41,469 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:41,470 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:41,472 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:41,474 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:41,475 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:41,477 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:41,530 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:41,712 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-14 14:49:41,713 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-14 14:49:41,713 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:41,713 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:41,719 INFO L229 MonitoredProcess]: Starting monitored process 32 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:41,725 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:49:41,725 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:41,735 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (32)] Waiting until timeout for monitored process [2022-07-14 14:49:41,735 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-14 14:49:41,735 INFO L440 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: [] [2022-07-14 14:49:41,750 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (32)] Ended with exit code 0 [2022-07-14 14:49:41,751 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:41,751 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:41,752 INFO L229 MonitoredProcess]: Starting monitored process 33 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:41,752 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (33)] Waiting until timeout for monitored process [2022-07-14 14:49:41,754 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:49:41,754 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:41,759 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-14 14:49:41,760 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_#t~ret10#1=0} Honda state: {ULTIMATE.start_main_#t~ret10#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2022-07-14 14:49:41,775 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (33)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:41,776 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:41,776 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:41,777 INFO L229 MonitoredProcess]: Starting monitored process 34 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:41,779 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (34)] Waiting until timeout for monitored process [2022-07-14 14:49:41,779 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:49:41,780 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:41,785 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-14 14:49:41,786 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_#t~post8#1=0} Honda state: {ULTIMATE.start_main_#t~post8#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2022-07-14 14:49:41,800 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (34)] Ended with exit code 0 [2022-07-14 14:49:41,801 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:41,801 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:41,802 INFO L229 MonitoredProcess]: Starting monitored process 35 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:41,802 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (35)] Waiting until timeout for monitored process [2022-07-14 14:49:41,804 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:49:41,804 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:41,810 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-14 14:49:41,810 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_#t~post7#1=0} Honda state: {ULTIMATE.start_main_#t~post7#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2022-07-14 14:49:41,825 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (35)] Ended with exit code 0 [2022-07-14 14:49:41,825 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:41,825 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:41,826 INFO L229 MonitoredProcess]: Starting monitored process 36 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:41,827 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (36)] Waiting until timeout for monitored process [2022-07-14 14:49:41,828 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:49:41,828 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:41,841 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-14 14:49:41,841 INFO L440 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: [] [2022-07-14 14:49:41,856 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (36)] Ended with exit code 0 [2022-07-14 14:49:41,856 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:41,856 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:41,857 INFO L229 MonitoredProcess]: Starting monitored process 37 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:41,858 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (37)] Waiting until timeout for monitored process [2022-07-14 14:49:41,859 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:49:41,859 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:41,888 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (37)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:41,888 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:41,888 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:41,889 INFO L229 MonitoredProcess]: Starting monitored process 38 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:41,890 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (38)] Waiting until timeout for monitored process [2022-07-14 14:49:41,891 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-14 14:49:41,891 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:41,911 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-14 14:49:41,925 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (38)] Ended with exit code 0 [2022-07-14 14:49:41,926 INFO L210 LassoAnalysis]: Preferences: [2022-07-14 14:49:41,926 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-14 14:49:41,926 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-14 14:49:41,926 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-14 14:49:41,926 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-14 14:49:41,926 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:41,926 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-14 14:49:41,926 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-14 14:49:41,926 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration5_Loop [2022-07-14 14:49:41,926 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-14 14:49:41,926 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-14 14:49:41,927 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:41,933 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:41,935 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:41,936 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:41,990 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:41,992 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:41,993 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:42,211 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-14 14:49:42,212 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-14 14:49:42,212 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:42,212 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:42,215 INFO L229 MonitoredProcess]: Starting monitored process 39 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:42,215 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (39)] Waiting until timeout for monitored process [2022-07-14 14:49:42,217 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 [2022-07-14 14:49:42,222 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:49:42,222 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:49:42,222 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:49:42,222 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:49:42,222 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:49:42,222 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:49:42,222 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:49:42,223 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-14 14:49:42,237 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (39)] Ended with exit code 0 [2022-07-14 14:49:42,238 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:42,238 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:42,239 INFO L229 MonitoredProcess]: Starting monitored process 40 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:42,243 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (40)] Waiting until timeout for monitored process [2022-07-14 14:49:42,243 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 [2022-07-14 14:49:42,248 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:49:42,248 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:49:42,249 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:49:42,249 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:49:42,249 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:49:42,249 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:49:42,249 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:49:42,250 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-14 14:49:42,265 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (40)] Ended with exit code 0 [2022-07-14 14:49:42,265 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:42,265 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:42,266 INFO L229 MonitoredProcess]: Starting monitored process 41 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:42,267 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (41)] Waiting until timeout for monitored process [2022-07-14 14:49:42,268 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 [2022-07-14 14:49:42,273 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:49:42,273 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:49:42,273 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:49:42,273 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:49:42,274 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:49:42,274 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:49:42,274 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:49:42,275 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-14 14:49:42,290 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (41)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:42,290 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:42,290 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:42,291 INFO L229 MonitoredProcess]: Starting monitored process 42 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:42,292 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (42)] Waiting until timeout for monitored process [2022-07-14 14:49:42,293 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 [2022-07-14 14:49:42,298 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:49:42,298 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:49:42,298 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:49:42,298 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:49:42,298 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:49:42,300 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:49:42,300 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:49:42,323 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-14 14:49:42,329 INFO L443 ModelExtractionUtils]: Simplification made 5 calls to the SMT solver. [2022-07-14 14:49:42,329 INFO L444 ModelExtractionUtils]: 5 out of 10 variables were initially zero. Simplification set additionally 2 variables to zero. [2022-07-14 14:49:42,330 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:42,330 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:42,331 INFO L229 MonitoredProcess]: Starting monitored process 43 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:42,332 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (43)] Waiting until timeout for monitored process [2022-07-14 14:49:42,332 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-14 14:49:42,333 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-14 14:49:42,333 INFO L513 LassoAnalysis]: Proved termination. [2022-07-14 14:49:42,333 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~n~0#1) = -2*ULTIMATE.start_main_~n~0#1 + 3 Supporting invariants [] [2022-07-14 14:49:42,348 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (42)] Ended with exit code 0 [2022-07-14 14:49:42,349 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-14 14:49:42,357 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:42,360 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:49:42,361 INFO L263 TraceCheckSpWp]: Trace formula consists of 15 conjuncts, 2 conjunts are in the unsatisfiable core [2022-07-14 14:49:42,361 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:49:42,414 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:49:42,416 INFO L263 TraceCheckSpWp]: Trace formula consists of 303 conjuncts, 27 conjunts are in the unsatisfiable core [2022-07-14 14:49:42,419 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:49:42,570 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (43)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:42,640 INFO L134 CoverageAnalysis]: Checked inductivity of 97 backedges. 1 proven. 51 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-07-14 14:49:42,641 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 9 loop predicates [2022-07-14 14:49:42,641 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 183 states and 308 transitions. cyclomatic complexity: 130 Second operand has 11 states, 10 states have (on average 2.6) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (5), 1 states have call predecessors, (5), 4 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-07-14 14:49:43,019 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 183 states and 308 transitions. cyclomatic complexity: 130. Second operand has 11 states, 10 states have (on average 2.6) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (5), 1 states have call predecessors, (5), 4 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Result 1103 states and 1896 transitions. Complement of second has 60 states. [2022-07-14 14:49:43,020 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 11 states 1 stem states 9 non-accepting loop states 1 accepting loop states [2022-07-14 14:49:43,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.6) internal successors, (26), 11 states have internal predecessors, (26), 4 states have call successors, (5), 1 states have call predecessors, (5), 4 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-07-14 14:49:43,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 113 transitions. [2022-07-14 14:49:43,021 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 11 states and 113 transitions. Stem has 5 letters. Loop has 47 letters. [2022-07-14 14:49:43,022 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:49:43,023 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 11 states and 113 transitions. Stem has 52 letters. Loop has 47 letters. [2022-07-14 14:49:43,023 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:49:43,023 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 11 states and 113 transitions. Stem has 5 letters. Loop has 94 letters. [2022-07-14 14:49:43,025 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:49:43,025 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1103 states and 1896 transitions. [2022-07-14 14:49:43,043 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 95 [2022-07-14 14:49:43,057 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1103 states to 847 states and 1435 transitions. [2022-07-14 14:49:43,057 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 275 [2022-07-14 14:49:43,058 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 277 [2022-07-14 14:49:43,058 INFO L73 IsDeterministic]: Start isDeterministic. Operand 847 states and 1435 transitions. [2022-07-14 14:49:43,058 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:49:43,058 INFO L369 hiAutomatonCegarLoop]: Abstraction has 847 states and 1435 transitions. [2022-07-14 14:49:43,059 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 847 states and 1435 transitions. [2022-07-14 14:49:43,101 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 847 to 737. [2022-07-14 14:49:43,104 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 737 states, 452 states have (on average 1.1305309734513274) internal successors, (511), 439 states have internal predecessors, (511), 194 states have call successors, (194), 92 states have call predecessors, (194), 91 states have return successors, (470), 205 states have call predecessors, (470), 194 states have call successors, (470) [2022-07-14 14:49:43,111 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 737 states to 737 states and 1175 transitions. [2022-07-14 14:49:43,111 INFO L392 hiAutomatonCegarLoop]: Abstraction has 737 states and 1175 transitions. [2022-07-14 14:49:43,112 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:49:43,112 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-07-14 14:49:43,112 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-07-14 14:49:43,112 INFO L87 Difference]: Start difference. First operand 737 states and 1175 transitions. Second operand has 4 states, 4 states have (on average 4.5) internal successors, (18), 4 states have internal predecessors, (18), 1 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-07-14 14:49:43,150 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:49:43,150 INFO L93 Difference]: Finished difference Result 799 states and 1321 transitions. [2022-07-14 14:49:43,151 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-07-14 14:49:43,151 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 799 states and 1321 transitions. [2022-07-14 14:49:43,161 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 93 [2022-07-14 14:49:43,171 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 799 states to 799 states and 1321 transitions. [2022-07-14 14:49:43,172 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 258 [2022-07-14 14:49:43,172 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 258 [2022-07-14 14:49:43,172 INFO L73 IsDeterministic]: Start isDeterministic. Operand 799 states and 1321 transitions. [2022-07-14 14:49:43,172 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:49:43,172 INFO L369 hiAutomatonCegarLoop]: Abstraction has 799 states and 1321 transitions. [2022-07-14 14:49:43,173 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 799 states and 1321 transitions. [2022-07-14 14:49:43,192 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 799 to 741. [2022-07-14 14:49:43,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 741 states, 456 states have (on average 1.1293859649122806) internal successors, (515), 443 states have internal predecessors, (515), 194 states have call successors, (194), 92 states have call predecessors, (194), 91 states have return successors, (470), 205 states have call predecessors, (470), 194 states have call successors, (470) [2022-07-14 14:49:43,213 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 741 states to 741 states and 1179 transitions. [2022-07-14 14:49:43,213 INFO L392 hiAutomatonCegarLoop]: Abstraction has 741 states and 1179 transitions. [2022-07-14 14:49:43,213 INFO L374 stractBuchiCegarLoop]: Abstraction has 741 states and 1179 transitions. [2022-07-14 14:49:43,214 INFO L287 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2022-07-14 14:49:43,214 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 741 states and 1179 transitions. [2022-07-14 14:49:43,219 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 83 [2022-07-14 14:49:43,219 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:49:43,219 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:49:43,222 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1] [2022-07-14 14:49:43,222 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [9, 9, 6, 6, 6, 6, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:49:43,222 INFO L752 eck$LassoCheckResult]: Stem: 5273#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 5245#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 5246#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 5272#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 5289#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 5638#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 5377#L43 [2022-07-14 14:49:43,223 INFO L754 eck$LassoCheckResult]: Loop: 5377#L43 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; 5310#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 5317#factENTRY ~n := #in~n; 5382#L25 assume !(~n <= 0); 5329#L26 call #t~ret0 := fact(~n - 1);< 5351#factENTRY ~n := #in~n; 5367#L25 assume !(~n <= 0); 5325#L26 call #t~ret0 := fact(~n - 1);< 5351#factENTRY ~n := #in~n; 5367#L25 assume ~n <= 0;#res := 1; 5363#factFINAL assume true; 5355#factEXIT >#66#return; 5354#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 5352#factFINAL assume true; 5348#factEXIT >#66#return; 5341#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 5374#factFINAL assume true; 5376#factEXIT >#68#return; 5312#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 5317#factENTRY ~n := #in~n; 5382#L25 assume !(~n <= 0); 5329#L26 call #t~ret0 := fact(~n - 1);< 5351#factENTRY ~n := #in~n; 5367#L25 assume !(~n <= 0); 5325#L26 call #t~ret0 := fact(~n - 1);< 5351#factENTRY ~n := #in~n; 5367#L25 assume ~n <= 0;#res := 1; 5363#factFINAL assume true; 5355#factEXIT >#66#return; 5354#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 5352#factFINAL assume true; 5348#factEXIT >#66#return; 5341#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 5374#factFINAL assume true; 5376#factEXIT >#70#return; 5314#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 5317#factENTRY ~n := #in~n; 5382#L25 assume !(~n <= 0); 5329#L26 call #t~ret0 := fact(~n - 1);< 5351#factENTRY ~n := #in~n; 5367#L25 assume !(~n <= 0); 5325#L26 call #t~ret0 := fact(~n - 1);< 5351#factENTRY ~n := #in~n; 5367#L25 assume ~n <= 0;#res := 1; 5363#factFINAL assume true; 5355#factEXIT >#66#return; 5354#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 5352#factFINAL assume true; 5348#factEXIT >#66#return; 5341#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 5374#factFINAL assume true; 5376#factEXIT >#72#return; 5306#L30-3 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; 5298#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 5296#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 5294#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 5269#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 5259#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 5260#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 5377#L43 [2022-07-14 14:49:43,224 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:43,224 INFO L85 PathProgramCache]: Analyzing trace with hash 1126239088, now seen corresponding path program 1 times [2022-07-14 14:49:43,224 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:43,224 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2090641976] [2022-07-14 14:49:43,224 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:43,224 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:43,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:43,229 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:49:43,233 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:43,237 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:49:43,238 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:43,238 INFO L85 PathProgramCache]: Analyzing trace with hash 406874005, now seen corresponding path program 3 times [2022-07-14 14:49:43,238 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:43,238 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [506294282] [2022-07-14 14:49:43,239 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:43,239 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:43,255 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:49:43,255 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [370314102] [2022-07-14 14:49:43,255 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-14 14:49:43,255 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:49:43,256 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:43,260 INFO L229 MonitoredProcess]: Starting monitored process 44 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:49:43,288 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (44)] Waiting until timeout for monitored process [2022-07-14 14:49:43,297 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2022-07-14 14:49:43,297 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-14 14:49:43,297 INFO L263 TraceCheckSpWp]: Trace formula consists of 47 conjuncts, 5 conjunts are in the unsatisfiable core [2022-07-14 14:49:43,299 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:49:43,330 INFO L134 CoverageAnalysis]: Checked inductivity of 175 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 174 trivial. 0 not checked. [2022-07-14 14:49:43,330 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-07-14 14:49:43,330 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:49:43,330 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [506294282] [2022-07-14 14:49:43,330 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:49:43,330 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [370314102] [2022-07-14 14:49:43,330 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [370314102] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-14 14:49:43,330 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-14 14:49:43,331 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-07-14 14:49:43,331 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [967010577] [2022-07-14 14:49:43,331 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-14 14:49:43,331 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-14 14:49:43,331 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:49:43,331 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-07-14 14:49:43,332 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-07-14 14:49:43,332 INFO L87 Difference]: Start difference. First operand 741 states and 1179 transitions. cyclomatic complexity: 449 Second operand has 6 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 6 states have internal predecessors, (13), 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) [2022-07-14 14:49:43,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:49:43,404 INFO L93 Difference]: Finished difference Result 884 states and 1467 transitions. [2022-07-14 14:49:43,405 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-07-14 14:49:43,407 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 884 states and 1467 transitions. [2022-07-14 14:49:43,418 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 125 [2022-07-14 14:49:43,429 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 884 states to 866 states and 1449 transitions. [2022-07-14 14:49:43,429 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 284 [2022-07-14 14:49:43,430 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 284 [2022-07-14 14:49:43,430 INFO L73 IsDeterministic]: Start isDeterministic. Operand 866 states and 1449 transitions. [2022-07-14 14:49:43,437 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:49:43,437 INFO L369 hiAutomatonCegarLoop]: Abstraction has 866 states and 1449 transitions. [2022-07-14 14:49:43,438 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 866 states and 1449 transitions. [2022-07-14 14:49:43,461 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 866 to 759. [2022-07-14 14:49:43,463 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 759 states, 474 states have (on average 1.1244725738396624) internal successors, (533), 461 states have internal predecessors, (533), 194 states have call successors, (194), 92 states have call predecessors, (194), 91 states have return successors, (470), 205 states have call predecessors, (470), 194 states have call successors, (470) [2022-07-14 14:49:43,467 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 759 states to 759 states and 1197 transitions. [2022-07-14 14:49:43,468 INFO L392 hiAutomatonCegarLoop]: Abstraction has 759 states and 1197 transitions. [2022-07-14 14:49:43,468 INFO L374 stractBuchiCegarLoop]: Abstraction has 759 states and 1197 transitions. [2022-07-14 14:49:43,468 INFO L287 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2022-07-14 14:49:43,468 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 759 states and 1197 transitions. [2022-07-14 14:49:43,472 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 85 [2022-07-14 14:49:43,473 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:49:43,473 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:49:43,477 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1] [2022-07-14 14:49:43,477 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [18, 18, 12, 12, 12, 12, 6, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:49:43,477 INFO L752 eck$LassoCheckResult]: Stem: 7080#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 7053#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 7054#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 7079#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 7102#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 7479#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 7200#L43 [2022-07-14 14:49:43,479 INFO L754 eck$LassoCheckResult]: Loop: 7200#L43 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; 7120#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 7187#factENTRY ~n := #in~n; 7198#L25 assume !(~n <= 0); 7132#L26 call #t~ret0 := fact(~n - 1);< 7152#factENTRY ~n := #in~n; 7166#L25 assume ~n <= 0;#res := 1; 7165#factFINAL assume true; 7156#factEXIT >#66#return; 7163#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 7204#factFINAL assume true; 7194#factEXIT >#68#return; 7176#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 7187#factENTRY ~n := #in~n; 7198#L25 assume !(~n <= 0); 7132#L26 call #t~ret0 := fact(~n - 1);< 7152#factENTRY ~n := #in~n; 7166#L25 assume !(~n <= 0); 7127#L26 call #t~ret0 := fact(~n - 1);< 7152#factENTRY ~n := #in~n; 7166#L25 assume ~n <= 0;#res := 1; 7165#factFINAL assume true; 7156#factEXIT >#66#return; 7155#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 7153#factFINAL assume true; 7149#factEXIT >#66#return; 7144#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 7185#factFINAL assume true; 7186#factEXIT >#70#return; 7175#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 7196#factENTRY ~n := #in~n; 7197#L25 assume ~n <= 0;#res := 1; 7195#factFINAL assume true; 7174#factEXIT >#72#return; 7173#L30-3 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; 7172#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 7171#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 7169#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 7106#L43 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; 7112#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 7119#factENTRY ~n := #in~n; 7202#L25 assume !(~n <= 0); 7139#L26 call #t~ret0 := fact(~n - 1);< 7152#factENTRY ~n := #in~n; 7166#L25 assume !(~n <= 0); 7127#L26 call #t~ret0 := fact(~n - 1);< 7152#factENTRY ~n := #in~n; 7166#L25 assume !(~n <= 0); 7127#L26 call #t~ret0 := fact(~n - 1);< 7152#factENTRY ~n := #in~n; 7166#L25 assume ~n <= 0;#res := 1; 7165#factFINAL assume true; 7156#factEXIT >#66#return; 7155#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 7153#factFINAL assume true; 7149#factEXIT >#66#return; 7143#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 7148#factFINAL assume true; 7124#factEXIT >#66#return; 7123#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 7122#factFINAL assume true; 7121#factEXIT >#74#return; 7113#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 7119#factENTRY ~n := #in~n; 7202#L25 assume !(~n <= 0); 7139#L26 call #t~ret0 := fact(~n - 1);< 7152#factENTRY ~n := #in~n; 7166#L25 assume !(~n <= 0); 7127#L26 call #t~ret0 := fact(~n - 1);< 7152#factENTRY ~n := #in~n; 7166#L25 assume !(~n <= 0); 7127#L26 call #t~ret0 := fact(~n - 1);< 7152#factENTRY ~n := #in~n; 7166#L25 assume ~n <= 0;#res := 1; 7165#factFINAL assume true; 7156#factEXIT >#66#return; 7155#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 7153#factFINAL assume true; 7149#factEXIT >#66#return; 7143#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 7148#factFINAL assume true; 7124#factEXIT >#66#return; 7123#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 7122#factFINAL assume true; 7121#factEXIT >#76#return; 7111#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 7168#factENTRY ~n := #in~n; 7167#L25 assume !(~n <= 0); 7139#L26 call #t~ret0 := fact(~n - 1);< 7152#factENTRY ~n := #in~n; 7166#L25 assume !(~n <= 0); 7127#L26 call #t~ret0 := fact(~n - 1);< 7152#factENTRY ~n := #in~n; 7166#L25 assume !(~n <= 0); 7127#L26 call #t~ret0 := fact(~n - 1);< 7152#factENTRY ~n := #in~n; 7166#L25 assume ~n <= 0;#res := 1; 7165#factFINAL assume true; 7156#factEXIT >#66#return; 7155#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 7153#factFINAL assume true; 7149#factEXIT >#66#return; 7143#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 7148#factFINAL assume true; 7124#factEXIT >#66#return; 7123#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 7122#factFINAL assume true; 7121#factEXIT >#78#return; 7109#L30-8 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; 7108#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 7107#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 7105#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 7076#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 7066#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 7067#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 7200#L43 [2022-07-14 14:49:43,479 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:43,479 INFO L85 PathProgramCache]: Analyzing trace with hash 1126239088, now seen corresponding path program 2 times [2022-07-14 14:49:43,479 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:43,480 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [838922677] [2022-07-14 14:49:43,480 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:43,480 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:43,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:43,488 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:49:43,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:43,498 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:49:43,498 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:43,498 INFO L85 PathProgramCache]: Analyzing trace with hash 640872690, now seen corresponding path program 1 times [2022-07-14 14:49:43,498 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:43,499 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [80256770] [2022-07-14 14:49:43,499 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:43,499 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:43,509 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:49:43,509 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [156576741] [2022-07-14 14:49:43,509 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:43,510 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:49:43,510 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:43,511 INFO L229 MonitoredProcess]: Starting monitored process 45 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:49:43,512 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (45)] Waiting until timeout for monitored process [2022-07-14 14:49:43,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:49:43,565 INFO L263 TraceCheckSpWp]: Trace formula consists of 254 conjuncts, 15 conjunts are in the unsatisfiable core [2022-07-14 14:49:43,567 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:49:43,650 INFO L134 CoverageAnalysis]: Checked inductivity of 749 backedges. 322 proven. 27 refuted. 0 times theorem prover too weak. 400 trivial. 0 not checked. [2022-07-14 14:49:43,650 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:49:43,948 INFO L134 CoverageAnalysis]: Checked inductivity of 749 backedges. 8 proven. 239 refuted. 0 times theorem prover too weak. 502 trivial. 0 not checked. [2022-07-14 14:49:43,949 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:49:43,949 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [80256770] [2022-07-14 14:49:43,949 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:49:43,949 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [156576741] [2022-07-14 14:49:43,949 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [156576741] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:49:43,949 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:49:43,949 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 12] total 15 [2022-07-14 14:49:43,949 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1342045465] [2022-07-14 14:49:43,949 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:49:43,950 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-14 14:49:43,950 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:49:43,950 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-07-14 14:49:43,951 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=169, Unknown=0, NotChecked=0, Total=210 [2022-07-14 14:49:43,951 INFO L87 Difference]: Start difference. First operand 759 states and 1197 transitions. cyclomatic complexity: 449 Second operand has 15 states, 12 states have (on average 3.5833333333333335) internal successors, (43), 14 states have internal predecessors, (43), 10 states have call successors, (18), 2 states have call predecessors, (18), 6 states have return successors, (18), 6 states have call predecessors, (18), 10 states have call successors, (18) [2022-07-14 14:49:44,252 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:49:44,252 INFO L93 Difference]: Finished difference Result 975 states and 1525 transitions. [2022-07-14 14:49:44,255 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-07-14 14:49:44,256 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 975 states and 1525 transitions. [2022-07-14 14:49:44,264 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 127 [2022-07-14 14:49:44,275 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 975 states to 970 states and 1510 transitions. [2022-07-14 14:49:44,276 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 306 [2022-07-14 14:49:44,276 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 306 [2022-07-14 14:49:44,276 INFO L73 IsDeterministic]: Start isDeterministic. Operand 970 states and 1510 transitions. [2022-07-14 14:49:44,276 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:49:44,276 INFO L369 hiAutomatonCegarLoop]: Abstraction has 970 states and 1510 transitions. [2022-07-14 14:49:44,277 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 970 states and 1510 transitions. [2022-07-14 14:49:44,297 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 970 to 813. [2022-07-14 14:49:44,299 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 813 states, 516 states have (on average 1.1375968992248062) internal successors, (587), 494 states have internal predecessors, (587), 206 states have call successors, (206), 113 states have call predecessors, (206), 91 states have return successors, (465), 205 states have call predecessors, (465), 206 states have call successors, (465) [2022-07-14 14:49:44,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 813 states to 813 states and 1258 transitions. [2022-07-14 14:49:44,303 INFO L392 hiAutomatonCegarLoop]: Abstraction has 813 states and 1258 transitions. [2022-07-14 14:49:44,303 INFO L374 stractBuchiCegarLoop]: Abstraction has 813 states and 1258 transitions. [2022-07-14 14:49:44,303 INFO L287 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2022-07-14 14:49:44,303 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 813 states and 1258 transitions. [2022-07-14 14:49:44,307 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 85 [2022-07-14 14:49:44,308 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:49:44,308 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:49:44,309 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1] [2022-07-14 14:49:44,309 INFO L180 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, 1] [2022-07-14 14:49:44,309 INFO L752 eck$LassoCheckResult]: Stem: 9538#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 9512#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 9513#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 9537#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 9557#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 9961#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 9539#L43 [2022-07-14 14:49:44,309 INFO L754 eck$LassoCheckResult]: Loop: 9539#L43 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; 9540#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 9653#factENTRY ~n := #in~n; 9660#L25 assume !(~n <= 0); 9593#L26 call #t~ret0 := fact(~n - 1);< 9610#factENTRY ~n := #in~n; 9627#L25 assume ~n <= 0;#res := 1; 9626#factFINAL assume true; 9614#factEXIT >#66#return; 9624#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 9651#factFINAL assume true; 9652#factEXIT >#68#return; 9646#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 9658#factENTRY ~n := #in~n; 9662#L25 assume ~n <= 0;#res := 1; 9655#factFINAL assume true; 9643#factEXIT >#70#return; 9649#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 9664#factENTRY ~n := #in~n; 9661#L25 assume !(~n <= 0); 9593#L26 call #t~ret0 := fact(~n - 1);< 9610#factENTRY ~n := #in~n; 9627#L25 assume ~n <= 0;#res := 1; 9626#factFINAL assume true; 9614#factEXIT >#66#return; 9624#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 9651#factFINAL assume true; 9652#factEXIT >#72#return; 9642#L30-3 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; 9641#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 9640#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 9636#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 9562#L43 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; 9569#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 9575#factENTRY ~n := #in~n; 9630#L25 assume !(~n <= 0); 9585#L26 call #t~ret0 := fact(~n - 1);< 9610#factENTRY ~n := #in~n; 9627#L25 assume !(~n <= 0); 9587#L26 call #t~ret0 := fact(~n - 1);< 9610#factENTRY ~n := #in~n; 9627#L25 assume !(~n <= 0); 9587#L26 call #t~ret0 := fact(~n - 1);< 9610#factENTRY ~n := #in~n; 9627#L25 assume ~n <= 0;#res := 1; 9626#factFINAL assume true; 9614#factEXIT >#66#return; 9613#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 9611#factFINAL assume true; 9607#factEXIT >#66#return; 9601#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 9605#factFINAL assume true; 9579#factEXIT >#66#return; 9578#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 9577#factFINAL assume true; 9576#factEXIT >#74#return; 9568#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 9575#factENTRY ~n := #in~n; 9630#L25 assume ~n <= 0;#res := 1; 9635#factFINAL assume true; 9634#factEXIT >#76#return; 9573#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 9633#factENTRY ~n := #in~n; 9632#L25 assume !(~n <= 0); 9581#L26 call #t~ret0 := fact(~n - 1);< 9604#factENTRY ~n := #in~n; 9612#L25 assume !(~n <= 0); 9587#L26 call #t~ret0 := fact(~n - 1);< 9610#factENTRY ~n := #in~n; 9627#L25 assume ~n <= 0;#res := 1; 9626#factFINAL assume true; 9614#factEXIT >#66#return; 9613#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 9611#factFINAL assume true; 9607#factEXIT >#66#return; 9608#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 9572#factFINAL assume true; 9574#factEXIT >#78#return; 9565#L30-8 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; 9564#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 9563#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 9561#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 9535#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 9527#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 9528#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 9539#L43 [2022-07-14 14:49:44,310 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:44,310 INFO L85 PathProgramCache]: Analyzing trace with hash 1126239088, now seen corresponding path program 3 times [2022-07-14 14:49:44,310 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:44,310 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [530267994] [2022-07-14 14:49:44,310 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:44,310 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:44,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:44,314 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:49:44,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:44,317 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:49:44,317 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:44,317 INFO L85 PathProgramCache]: Analyzing trace with hash -611295830, now seen corresponding path program 2 times [2022-07-14 14:49:44,317 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:44,317 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1629405372] [2022-07-14 14:49:44,318 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:44,318 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:44,323 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:49:44,323 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [648079740] [2022-07-14 14:49:44,323 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-14 14:49:44,324 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:49:44,324 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:44,325 INFO L229 MonitoredProcess]: Starting monitored process 46 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:49:44,326 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (46)] Waiting until timeout for monitored process [2022-07-14 14:49:44,372 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-14 14:49:44,373 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-14 14:49:44,374 INFO L263 TraceCheckSpWp]: Trace formula consists of 194 conjuncts, 12 conjunts are in the unsatisfiable core [2022-07-14 14:49:44,375 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:49:44,455 INFO L134 CoverageAnalysis]: Checked inductivity of 359 backedges. 189 proven. 18 refuted. 0 times theorem prover too weak. 152 trivial. 0 not checked. [2022-07-14 14:49:44,455 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:49:44,653 INFO L134 CoverageAnalysis]: Checked inductivity of 359 backedges. 9 proven. 76 refuted. 0 times theorem prover too weak. 274 trivial. 0 not checked. [2022-07-14 14:49:44,653 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:49:44,653 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1629405372] [2022-07-14 14:49:44,653 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:49:44,653 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [648079740] [2022-07-14 14:49:44,653 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [648079740] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:49:44,653 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:49:44,653 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-07-14 14:49:44,654 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1504998027] [2022-07-14 14:49:44,654 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:49:44,654 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-14 14:49:44,654 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:49:44,654 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-07-14 14:49:44,655 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=194, Unknown=0, NotChecked=0, Total=240 [2022-07-14 14:49:44,655 INFO L87 Difference]: Start difference. First operand 813 states and 1258 transitions. cyclomatic complexity: 456 Second operand has 16 states, 12 states have (on average 3.3333333333333335) internal successors, (40), 14 states have internal predecessors, (40), 9 states have call successors, (15), 2 states have call predecessors, (15), 4 states have return successors, (15), 7 states have call predecessors, (15), 9 states have call successors, (15) [2022-07-14 14:49:45,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:49:45,113 INFO L93 Difference]: Finished difference Result 1184 states and 1832 transitions. [2022-07-14 14:49:45,114 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-07-14 14:49:45,114 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1184 states and 1832 transitions. [2022-07-14 14:49:45,127 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 217 [2022-07-14 14:49:45,138 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1184 states to 1184 states and 1832 transitions. [2022-07-14 14:49:45,138 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 394 [2022-07-14 14:49:45,139 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 394 [2022-07-14 14:49:45,139 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1184 states and 1832 transitions. [2022-07-14 14:49:45,139 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:49:45,139 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1184 states and 1832 transitions. [2022-07-14 14:49:45,140 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1184 states and 1832 transitions. [2022-07-14 14:49:45,169 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1184 to 935. [2022-07-14 14:49:45,171 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 935 states, 618 states have (on average 1.1148867313915858) internal successors, (689), 584 states have internal predecessors, (689), 226 states have call successors, (226), 113 states have call predecessors, (226), 91 states have return successors, (520), 237 states have call predecessors, (520), 226 states have call successors, (520) [2022-07-14 14:49:45,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 935 states to 935 states and 1435 transitions. [2022-07-14 14:49:45,175 INFO L392 hiAutomatonCegarLoop]: Abstraction has 935 states and 1435 transitions. [2022-07-14 14:49:45,175 INFO L374 stractBuchiCegarLoop]: Abstraction has 935 states and 1435 transitions. [2022-07-14 14:49:45,175 INFO L287 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2022-07-14 14:49:45,175 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 935 states and 1435 transitions. [2022-07-14 14:49:45,180 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 131 [2022-07-14 14:49:45,180 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:49:45,180 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:49:45,183 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1] [2022-07-14 14:49:45,183 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [9, 9, 6, 6, 6, 6, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:49:45,183 INFO L752 eck$LassoCheckResult]: Stem: 12071#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 12045#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 12046#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 12070#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 12092#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 12579#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 12194#L43 [2022-07-14 14:49:45,183 INFO L754 eck$LassoCheckResult]: Loop: 12194#L43 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; 12115#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 12189#factENTRY ~n := #in~n; 12206#L25 assume !(~n <= 0); 12130#L26 call #t~ret0 := fact(~n - 1);< 12149#factENTRY ~n := #in~n; 12168#L25 assume !(~n <= 0); 12127#L26 call #t~ret0 := fact(~n - 1);< 12149#factENTRY ~n := #in~n; 12168#L25 assume ~n <= 0;#res := 1; 12165#factFINAL assume true; 12153#factEXIT >#66#return; 12152#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 12150#factFINAL assume true; 12146#factEXIT >#66#return; 12142#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 12203#factFINAL assume true; 12197#factEXIT >#68#return; 12179#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 12189#factENTRY ~n := #in~n; 12206#L25 assume !(~n <= 0); 12130#L26 call #t~ret0 := fact(~n - 1);< 12149#factENTRY ~n := #in~n; 12168#L25 assume !(~n <= 0); 12127#L26 call #t~ret0 := fact(~n - 1);< 12149#factENTRY ~n := #in~n; 12168#L25 assume ~n <= 0;#res := 1; 12165#factFINAL assume true; 12153#factEXIT >#66#return; 12152#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 12150#factFINAL assume true; 12146#factEXIT >#66#return; 12142#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 12203#factFINAL assume true; 12197#factEXIT >#70#return; 12180#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 12189#factENTRY ~n := #in~n; 12206#L25 assume !(~n <= 0); 12130#L26 call #t~ret0 := fact(~n - 1);< 12149#factENTRY ~n := #in~n; 12168#L25 assume !(~n <= 0); 12127#L26 call #t~ret0 := fact(~n - 1);< 12149#factENTRY ~n := #in~n; 12168#L25 assume ~n <= 0;#res := 1; 12165#factFINAL assume true; 12153#factEXIT >#66#return; 12152#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 12150#factFINAL assume true; 12146#factEXIT >#66#return; 12142#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 12203#factFINAL assume true; 12197#factEXIT >#72#return; 12199#L30-3 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; 12211#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 12209#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 12059#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 12194#L43 [2022-07-14 14:49:45,184 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:45,184 INFO L85 PathProgramCache]: Analyzing trace with hash 1126239088, now seen corresponding path program 4 times [2022-07-14 14:49:45,184 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:45,184 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1027276529] [2022-07-14 14:49:45,184 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:45,184 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:45,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:45,188 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:49:45,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:45,190 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:49:45,191 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:45,191 INFO L85 PathProgramCache]: Analyzing trace with hash 496390832, now seen corresponding path program 1 times [2022-07-14 14:49:45,191 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:45,191 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [108039397] [2022-07-14 14:49:45,191 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:45,191 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:45,196 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:49:45,196 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [642285237] [2022-07-14 14:49:45,196 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:45,197 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:49:45,197 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:45,198 INFO L229 MonitoredProcess]: Starting monitored process 47 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:49:45,231 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (47)] Waiting until timeout for monitored process [2022-07-14 14:49:45,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:49:45,250 INFO L263 TraceCheckSpWp]: Trace formula consists of 125 conjuncts, 15 conjunts are in the unsatisfiable core [2022-07-14 14:49:45,251 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:49:45,337 INFO L134 CoverageAnalysis]: Checked inductivity of 174 backedges. 15 proven. 103 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-07-14 14:49:45,337 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:49:45,722 INFO L134 CoverageAnalysis]: Checked inductivity of 174 backedges. 15 proven. 109 refuted. 0 times theorem prover too weak. 50 trivial. 0 not checked. [2022-07-14 14:49:45,722 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:49:45,722 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [108039397] [2022-07-14 14:49:45,722 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:49:45,723 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [642285237] [2022-07-14 14:49:45,723 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [642285237] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:49:45,723 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:49:45,723 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 14] total 17 [2022-07-14 14:49:45,723 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [938405328] [2022-07-14 14:49:45,723 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:49:45,723 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-14 14:49:45,723 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:49:45,724 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-07-14 14:49:45,724 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=221, Unknown=0, NotChecked=0, Total=272 [2022-07-14 14:49:45,724 INFO L87 Difference]: Start difference. First operand 935 states and 1435 transitions. cyclomatic complexity: 511 Second operand has 17 states, 14 states have (on average 2.5) internal successors, (35), 14 states have internal predecessors, (35), 10 states have call successors, (11), 1 states have call predecessors, (11), 6 states have return successors, (13), 9 states have call predecessors, (13), 10 states have call successors, (13) [2022-07-14 14:49:46,134 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:49:46,135 INFO L93 Difference]: Finished difference Result 1405 states and 2252 transitions. [2022-07-14 14:49:46,135 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-07-14 14:49:46,136 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1405 states and 2252 transitions. [2022-07-14 14:49:46,147 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 263 [2022-07-14 14:49:46,161 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1405 states to 1390 states and 2232 transitions. [2022-07-14 14:49:46,161 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 470 [2022-07-14 14:49:46,162 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 470 [2022-07-14 14:49:46,162 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1390 states and 2232 transitions. [2022-07-14 14:49:46,162 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:49:46,162 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1390 states and 2232 transitions. [2022-07-14 14:49:46,163 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1390 states and 2232 transitions. [2022-07-14 14:49:46,195 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1390 to 1003. [2022-07-14 14:49:46,196 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1003 states, 652 states have (on average 1.1088957055214723) internal successors, (723), 618 states have internal predecessors, (723), 243 states have call successors, (243), 113 states have call predecessors, (243), 108 states have return successors, (673), 271 states have call predecessors, (673), 243 states have call successors, (673) [2022-07-14 14:49:46,201 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1003 states to 1003 states and 1639 transitions. [2022-07-14 14:49:46,202 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1003 states and 1639 transitions. [2022-07-14 14:49:46,202 INFO L374 stractBuchiCegarLoop]: Abstraction has 1003 states and 1639 transitions. [2022-07-14 14:49:46,202 INFO L287 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2022-07-14 14:49:46,202 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1003 states and 1639 transitions. [2022-07-14 14:49:46,207 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 137 [2022-07-14 14:49:46,207 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:49:46,207 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:49:46,210 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1] [2022-07-14 14:49:46,210 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [9, 9, 6, 6, 6, 6, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:49:46,210 INFO L752 eck$LassoCheckResult]: Stem: 14783#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 14755#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 14756#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 14782#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 14807#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 15321#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 15042#L43 [2022-07-14 14:49:46,211 INFO L754 eck$LassoCheckResult]: Loop: 15042#L43 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; 14829#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 14911#factENTRY ~n := #in~n; 14925#L25 assume !(~n <= 0); 14842#L26 call #t~ret0 := fact(~n - 1);< 14886#factENTRY ~n := #in~n; 14891#L25 assume !(~n <= 0); 14838#L26 call #t~ret0 := fact(~n - 1);< 14886#factENTRY ~n := #in~n; 14891#L25 assume ~n <= 0;#res := 1; 14888#factFINAL assume true; 14866#factEXIT >#66#return; 14872#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 14889#factFINAL assume true; 14878#factEXIT >#66#return; 14883#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 14918#factFINAL assume true; 14915#factEXIT >#68#return; 14902#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 14911#factENTRY ~n := #in~n; 14925#L25 assume !(~n <= 0); 14842#L26 call #t~ret0 := fact(~n - 1);< 14886#factENTRY ~n := #in~n; 14891#L25 assume ~n <= 0;#res := 1; 14888#factFINAL assume true; 14866#factEXIT >#66#return; 14873#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 14922#factFINAL assume true; 14921#factEXIT >#70#return; 14904#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 14911#factENTRY ~n := #in~n; 14925#L25 assume !(~n <= 0); 14842#L26 call #t~ret0 := fact(~n - 1);< 14886#factENTRY ~n := #in~n; 14891#L25 assume !(~n <= 0); 14838#L26 call #t~ret0 := fact(~n - 1);< 14886#factENTRY ~n := #in~n; 14891#L25 assume !(~n <= 0); 14838#L26 call #t~ret0 := fact(~n - 1);< 14886#factENTRY ~n := #in~n; 14891#L25 assume ~n <= 0;#res := 1; 14888#factFINAL assume true; 14866#factEXIT >#66#return; 14872#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 14889#factFINAL assume true; 14878#factEXIT >#66#return; 14852#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 14859#factFINAL assume true; 14832#factEXIT >#66#return; 14854#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 14920#factFINAL assume true; 14928#factEXIT >#72#return; 14917#L30-3 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; 15055#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 14930#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 14771#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 15042#L43 [2022-07-14 14:49:46,211 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:46,211 INFO L85 PathProgramCache]: Analyzing trace with hash 1126239088, now seen corresponding path program 5 times [2022-07-14 14:49:46,211 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:46,212 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1757486541] [2022-07-14 14:49:46,212 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:46,212 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:46,224 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:46,225 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:49:46,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:46,228 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:49:46,229 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:46,229 INFO L85 PathProgramCache]: Analyzing trace with hash 1198469296, now seen corresponding path program 2 times [2022-07-14 14:49:46,229 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:46,229 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [190567763] [2022-07-14 14:49:46,229 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:46,229 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:46,237 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:49:46,237 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [791264728] [2022-07-14 14:49:46,238 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-14 14:49:46,238 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:49:46,238 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:46,243 INFO L229 MonitoredProcess]: Starting monitored process 48 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:49:46,267 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (48)] Waiting until timeout for monitored process [2022-07-14 14:49:46,286 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-14 14:49:46,286 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-14 14:49:46,287 INFO L263 TraceCheckSpWp]: Trace formula consists of 125 conjuncts, 15 conjunts are in the unsatisfiable core [2022-07-14 14:49:46,289 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:49:46,393 INFO L134 CoverageAnalysis]: Checked inductivity of 174 backedges. 24 proven. 94 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-07-14 14:49:46,394 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:49:46,759 INFO L134 CoverageAnalysis]: Checked inductivity of 174 backedges. 24 proven. 100 refuted. 0 times theorem prover too weak. 50 trivial. 0 not checked. [2022-07-14 14:49:46,759 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:49:46,759 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [190567763] [2022-07-14 14:49:46,759 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:49:46,759 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [791264728] [2022-07-14 14:49:46,759 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [791264728] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:49:46,759 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:49:46,759 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 14] total 17 [2022-07-14 14:49:46,759 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [341534678] [2022-07-14 14:49:46,760 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:49:46,760 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-14 14:49:46,760 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:49:46,760 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-07-14 14:49:46,760 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=221, Unknown=0, NotChecked=0, Total=272 [2022-07-14 14:49:46,761 INFO L87 Difference]: Start difference. First operand 1003 states and 1639 transitions. cyclomatic complexity: 647 Second operand has 17 states, 14 states have (on average 2.5) internal successors, (35), 14 states have internal predecessors, (35), 10 states have call successors, (11), 1 states have call predecessors, (11), 6 states have return successors, (13), 9 states have call predecessors, (13), 10 states have call successors, (13) [2022-07-14 14:49:47,187 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:49:47,187 INFO L93 Difference]: Finished difference Result 1667 states and 2555 transitions. [2022-07-14 14:49:47,188 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-07-14 14:49:47,188 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1667 states and 2555 transitions. [2022-07-14 14:49:47,202 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 326 [2022-07-14 14:49:47,217 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1667 states to 1667 states and 2555 transitions. [2022-07-14 14:49:47,218 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 552 [2022-07-14 14:49:47,218 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 552 [2022-07-14 14:49:47,218 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1667 states and 2555 transitions. [2022-07-14 14:49:47,219 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:49:47,219 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1667 states and 2555 transitions. [2022-07-14 14:49:47,220 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1667 states and 2555 transitions. [2022-07-14 14:49:47,250 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1667 to 1035. [2022-07-14 14:49:47,252 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1035 states, 662 states have (on average 1.107250755287009) internal successors, (733), 628 states have internal predecessors, (733), 265 states have call successors, (265), 118 states have call predecessors, (265), 108 states have return successors, (707), 288 states have call predecessors, (707), 265 states have call successors, (707) [2022-07-14 14:49:47,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1035 states to 1035 states and 1705 transitions. [2022-07-14 14:49:47,257 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1035 states and 1705 transitions. [2022-07-14 14:49:47,258 INFO L374 stractBuchiCegarLoop]: Abstraction has 1035 states and 1705 transitions. [2022-07-14 14:49:47,258 INFO L287 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2022-07-14 14:49:47,258 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1035 states and 1705 transitions. [2022-07-14 14:49:47,263 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 143 [2022-07-14 14:49:47,263 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:49:47,263 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:49:47,264 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1] [2022-07-14 14:49:47,264 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [7, 7, 4, 4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:49:47,264 INFO L752 eck$LassoCheckResult]: Stem: 17832#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 17803#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 17804#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 17831#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 17858#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 18473#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 17965#L43 [2022-07-14 14:49:47,265 INFO L754 eck$LassoCheckResult]: Loop: 17965#L43 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; 17881#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 17963#factENTRY ~n := #in~n; 17977#L25 assume !(~n <= 0); 17885#L26 call #t~ret0 := fact(~n - 1);< 17935#factENTRY ~n := #in~n; 17939#L25 assume !(~n <= 0); 17897#L26 call #t~ret0 := fact(~n - 1);< 17935#factENTRY ~n := #in~n; 17939#L25 assume ~n <= 0;#res := 1; 17936#factFINAL assume true; 17913#factEXIT >#66#return; 17925#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 17937#factFINAL assume true; 17927#factEXIT >#66#return; 17928#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 17974#factFINAL assume true; 17966#factEXIT >#68#return; 17956#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 17963#factENTRY ~n := #in~n; 17977#L25 assume !(~n <= 0); 17885#L26 call #t~ret0 := fact(~n - 1);< 17935#factENTRY ~n := #in~n; 17939#L25 assume ~n <= 0;#res := 1; 17936#factFINAL assume true; 17913#factEXIT >#66#return; 17918#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 17968#factFINAL assume true; 17969#factEXIT >#70#return; 17954#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 17970#factENTRY ~n := #in~n; 17979#L25 assume !(~n <= 0); 17914#L26 call #t~ret0 := fact(~n - 1);< 17811#factENTRY ~n := #in~n; 17940#L25 assume ~n <= 0;#res := 1; 17936#factFINAL assume true; 17913#factEXIT >#66#return; 17918#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 17968#factFINAL assume true; 17969#factEXIT >#72#return; 17823#L30-3 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; 17824#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 17826#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 17820#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 17965#L43 [2022-07-14 14:49:47,265 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:47,265 INFO L85 PathProgramCache]: Analyzing trace with hash 1126239088, now seen corresponding path program 6 times [2022-07-14 14:49:47,266 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:47,266 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [888697074] [2022-07-14 14:49:47,266 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:47,266 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:47,270 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:47,270 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:49:47,272 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:47,273 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:49:47,274 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:47,274 INFO L85 PathProgramCache]: Analyzing trace with hash 157696368, now seen corresponding path program 3 times [2022-07-14 14:49:47,274 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:47,274 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2138228093] [2022-07-14 14:49:47,274 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:47,275 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:47,284 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:49:47,284 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1625797448] [2022-07-14 14:49:47,284 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-14 14:49:47,285 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:49:47,285 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:47,287 INFO L229 MonitoredProcess]: Starting monitored process 49 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:49:47,312 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (49)] Waiting until timeout for monitored process [2022-07-14 14:49:47,332 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 7 check-sat command(s) [2022-07-14 14:49:47,333 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-14 14:49:47,333 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:49:47,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:47,355 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:49:47,355 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:47,355 INFO L85 PathProgramCache]: Analyzing trace with hash -753458593, now seen corresponding path program 1 times [2022-07-14 14:49:47,355 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:47,356 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1562540781] [2022-07-14 14:49:47,356 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:47,356 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:47,361 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:49:47,361 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1395360714] [2022-07-14 14:49:47,361 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:47,361 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:49:47,362 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:47,367 INFO L229 MonitoredProcess]: Starting monitored process 50 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:49:47,381 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (50)] Waiting until timeout for monitored process [2022-07-14 14:49:47,427 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:49:47,428 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 6 conjunts are in the unsatisfiable core [2022-07-14 14:49:47,429 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:49:47,454 INFO L134 CoverageAnalysis]: Checked inductivity of 97 backedges. 62 proven. 3 refuted. 0 times theorem prover too weak. 32 trivial. 0 not checked. [2022-07-14 14:49:47,454 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:49:47,528 INFO L134 CoverageAnalysis]: Checked inductivity of 97 backedges. 6 proven. 19 refuted. 0 times theorem prover too weak. 72 trivial. 0 not checked. [2022-07-14 14:49:47,529 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:49:47,529 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1562540781] [2022-07-14 14:49:47,529 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:49:47,529 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1395360714] [2022-07-14 14:49:47,530 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1395360714] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:49:47,530 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:49:47,530 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-07-14 14:49:47,530 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1895628272] [2022-07-14 14:49:47,530 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:49:48,267 INFO L210 LassoAnalysis]: Preferences: [2022-07-14 14:49:48,268 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-14 14:49:48,268 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-14 14:49:48,268 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-14 14:49:48,268 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-14 14:49:48,268 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:48,268 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-14 14:49:48,268 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-14 14:49:48,268 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration11_Loop [2022-07-14 14:49:48,268 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-14 14:49:48,268 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-14 14:49:48,269 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:48,271 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:48,273 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:48,326 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:48,327 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:48,329 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:48,554 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-14 14:49:48,555 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-14 14:49:48,555 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:48,555 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:48,560 INFO L229 MonitoredProcess]: Starting monitored process 51 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:48,561 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (51)] Waiting until timeout for monitored process [2022-07-14 14:49:48,562 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:49:48,562 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:48,568 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-14 14:49:48,568 INFO L440 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: [] [2022-07-14 14:49:48,583 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (51)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:48,583 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:48,583 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:48,584 INFO L229 MonitoredProcess]: Starting monitored process 52 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:48,585 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (52)] Waiting until timeout for monitored process [2022-07-14 14:49:48,587 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:49:48,587 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:48,593 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-14 14:49:48,593 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_#t~post8#1=0} Honda state: {ULTIMATE.start_main_#t~post8#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2022-07-14 14:49:48,611 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (52)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:48,611 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:48,611 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:48,612 INFO L229 MonitoredProcess]: Starting monitored process 53 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:48,618 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (53)] Waiting until timeout for monitored process [2022-07-14 14:49:48,618 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:49:48,619 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:48,640 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (53)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:48,641 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:48,641 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:48,642 INFO L229 MonitoredProcess]: Starting monitored process 54 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:48,643 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (54)] Waiting until timeout for monitored process [2022-07-14 14:49:48,644 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-14 14:49:48,644 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:48,667 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-14 14:49:48,689 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (54)] Ended with exit code 0 [2022-07-14 14:49:48,690 INFO L210 LassoAnalysis]: Preferences: [2022-07-14 14:49:48,690 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-14 14:49:48,690 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-14 14:49:48,690 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-14 14:49:48,690 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-14 14:49:48,690 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:48,690 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-14 14:49:48,690 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-14 14:49:48,690 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration11_Loop [2022-07-14 14:49:48,690 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-14 14:49:48,691 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-14 14:49:48,691 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:48,694 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:48,695 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:48,697 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:48,752 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:48,754 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:48,956 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-14 14:49:48,956 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-14 14:49:48,956 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:48,956 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:48,957 INFO L229 MonitoredProcess]: Starting monitored process 55 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:48,958 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (55)] Waiting until timeout for monitored process [2022-07-14 14:49:48,959 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 [2022-07-14 14:49:48,964 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:49:48,964 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:49:48,964 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:49:48,964 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:49:48,964 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:49:48,965 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:49:48,965 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:49:48,966 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-14 14:49:48,980 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (55)] Ended with exit code 0 [2022-07-14 14:49:48,980 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:48,981 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:48,982 INFO L229 MonitoredProcess]: Starting monitored process 56 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:48,982 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (56)] Waiting until timeout for monitored process [2022-07-14 14:49:48,983 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 [2022-07-14 14:49:48,990 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:49:48,990 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:49:48,990 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:49:48,990 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:49:48,990 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:49:48,991 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:49:48,991 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:49:48,992 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-14 14:49:49,006 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (56)] Ended with exit code 0 [2022-07-14 14:49:49,007 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:49,007 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:49,008 INFO L229 MonitoredProcess]: Starting monitored process 57 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:49,017 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 [2022-07-14 14:49:49,018 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (57)] Waiting until timeout for monitored process [2022-07-14 14:49:49,022 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:49:49,023 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:49:49,023 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:49:49,023 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:49:49,023 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:49:49,023 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:49:49,023 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:49:49,024 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-14 14:49:49,038 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (57)] Ended with exit code 0 [2022-07-14 14:49:49,039 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:49,039 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:49,040 INFO L229 MonitoredProcess]: Starting monitored process 58 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:49,040 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (58)] Waiting until timeout for monitored process [2022-07-14 14:49:49,042 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 [2022-07-14 14:49:49,047 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:49:49,047 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:49:49,047 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:49:49,047 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:49:49,047 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:49:49,049 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:49:49,049 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:49:49,054 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-14 14:49:49,056 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2022-07-14 14:49:49,056 INFO L444 ModelExtractionUtils]: 7 out of 10 variables were initially zero. Simplification set additionally 0 variables to zero. [2022-07-14 14:49:49,056 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:49,056 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:49,058 INFO L229 MonitoredProcess]: Starting monitored process 59 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:49,059 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (59)] Waiting until timeout for monitored process [2022-07-14 14:49:49,059 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-14 14:49:49,059 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-14 14:49:49,059 INFO L513 LassoAnalysis]: Proved termination. [2022-07-14 14:49:49,060 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~k~0#1) = -2*ULTIMATE.start_main_~k~0#1 + 3 Supporting invariants [] [2022-07-14 14:49:49,086 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (58)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:49,087 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-14 14:49:49,095 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:49,098 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:49:49,098 INFO L263 TraceCheckSpWp]: Trace formula consists of 16 conjuncts, 2 conjunts are in the unsatisfiable core [2022-07-14 14:49:49,099 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:49:49,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:49:49,140 INFO L263 TraceCheckSpWp]: Trace formula consists of 297 conjuncts, 24 conjunts are in the unsatisfiable core [2022-07-14 14:49:49,141 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:49:49,313 INFO L134 CoverageAnalysis]: Checked inductivity of 96 backedges. 22 proven. 16 refuted. 0 times theorem prover too weak. 58 trivial. 0 not checked. [2022-07-14 14:49:49,313 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 8 loop predicates [2022-07-14 14:49:49,313 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1035 states and 1705 transitions. cyclomatic complexity: 681 Second operand has 9 states, 8 states have (on average 2.75) internal successors, (22), 9 states have internal predecessors, (22), 4 states have call successors, (5), 1 states have call predecessors, (5), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-07-14 14:49:49,579 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1035 states and 1705 transitions. cyclomatic complexity: 681. Second operand has 9 states, 8 states have (on average 2.75) internal successors, (22), 9 states have internal predecessors, (22), 4 states have call successors, (5), 1 states have call predecessors, (5), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Result 3770 states and 5938 transitions. Complement of second has 41 states. [2022-07-14 14:49:49,580 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 [2022-07-14 14:49:49,581 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.75) internal successors, (22), 9 states have internal predecessors, (22), 4 states have call successors, (5), 1 states have call predecessors, (5), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-07-14 14:49:49,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 61 transitions. [2022-07-14 14:49:49,582 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 61 transitions. Stem has 6 letters. Loop has 44 letters. [2022-07-14 14:49:49,583 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:49:49,583 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 61 transitions. Stem has 50 letters. Loop has 44 letters. [2022-07-14 14:49:49,583 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:49:49,583 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 9 states and 61 transitions. Stem has 6 letters. Loop has 88 letters. [2022-07-14 14:49:49,584 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:49:49,584 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 3770 states and 5938 transitions. [2022-07-14 14:49:49,619 INFO L131 ngComponentsAnalysis]: Automaton has 10 accepting balls. 241 [2022-07-14 14:49:49,653 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 3770 states to 3299 states and 5167 transitions. [2022-07-14 14:49:49,653 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 673 [2022-07-14 14:49:49,654 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 686 [2022-07-14 14:49:49,654 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3299 states and 5167 transitions. [2022-07-14 14:49:49,654 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:49:49,655 INFO L369 hiAutomatonCegarLoop]: Abstraction has 3299 states and 5167 transitions. [2022-07-14 14:49:49,656 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 3299 states and 5167 transitions. [2022-07-14 14:49:49,786 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 3299 to 3077. [2022-07-14 14:49:49,790 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3077 states, 1988 states have (on average 1.1161971830985915) internal successors, (2219), 1879 states have internal predecessors, (2219), 737 states have call successors, (737), 348 states have call predecessors, (737), 352 states have return successors, (1875), 849 states have call predecessors, (1875), 733 states have call successors, (1875) [2022-07-14 14:49:49,799 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (59)] Ended with exit code 0 [2022-07-14 14:49:49,809 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3077 states to 3077 states and 4831 transitions. [2022-07-14 14:49:49,809 INFO L392 hiAutomatonCegarLoop]: Abstraction has 3077 states and 4831 transitions. [2022-07-14 14:49:49,809 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:49:49,810 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-07-14 14:49:49,810 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-07-14 14:49:49,810 INFO L87 Difference]: Start difference. First operand 3077 states and 4831 transitions. Second operand has 7 states, 6 states have (on average 4.5) internal successors, (27), 7 states have internal predecessors, (27), 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) [2022-07-14 14:49:49,971 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:49:49,971 INFO L93 Difference]: Finished difference Result 1899 states and 2836 transitions. [2022-07-14 14:49:49,972 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-07-14 14:49:49,973 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1899 states and 2836 transitions. [2022-07-14 14:49:49,987 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 167 [2022-07-14 14:49:50,002 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1899 states to 1676 states and 2585 transitions. [2022-07-14 14:49:50,003 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 456 [2022-07-14 14:49:50,003 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 456 [2022-07-14 14:49:50,003 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1676 states and 2585 transitions. [2022-07-14 14:49:50,003 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:49:50,004 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1676 states and 2585 transitions. [2022-07-14 14:49:50,004 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1676 states and 2585 transitions. [2022-07-14 14:49:50,041 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1676 to 1636. [2022-07-14 14:49:50,043 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1636 states, 1060 states have (on average 1.109433962264151) internal successors, (1176), 1016 states have internal predecessors, (1176), 385 states have call successors, (385), 200 states have call predecessors, (385), 191 states have return successors, (975), 419 states have call predecessors, (975), 383 states have call successors, (975) [2022-07-14 14:49:50,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1636 states to 1636 states and 2536 transitions. [2022-07-14 14:49:50,051 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1636 states and 2536 transitions. [2022-07-14 14:49:50,051 INFO L374 stractBuchiCegarLoop]: Abstraction has 1636 states and 2536 transitions. [2022-07-14 14:49:50,051 INFO L287 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2022-07-14 14:49:50,051 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1636 states and 2536 transitions. [2022-07-14 14:49:50,057 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 167 [2022-07-14 14:49:50,058 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:49:50,058 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:49:50,058 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:49:50,058 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-14 14:49:50,059 INFO L752 eck$LassoCheckResult]: Stem: 28123#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 28093#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 28094#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 28122#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 28107#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 28108#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 28484#L43 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; 28079#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 28080#factENTRY ~n := #in~n; 28486#L25 assume !(~n <= 0); 28060#L26 call #t~ret0 := fact(~n - 1);< 28099#factENTRY [2022-07-14 14:49:50,059 INFO L754 eck$LassoCheckResult]: Loop: 28099#factENTRY ~n := #in~n; 29144#L25 assume !(~n <= 0); 28061#L26 call #t~ret0 := fact(~n - 1);< 28099#factENTRY [2022-07-14 14:49:50,059 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:50,059 INFO L85 PathProgramCache]: Analyzing trace with hash 271623377, now seen corresponding path program 1 times [2022-07-14 14:49:50,059 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:50,059 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [911612184] [2022-07-14 14:49:50,060 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:50,060 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:50,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:49:50,139 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-14 14:49:50,139 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:49:50,139 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [911612184] [2022-07-14 14:49:50,140 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [911612184] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-14 14:49:50,140 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-14 14:49:50,140 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-07-14 14:49:50,140 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [496731540] [2022-07-14 14:49:50,140 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-14 14:49:50,140 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-14 14:49:50,141 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:50,141 INFO L85 PathProgramCache]: Analyzing trace with hash 29980, now seen corresponding path program 1 times [2022-07-14 14:49:50,141 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:50,141 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [773217566] [2022-07-14 14:49:50,141 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:50,141 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:50,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:50,144 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:49:50,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:50,147 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:49:50,169 INFO L210 LassoAnalysis]: Preferences: [2022-07-14 14:49:50,170 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-14 14:49:50,170 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-14 14:49:50,170 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-14 14:49:50,170 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-14 14:49:50,170 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:50,170 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-14 14:49:50,170 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-14 14:49:50,170 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration12_Loop [2022-07-14 14:49:50,171 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-14 14:49:50,171 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-14 14:49:50,171 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:50,173 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:50,174 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:50,175 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:50,194 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-14 14:49:50,194 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-14 14:49:50,194 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:50,194 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:50,195 INFO L229 MonitoredProcess]: Starting monitored process 60 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:50,196 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (60)] Waiting until timeout for monitored process [2022-07-14 14:49:50,197 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:49:50,197 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:50,219 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-14 14:49:50,219 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {fact_~n=0} Honda state: {fact_~n=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2022-07-14 14:49:50,237 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (60)] Ended with exit code 0 [2022-07-14 14:49:50,238 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:50,238 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:50,239 INFO L229 MonitoredProcess]: Starting monitored process 61 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:50,240 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (61)] Waiting until timeout for monitored process [2022-07-14 14:49:50,241 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:49:50,241 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:50,247 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-14 14:49:50,247 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {fact_#t~ret0=0} Honda state: {fact_#t~ret0=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2022-07-14 14:49:50,262 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (61)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:50,262 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:50,262 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:50,263 INFO L229 MonitoredProcess]: Starting monitored process 62 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:50,264 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (62)] Waiting until timeout for monitored process [2022-07-14 14:49:50,265 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:49:50,265 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:50,271 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-14 14:49:50,271 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {fact_#res=0} Honda state: {fact_#res=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2022-07-14 14:49:50,286 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (62)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:50,287 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:50,287 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:50,288 INFO L229 MonitoredProcess]: Starting monitored process 63 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:50,289 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (63)] Waiting until timeout for monitored process [2022-07-14 14:49:50,290 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:49:50,290 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:50,310 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (63)] Ended with exit code 0 [2022-07-14 14:49:50,311 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:50,311 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:50,312 INFO L229 MonitoredProcess]: Starting monitored process 64 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:50,313 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (64)] Waiting until timeout for monitored process [2022-07-14 14:49:50,313 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-14 14:49:50,314 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:49:50,359 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-14 14:49:50,362 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (64)] Ended with exit code 0 [2022-07-14 14:49:50,362 INFO L210 LassoAnalysis]: Preferences: [2022-07-14 14:49:50,362 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-14 14:49:50,362 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-14 14:49:50,362 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-14 14:49:50,362 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-14 14:49:50,363 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:50,363 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-14 14:49:50,363 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-14 14:49:50,363 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration12_Loop [2022-07-14 14:49:50,363 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-14 14:49:50,363 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-14 14:49:50,363 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:50,365 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:50,367 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:50,368 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:49:50,386 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-14 14:49:50,386 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-14 14:49:50,386 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:50,386 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:50,387 INFO L229 MonitoredProcess]: Starting monitored process 65 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:50,388 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (65)] Waiting until timeout for monitored process [2022-07-14 14:49:50,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 [2022-07-14 14:49:50,394 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:49:50,394 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:49:50,394 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:49:50,394 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:49:50,394 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:49:50,394 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:49:50,394 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:49:50,395 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-14 14:49:50,410 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (65)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:50,410 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:50,410 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:50,411 INFO L229 MonitoredProcess]: Starting monitored process 66 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:50,412 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (66)] Waiting until timeout for monitored process [2022-07-14 14:49:50,413 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 [2022-07-14 14:49:50,418 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:49:50,418 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:49:50,418 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:49:50,418 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:49:50,418 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:49:50,418 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:49:50,419 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:49:50,419 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-14 14:49:50,434 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (66)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:50,434 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:50,435 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:50,436 INFO L229 MonitoredProcess]: Starting monitored process 67 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:50,436 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (67)] Waiting until timeout for monitored process [2022-07-14 14:49:50,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 [2022-07-14 14:49:50,442 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:49:50,442 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:49:50,442 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:49:50,442 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:49:50,442 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:49:50,443 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:49:50,443 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:49:50,443 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-14 14:49:50,458 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (67)] Ended with exit code 0 [2022-07-14 14:49:50,458 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:50,459 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:50,460 INFO L229 MonitoredProcess]: Starting monitored process 68 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:50,460 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (68)] Waiting until timeout for monitored process [2022-07-14 14:49:50,461 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 [2022-07-14 14:49:50,468 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:49:50,468 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:49:50,468 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:49:50,468 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:49:50,468 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:49:50,469 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:49:50,469 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:49:50,476 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-14 14:49:50,478 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2022-07-14 14:49:50,478 INFO L444 ModelExtractionUtils]: 0 out of 3 variables were initially zero. Simplification set additionally 1 variables to zero. [2022-07-14 14:49:50,478 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:49:50,478 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:50,479 INFO L229 MonitoredProcess]: Starting monitored process 69 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:49:50,481 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (69)] Waiting until timeout for monitored process [2022-07-14 14:49:50,482 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-14 14:49:50,482 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-14 14:49:50,482 INFO L513 LassoAnalysis]: Proved termination. [2022-07-14 14:49:50,482 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(fact_#in~n) = 1*fact_#in~n Supporting invariants [] [2022-07-14 14:49:50,497 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (68)] Ended with exit code 0 [2022-07-14 14:49:50,497 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-14 14:49:50,507 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:50,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:49:50,522 INFO L263 TraceCheckSpWp]: Trace formula consists of 92 conjuncts, 6 conjunts are in the unsatisfiable core [2022-07-14 14:49:50,523 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:49:50,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:49:50,557 INFO L263 TraceCheckSpWp]: Trace formula consists of 37 conjuncts, 7 conjunts are in the unsatisfiable core [2022-07-14 14:49:50,557 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:49:50,577 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-14 14:49:50,578 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 3 loop predicates [2022-07-14 14:49:50,578 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1636 states and 2536 transitions. cyclomatic complexity: 927 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) [2022-07-14 14:49:50,633 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1636 states and 2536 transitions. cyclomatic complexity: 927. 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 1900 states and 2935 transitions. Complement of second has 13 states. [2022-07-14 14:49:50,634 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 4 states 1 stem states 2 non-accepting loop states 1 accepting loop states [2022-07-14 14:49:50,635 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) [2022-07-14 14:49:50,639 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 32 transitions. [2022-07-14 14:49:50,639 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 32 transitions. Stem has 11 letters. Loop has 3 letters. [2022-07-14 14:49:50,640 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:49:50,640 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 32 transitions. Stem has 14 letters. Loop has 3 letters. [2022-07-14 14:49:50,640 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:49:50,640 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 32 transitions. Stem has 11 letters. Loop has 6 letters. [2022-07-14 14:49:50,640 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:49:50,640 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1900 states and 2935 transitions. [2022-07-14 14:49:50,654 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 167 [2022-07-14 14:49:50,672 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1900 states to 1837 states and 2859 transitions. [2022-07-14 14:49:50,672 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 458 [2022-07-14 14:49:50,673 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 460 [2022-07-14 14:49:50,673 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1837 states and 2859 transitions. [2022-07-14 14:49:50,673 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:49:50,673 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1837 states and 2859 transitions. [2022-07-14 14:49:50,674 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1837 states and 2859 transitions. [2022-07-14 14:49:50,712 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1837 to 1824. [2022-07-14 14:49:50,715 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1824 states, 1179 states have (on average 1.1195928753180662) internal successors, (1320), 1150 states have internal predecessors, (1320), 430 states have call successors, (430), 237 states have call predecessors, (430), 215 states have return successors, (1081), 436 states have call predecessors, (1081), 428 states have call successors, (1081) [2022-07-14 14:49:50,723 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1824 states to 1824 states and 2831 transitions. [2022-07-14 14:49:50,723 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1824 states and 2831 transitions. [2022-07-14 14:49:50,723 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:49:50,724 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-07-14 14:49:50,724 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-07-14 14:49:50,724 INFO L87 Difference]: Start difference. First operand 1824 states and 2831 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) [2022-07-14 14:49:50,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:49:50,818 INFO L93 Difference]: Finished difference Result 1855 states and 2859 transitions. [2022-07-14 14:49:50,818 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-07-14 14:49:50,819 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1855 states and 2859 transitions. [2022-07-14 14:49:50,832 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 167 [2022-07-14 14:49:50,850 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1855 states to 1855 states and 2859 transitions. [2022-07-14 14:49:50,850 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (69)] Forceful destruction successful, exit code 0 [2022-07-14 14:49:50,854 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 464 [2022-07-14 14:49:50,855 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 464 [2022-07-14 14:49:50,855 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1855 states and 2859 transitions. [2022-07-14 14:49:50,855 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:49:50,855 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1855 states and 2859 transitions. [2022-07-14 14:49:50,856 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1855 states and 2859 transitions. [2022-07-14 14:49:50,895 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1855 to 1827. [2022-07-14 14:49:50,898 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1827 states, 1179 states have (on average 1.1187446988973706) internal successors, (1319), 1156 states have internal predecessors, (1319), 427 states have call successors, (427), 234 states have call predecessors, (427), 221 states have return successors, (1078), 436 states have call predecessors, (1078), 425 states have call successors, (1078) [2022-07-14 14:49:50,906 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1827 states to 1827 states and 2824 transitions. [2022-07-14 14:49:50,906 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1827 states and 2824 transitions. [2022-07-14 14:49:50,906 INFO L374 stractBuchiCegarLoop]: Abstraction has 1827 states and 2824 transitions. [2022-07-14 14:49:50,906 INFO L287 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2022-07-14 14:49:50,907 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1827 states and 2824 transitions. [2022-07-14 14:49:50,913 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 167 [2022-07-14 14:49:50,914 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:49:50,914 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:49:50,914 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [4, 4, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:49:50,914 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [9, 9, 6, 6, 6, 6, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:49:50,915 INFO L752 eck$LassoCheckResult]: Stem: 35418#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 35387#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 35388#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 35417#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 35402#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 35403#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 35799#L43 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; 35814#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 35815#factENTRY ~n := #in~n; 35820#L25 assume ~n <= 0;#res := 1; 35818#factFINAL assume true; 35813#factEXIT >#68#return; 35808#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 35809#factENTRY ~n := #in~n; 35816#L25 assume !(~n <= 0); 35817#L26 call #t~ret0 := fact(~n - 1);< 35946#factENTRY ~n := #in~n; 35963#L25 assume ~n <= 0;#res := 1; 35944#factFINAL assume true; 35865#factEXIT >#66#return; 35870#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 35969#factFINAL assume true; 35967#factEXIT >#70#return; 35965#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 35966#factENTRY ~n := #in~n; 35968#L25 assume ~n <= 0;#res := 1; 35897#factFINAL assume true; 35964#factEXIT >#72#return; 35943#L30-3 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; 35937#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 35933#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 35934#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 36022#L43 [2022-07-14 14:49:50,915 INFO L754 eck$LassoCheckResult]: Loop: 36022#L43 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; 35351#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 35352#factENTRY ~n := #in~n; 37173#L25 assume !(~n <= 0); 37143#L26 call #t~ret0 := fact(~n - 1);< 35394#factENTRY ~n := #in~n; 37170#L25 assume !(~n <= 0); 37144#L26 call #t~ret0 := fact(~n - 1);< 35394#factENTRY ~n := #in~n; 37170#L25 assume !(~n <= 0); 37144#L26 call #t~ret0 := fact(~n - 1);< 35394#factENTRY ~n := #in~n; 37170#L25 assume ~n <= 0;#res := 1; 37159#factFINAL assume true; 37155#factEXIT >#66#return; 37156#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 37164#factFINAL assume true; 37140#factEXIT >#66#return; 37147#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 37165#factFINAL assume true; 37163#factEXIT >#66#return; 35422#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 35424#factFINAL assume true; 37149#factEXIT >#74#return; 35356#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 35352#factENTRY ~n := #in~n; 37173#L25 assume ~n <= 0;#res := 1; 37172#factFINAL assume true; 35355#factEXIT >#76#return; 35358#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 35442#factENTRY ~n := #in~n; 37168#L25 assume !(~n <= 0); 37145#L26 call #t~ret0 := fact(~n - 1);< 37148#factENTRY ~n := #in~n; 37161#L25 assume !(~n <= 0); 37144#L26 call #t~ret0 := fact(~n - 1);< 35394#factENTRY ~n := #in~n; 37170#L25 assume !(~n <= 0); 37144#L26 call #t~ret0 := fact(~n - 1);< 35394#factENTRY ~n := #in~n; 37170#L25 assume ~n <= 0;#res := 1; 37159#factFINAL assume true; 37155#factEXIT >#66#return; 37156#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 37164#factFINAL assume true; 37140#factEXIT >#66#return; 37147#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 37165#factFINAL assume true; 37163#factEXIT >#66#return; 35422#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 35424#factFINAL assume true; 37149#factEXIT >#78#return; 35389#L30-8 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; 35390#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 35399#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 35441#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 36022#L43 [2022-07-14 14:49:50,915 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:50,915 INFO L85 PathProgramCache]: Analyzing trace with hash -1890935849, now seen corresponding path program 2 times [2022-07-14 14:49:50,916 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:50,916 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2121856708] [2022-07-14 14:49:50,916 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:50,916 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:50,929 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:49:50,929 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [496186378] [2022-07-14 14:49:50,929 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-14 14:49:50,930 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:49:50,930 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:50,932 INFO L229 MonitoredProcess]: Starting monitored process 70 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:49:50,958 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (70)] Waiting until timeout for monitored process [2022-07-14 14:49:50,976 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-14 14:49:50,976 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-14 14:49:50,977 INFO L263 TraceCheckSpWp]: Trace formula consists of 79 conjuncts, 6 conjunts are in the unsatisfiable core [2022-07-14 14:49:50,978 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:49:51,002 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 18 proven. 1 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-07-14 14:49:51,002 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:49:51,048 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-07-14 14:49:51,049 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:49:51,049 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2121856708] [2022-07-14 14:49:51,049 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:49:51,049 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [496186378] [2022-07-14 14:49:51,049 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [496186378] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:49:51,049 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:49:51,049 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-07-14 14:49:51,049 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [311010922] [2022-07-14 14:49:51,050 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:49:51,050 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-14 14:49:51,050 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:49:51,050 INFO L85 PathProgramCache]: Analyzing trace with hash 1806703108, now seen corresponding path program 1 times [2022-07-14 14:49:51,050 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:49:51,051 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1564786160] [2022-07-14 14:49:51,051 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:51,051 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:49:51,055 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:49:51,055 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [761910871] [2022-07-14 14:49:51,055 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:49:51,055 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:49:51,056 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:49:51,057 INFO L229 MonitoredProcess]: Starting monitored process 71 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:49:51,069 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (71)] Waiting until timeout for monitored process [2022-07-14 14:49:51,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:51,138 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:49:51,165 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:49:51,176 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:50:23,084 WARN L233 SmtUtils]: Spent 31.30s on a formula simplification. DAG size of input: 74 DAG size of output: 69 (called from [L 279] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.transitions.TransFormulaUtils.sequentialComposition) [2022-07-14 14:50:23,612 INFO L210 LassoAnalysis]: Preferences: [2022-07-14 14:50:23,612 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-14 14:50:23,612 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-14 14:50:23,612 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-14 14:50:23,612 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-14 14:50:23,612 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:23,612 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-14 14:50:23,612 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-14 14:50:23,612 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration13_Loop [2022-07-14 14:50:23,613 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-14 14:50:23,613 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-14 14:50:23,613 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:23,615 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:23,617 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:24,088 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:24,090 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:24,091 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:24,303 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-14 14:50:24,303 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-14 14:50:24,303 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:24,303 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:24,305 INFO L229 MonitoredProcess]: Starting monitored process 72 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:24,306 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (72)] Waiting until timeout for monitored process [2022-07-14 14:50:24,309 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:50:24,309 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:50:24,316 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-14 14:50:24,316 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_#t~post8#1=0} Honda state: {ULTIMATE.start_main_#t~post8#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2022-07-14 14:50:24,331 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (72)] Forceful destruction successful, exit code 0 [2022-07-14 14:50:24,332 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:24,332 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:24,333 INFO L229 MonitoredProcess]: Starting monitored process 73 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:24,334 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (73)] Waiting until timeout for monitored process [2022-07-14 14:50:24,335 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:50:24,335 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:50:24,341 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-14 14:50:24,341 INFO L440 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: [] [2022-07-14 14:50:24,356 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (73)] Forceful destruction successful, exit code 0 [2022-07-14 14:50:24,357 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:24,357 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:24,358 INFO L229 MonitoredProcess]: Starting monitored process 74 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:24,358 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (74)] Waiting until timeout for monitored process [2022-07-14 14:50:24,359 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:50:24,359 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:50:24,382 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (74)] Ended with exit code 0 [2022-07-14 14:50:24,382 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:24,382 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:24,383 INFO L229 MonitoredProcess]: Starting monitored process 75 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:24,386 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (75)] Waiting until timeout for monitored process [2022-07-14 14:50:24,387 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-14 14:50:24,387 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:50:24,399 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-14 14:50:24,414 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (75)] Ended with exit code 0 [2022-07-14 14:50:24,414 INFO L210 LassoAnalysis]: Preferences: [2022-07-14 14:50:24,414 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-14 14:50:24,414 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-14 14:50:24,414 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-14 14:50:24,414 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-14 14:50:24,414 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:24,414 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-14 14:50:24,414 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-14 14:50:24,414 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration13_Loop [2022-07-14 14:50:24,414 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-14 14:50:24,415 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-14 14:50:24,415 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:24,425 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:24,427 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:24,428 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:24,434 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:25,028 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:25,227 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-14 14:50:25,228 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-14 14:50:25,228 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:25,228 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:25,231 INFO L229 MonitoredProcess]: Starting monitored process 76 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:25,232 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (76)] Waiting until timeout for monitored process [2022-07-14 14:50:25,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 [2022-07-14 14:50:25,239 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:50:25,239 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:50:25,239 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:50:25,240 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:50:25,240 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:50:25,240 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:50:25,240 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:50:25,241 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-14 14:50:25,256 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (76)] Ended with exit code 0 [2022-07-14 14:50:25,256 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:25,256 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:25,257 INFO L229 MonitoredProcess]: Starting monitored process 77 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:25,258 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (77)] Waiting until timeout for monitored process [2022-07-14 14:50:25,259 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 [2022-07-14 14:50:25,265 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:50:25,265 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:50:25,265 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:50:25,265 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:50:25,265 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:50:25,266 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:50:25,266 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:50:25,267 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-14 14:50:25,282 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (77)] Ended with exit code 0 [2022-07-14 14:50:25,282 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:25,282 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:25,283 INFO L229 MonitoredProcess]: Starting monitored process 78 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:25,284 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (78)] Waiting until timeout for monitored process [2022-07-14 14:50:25,285 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 [2022-07-14 14:50:25,291 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:50:25,291 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:50:25,291 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:50:25,291 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:50:25,291 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:50:25,291 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:50:25,291 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:50:25,292 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-14 14:50:25,307 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (78)] Ended with exit code 0 [2022-07-14 14:50:25,308 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:25,308 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:25,309 INFO L229 MonitoredProcess]: Starting monitored process 79 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:25,309 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (79)] Waiting until timeout for monitored process [2022-07-14 14:50:25,311 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 [2022-07-14 14:50:25,316 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:50:25,316 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:50:25,316 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:50:25,317 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:50:25,317 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:50:25,317 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:50:25,317 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:50:25,325 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-14 14:50:25,340 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (79)] Ended with exit code 0 [2022-07-14 14:50:25,340 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:25,340 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:25,341 INFO L229 MonitoredProcess]: Starting monitored process 80 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:25,342 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (80)] Waiting until timeout for monitored process [2022-07-14 14:50:25,343 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 [2022-07-14 14:50:25,349 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:50:25,349 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:50:25,349 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:50:25,350 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:50:25,350 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:50:25,352 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:50:25,352 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:50:25,355 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-14 14:50:25,359 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2022-07-14 14:50:25,359 INFO L444 ModelExtractionUtils]: 6 out of 10 variables were initially zero. Simplification set additionally 1 variables to zero. [2022-07-14 14:50:25,359 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:25,359 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:25,360 INFO L229 MonitoredProcess]: Starting monitored process 81 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:25,361 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (81)] Waiting until timeout for monitored process [2022-07-14 14:50:25,362 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-14 14:50:25,362 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-14 14:50:25,362 INFO L513 LassoAnalysis]: Proved termination. [2022-07-14 14:50:25,362 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~x~0#1, ULTIMATE.start_main_~k~0#1) = 7*ULTIMATE.start_main_~x~0#1 - 8*ULTIMATE.start_main_~k~0#1 Supporting invariants [] [2022-07-14 14:50:25,377 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (80)] Ended with exit code 0 [2022-07-14 14:50:25,378 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-14 14:50:25,386 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:25,411 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:50:25,413 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 10 conjunts are in the unsatisfiable core [2022-07-14 14:50:25,414 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:25,597 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:50:25,600 INFO L263 TraceCheckSpWp]: Trace formula consists of 377 conjuncts, 33 conjunts are in the unsatisfiable core [2022-07-14 14:50:25,602 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:25,859 INFO L134 CoverageAnalysis]: Checked inductivity of 174 backedges. 0 proven. 93 refuted. 0 times theorem prover too weak. 81 trivial. 0 not checked. [2022-07-14 14:50:25,859 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.2 stem predicates 10 loop predicates [2022-07-14 14:50:25,859 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1827 states and 2824 transitions. cyclomatic complexity: 1033 Second operand has 12 states, 11 states have (on average 3.272727272727273) internal successors, (36), 12 states have internal predecessors, (36), 6 states have call successors, (9), 2 states have call predecessors, (9), 6 states have return successors, (11), 7 states have call predecessors, (11), 6 states have call successors, (11) [2022-07-14 14:50:26,206 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (81)] Ended with exit code 0 [2022-07-14 14:50:26,246 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1827 states and 2824 transitions. cyclomatic complexity: 1033. Second operand has 12 states, 11 states have (on average 3.272727272727273) internal successors, (36), 12 states have internal predecessors, (36), 6 states have call successors, (9), 2 states have call predecessors, (9), 6 states have return successors, (11), 7 states have call predecessors, (11), 6 states have call successors, (11) Result 3447 states and 5429 transitions. Complement of second has 47 states. [2022-07-14 14:50:26,247 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 12 states 1 stem states 10 non-accepting loop states 1 accepting loop states [2022-07-14 14:50:26,248 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 3.272727272727273) internal successors, (36), 12 states have internal predecessors, (36), 6 states have call successors, (9), 2 states have call predecessors, (9), 6 states have return successors, (11), 7 states have call predecessors, (11), 6 states have call successors, (11) [2022-07-14 14:50:26,248 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 81 transitions. [2022-07-14 14:50:26,248 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 12 states and 81 transitions. Stem has 32 letters. Loop has 56 letters. [2022-07-14 14:50:26,249 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:50:26,249 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 12 states and 81 transitions. Stem has 88 letters. Loop has 56 letters. [2022-07-14 14:50:26,249 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:50:26,249 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 12 states and 81 transitions. Stem has 32 letters. Loop has 112 letters. [2022-07-14 14:50:26,250 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:50:26,250 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 3447 states and 5429 transitions. [2022-07-14 14:50:26,275 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 164 [2022-07-14 14:50:26,302 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 3447 states to 2668 states and 4242 transitions. [2022-07-14 14:50:26,303 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 504 [2022-07-14 14:50:26,303 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 509 [2022-07-14 14:50:26,304 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2668 states and 4242 transitions. [2022-07-14 14:50:26,304 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:50:26,304 INFO L369 hiAutomatonCegarLoop]: Abstraction has 2668 states and 4242 transitions. [2022-07-14 14:50:26,305 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2668 states and 4242 transitions. [2022-07-14 14:50:26,362 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2668 to 2456. [2022-07-14 14:50:26,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2456 states, 1580 states have (on average 1.1132911392405063) internal successors, (1759), 1553 states have internal predecessors, (1759), 552 states have call successors, (552), 314 states have call predecessors, (552), 324 states have return successors, (1531), 588 states have call predecessors, (1531), 546 states have call successors, (1531) [2022-07-14 14:50:26,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2456 states to 2456 states and 3842 transitions. [2022-07-14 14:50:26,377 INFO L392 hiAutomatonCegarLoop]: Abstraction has 2456 states and 3842 transitions. [2022-07-14 14:50:26,378 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:50:26,378 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-07-14 14:50:26,378 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-07-14 14:50:26,378 INFO L87 Difference]: Start difference. First operand 2456 states and 3842 transitions. Second operand has 7 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-07-14 14:50:26,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:50:26,530 INFO L93 Difference]: Finished difference Result 2587 states and 4060 transitions. [2022-07-14 14:50:26,531 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-07-14 14:50:26,531 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2587 states and 4060 transitions. [2022-07-14 14:50:26,581 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 177 [2022-07-14 14:50:26,604 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2587 states to 2587 states and 4060 transitions. [2022-07-14 14:50:26,604 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 507 [2022-07-14 14:50:26,605 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 507 [2022-07-14 14:50:26,605 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2587 states and 4060 transitions. [2022-07-14 14:50:26,605 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:50:26,605 INFO L369 hiAutomatonCegarLoop]: Abstraction has 2587 states and 4060 transitions. [2022-07-14 14:50:26,607 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2587 states and 4060 transitions. [2022-07-14 14:50:26,659 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2587 to 2485. [2022-07-14 14:50:26,674 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2485 states, 1588 states have (on average 1.11272040302267) internal successors, (1767), 1568 states have internal predecessors, (1767), 573 states have call successors, (573), 314 states have call predecessors, (573), 324 states have return successors, (1563), 602 states have call predecessors, (1563), 567 states have call successors, (1563) [2022-07-14 14:50:26,687 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2485 states to 2485 states and 3903 transitions. [2022-07-14 14:50:26,687 INFO L392 hiAutomatonCegarLoop]: Abstraction has 2485 states and 3903 transitions. [2022-07-14 14:50:26,687 INFO L374 stractBuchiCegarLoop]: Abstraction has 2485 states and 3903 transitions. [2022-07-14 14:50:26,687 INFO L287 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2022-07-14 14:50:26,688 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 2485 states and 3903 transitions. [2022-07-14 14:50:26,697 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 169 [2022-07-14 14:50:26,697 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:50:26,697 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:50:26,698 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [7, 6, 5, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:50:26,698 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-14 14:50:26,698 INFO L752 eck$LassoCheckResult]: Stem: 46290#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 46261#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 46262#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 46289#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 46276#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 46277#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 46773#L43 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; 46769#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 46771#factENTRY ~n := #in~n; 46774#L25 assume ~n <= 0;#res := 1; 46772#factFINAL assume true; 46768#factEXIT >#68#return; 46711#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 46712#factENTRY ~n := #in~n; 46715#L25 assume ~n <= 0;#res := 1; 46714#factFINAL assume true; 46709#factEXIT >#70#return; 46605#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 46606#factENTRY ~n := #in~n; 46622#L25 assume ~n <= 0;#res := 1; 46621#factFINAL assume true; 46604#factEXIT >#72#return; 46597#L30-3 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; 46592#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 46591#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 46576#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 46485#L43 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; 46472#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 46481#factENTRY ~n := #in~n; 46542#L25 assume !(~n <= 0); 46511#L26 call #t~ret0 := fact(~n - 1);< 46535#factENTRY ~n := #in~n; 46536#L25 assume ~n <= 0;#res := 1; 46896#factFINAL assume true; 46894#factEXIT >#66#return; 46551#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 46892#factFINAL assume true; 46471#factEXIT >#74#return; 46465#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 46466#factENTRY ~n := #in~n; 46646#L25 assume ~n <= 0;#res := 1; 46467#factFINAL assume true; 46470#factEXIT >#76#return; 46314#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 46315#factENTRY ~n := #in~n; 46713#L25 assume !(~n <= 0); 46509#L26 call #t~ret0 := fact(~n - 1);< 46526#factENTRY [2022-07-14 14:50:26,699 INFO L754 eck$LassoCheckResult]: Loop: 46526#factENTRY ~n := #in~n; 46558#L25 assume !(~n <= 0); 46512#L26 call #t~ret0 := fact(~n - 1);< 46526#factENTRY [2022-07-14 14:50:26,699 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:26,699 INFO L85 PathProgramCache]: Analyzing trace with hash 172884444, now seen corresponding path program 1 times [2022-07-14 14:50:26,699 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:26,699 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [293437268] [2022-07-14 14:50:26,700 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:26,700 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:26,709 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:26,709 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [527401236] [2022-07-14 14:50:26,709 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:26,709 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:26,709 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:26,712 INFO L229 MonitoredProcess]: Starting monitored process 82 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:26,741 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (82)] Waiting until timeout for monitored process [2022-07-14 14:50:26,767 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:50:26,767 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:50:26,779 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:50:26,789 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:50:26,790 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:26,790 INFO L85 PathProgramCache]: Analyzing trace with hash 29980, now seen corresponding path program 2 times [2022-07-14 14:50:26,790 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:26,790 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [699803639] [2022-07-14 14:50:26,790 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:26,790 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:26,793 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:50:26,793 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:50:26,794 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:50:26,795 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:50:26,795 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:26,795 INFO L85 PathProgramCache]: Analyzing trace with hash 734683489, now seen corresponding path program 2 times [2022-07-14 14:50:26,795 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:26,796 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [583155734] [2022-07-14 14:50:26,796 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:26,796 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:26,801 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:26,801 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1867521686] [2022-07-14 14:50:26,801 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-14 14:50:26,802 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:26,802 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:26,803 INFO L229 MonitoredProcess]: Starting monitored process 83 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:26,825 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (83)] Waiting until timeout for monitored process [2022-07-14 14:50:26,853 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-14 14:50:26,853 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-14 14:50:26,854 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 12 conjunts are in the unsatisfiable core [2022-07-14 14:50:26,855 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:26,945 INFO L134 CoverageAnalysis]: Checked inductivity of 91 backedges. 29 proven. 2 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-07-14 14:50:26,945 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:50:27,028 INFO L134 CoverageAnalysis]: Checked inductivity of 91 backedges. 29 proven. 2 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-07-14 14:50:27,028 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:50:27,028 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [583155734] [2022-07-14 14:50:27,028 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:50:27,028 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1867521686] [2022-07-14 14:50:27,028 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1867521686] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:50:27,028 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:50:27,028 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 13 [2022-07-14 14:50:27,028 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1450389389] [2022-07-14 14:50:27,028 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:50:27,056 INFO L210 LassoAnalysis]: Preferences: [2022-07-14 14:50:27,056 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-14 14:50:27,056 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-14 14:50:27,056 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-14 14:50:27,056 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-14 14:50:27,056 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:27,056 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-14 14:50:27,056 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-14 14:50:27,056 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration14_Loop [2022-07-14 14:50:27,056 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-14 14:50:27,056 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-14 14:50:27,057 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:27,063 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:27,064 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:27,066 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:27,116 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-14 14:50:27,116 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-14 14:50:27,116 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:27,117 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:27,120 INFO L229 MonitoredProcess]: Starting monitored process 84 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:27,123 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:50:27,123 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:50:27,132 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (84)] Waiting until timeout for monitored process [2022-07-14 14:50:27,162 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (84)] Forceful destruction successful, exit code 0 [2022-07-14 14:50:27,163 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:27,163 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:27,164 INFO L229 MonitoredProcess]: Starting monitored process 85 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:27,167 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-14 14:50:27,168 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:50:27,183 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (85)] Waiting until timeout for monitored process [2022-07-14 14:50:27,246 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-14 14:50:27,249 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (85)] Ended with exit code 0 [2022-07-14 14:50:27,249 INFO L210 LassoAnalysis]: Preferences: [2022-07-14 14:50:27,249 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-14 14:50:27,249 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-14 14:50:27,249 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-14 14:50:27,249 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-14 14:50:27,249 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:27,249 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-14 14:50:27,249 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-14 14:50:27,249 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration14_Loop [2022-07-14 14:50:27,249 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-14 14:50:27,249 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-14 14:50:27,250 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:27,255 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:27,256 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:27,257 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:27,274 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-14 14:50:27,274 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-14 14:50:27,274 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:27,274 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:27,276 INFO L229 MonitoredProcess]: Starting monitored process 86 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:27,277 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (86)] Waiting until timeout for monitored process [2022-07-14 14:50:27,278 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 [2022-07-14 14:50:27,284 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:50:27,284 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:50:27,284 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:50:27,284 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:50:27,284 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:50:27,285 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:50:27,285 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:50:27,286 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-14 14:50:27,289 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2022-07-14 14:50:27,289 INFO L444 ModelExtractionUtils]: 0 out of 3 variables were initially zero. Simplification set additionally 1 variables to zero. [2022-07-14 14:50:27,289 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:27,289 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:27,290 INFO L229 MonitoredProcess]: Starting monitored process 87 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:27,292 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (87)] Waiting until timeout for monitored process [2022-07-14 14:50:27,292 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-14 14:50:27,292 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-14 14:50:27,292 INFO L513 LassoAnalysis]: Proved termination. [2022-07-14 14:50:27,292 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(fact_#in~n) = 1*fact_#in~n Supporting invariants [] [2022-07-14 14:50:27,307 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (86)] Forceful destruction successful, exit code 0 [2022-07-14 14:50:27,308 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-14 14:50:27,318 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:27,374 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:50:27,377 INFO L263 TraceCheckSpWp]: Trace formula consists of 347 conjuncts, 18 conjunts are in the unsatisfiable core [2022-07-14 14:50:27,378 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:27,571 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:50:27,572 INFO L263 TraceCheckSpWp]: Trace formula consists of 37 conjuncts, 7 conjunts are in the unsatisfiable core [2022-07-14 14:50:27,573 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:27,603 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-14 14:50:27,605 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.2 stem predicates 3 loop predicates [2022-07-14 14:50:27,606 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 2485 states and 3903 transitions. cyclomatic complexity: 1465 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, (9), 3 states have call predecessors, (9), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-07-14 14:50:27,709 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 2485 states and 3903 transitions. cyclomatic complexity: 1465. 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, (9), 3 states have call predecessors, (9), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Result 2583 states and 4032 transitions. Complement of second has 13 states. [2022-07-14 14:50:27,710 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 2 stem states 2 non-accepting loop states 1 accepting loop states [2022-07-14 14:50:27,710 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, (9), 3 states have call predecessors, (9), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-07-14 14:50:27,710 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 32 transitions. [2022-07-14 14:50:27,711 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 32 transitions. Stem has 47 letters. Loop has 3 letters. [2022-07-14 14:50:27,711 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:50:27,711 INFO L577 RefineBuchi]: Bad chosen interpolant automaton: word not accepted [2022-07-14 14:50:27,723 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:27,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:50:27,782 INFO L263 TraceCheckSpWp]: Trace formula consists of 347 conjuncts, 18 conjunts are in the unsatisfiable core [2022-07-14 14:50:27,783 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:27,995 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (87)] Forceful destruction successful, exit code 0 [2022-07-14 14:50:28,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:50:28,006 INFO L263 TraceCheckSpWp]: Trace formula consists of 37 conjuncts, 7 conjunts are in the unsatisfiable core [2022-07-14 14:50:28,007 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:28,031 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-14 14:50:28,032 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and with honda bouncer for loop.2 stem predicates 3 loop predicates [2022-07-14 14:50:28,032 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 2485 states and 3903 transitions. cyclomatic complexity: 1465 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, (9), 3 states have call predecessors, (9), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-07-14 14:50:28,131 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 2485 states and 3903 transitions. cyclomatic complexity: 1465. 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, (9), 3 states have call predecessors, (9), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Result 2583 states and 4032 transitions. Complement of second has 13 states. [2022-07-14 14:50:28,132 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 2 stem states 2 non-accepting loop states 1 accepting loop states [2022-07-14 14:50:28,132 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, (9), 3 states have call predecessors, (9), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-07-14 14:50:28,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 32 transitions. [2022-07-14 14:50:28,133 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 32 transitions. Stem has 47 letters. Loop has 3 letters. [2022-07-14 14:50:28,133 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:50:28,133 INFO L577 RefineBuchi]: Bad chosen interpolant automaton: word not accepted [2022-07-14 14:50:28,146 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:28,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:50:28,204 INFO L263 TraceCheckSpWp]: Trace formula consists of 347 conjuncts, 18 conjunts are in the unsatisfiable core [2022-07-14 14:50:28,206 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:28,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:50:28,383 INFO L263 TraceCheckSpWp]: Trace formula consists of 37 conjuncts, 7 conjunts are in the unsatisfiable core [2022-07-14 14:50:28,383 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:28,404 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-07-14 14:50:28,405 INFO L152 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 [2022-07-14 14:50:28,405 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 2485 states and 3903 transitions. cyclomatic complexity: 1465 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, (9), 3 states have call predecessors, (9), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-07-14 14:50:28,525 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 2485 states and 3903 transitions. cyclomatic complexity: 1465. 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, (9), 3 states have call predecessors, (9), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Result 2841 states and 4361 transitions. Complement of second has 16 states. [2022-07-14 14:50:28,525 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 2 stem states 2 non-accepting loop states 1 accepting loop states [2022-07-14 14:50:28,526 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, (9), 3 states have call predecessors, (9), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-07-14 14:50:28,526 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 40 transitions. [2022-07-14 14:50:28,526 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 40 transitions. Stem has 47 letters. Loop has 3 letters. [2022-07-14 14:50:28,527 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:50:28,527 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 40 transitions. Stem has 50 letters. Loop has 3 letters. [2022-07-14 14:50:28,527 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:50:28,527 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 40 transitions. Stem has 47 letters. Loop has 6 letters. [2022-07-14 14:50:28,527 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:50:28,527 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2841 states and 4361 transitions. [2022-07-14 14:50:28,549 INFO L131 ngComponentsAnalysis]: Automaton has 6 accepting balls. 163 [2022-07-14 14:50:28,618 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2841 states to 2540 states and 4000 transitions. [2022-07-14 14:50:28,618 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 433 [2022-07-14 14:50:28,619 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 439 [2022-07-14 14:50:28,619 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2540 states and 4000 transitions. [2022-07-14 14:50:28,620 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:50:28,620 INFO L369 hiAutomatonCegarLoop]: Abstraction has 2540 states and 4000 transitions. [2022-07-14 14:50:28,622 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2540 states and 4000 transitions. [2022-07-14 14:50:28,669 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2540 to 2419. [2022-07-14 14:50:28,672 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2419 states, 1549 states have (on average 1.1123305358295674) internal successors, (1723), 1520 states have internal predecessors, (1723), 551 states have call successors, (551), 309 states have call predecessors, (551), 319 states have return successors, (1493), 589 states have call predecessors, (1493), 551 states have call successors, (1493) [2022-07-14 14:50:28,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2419 states to 2419 states and 3767 transitions. [2022-07-14 14:50:28,684 INFO L392 hiAutomatonCegarLoop]: Abstraction has 2419 states and 3767 transitions. [2022-07-14 14:50:28,684 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:50:28,684 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-07-14 14:50:28,684 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-07-14 14:50:28,685 INFO L87 Difference]: Start difference. First operand 2419 states and 3767 transitions. Second operand has 13 states, 10 states have (on average 2.9) internal successors, (29), 11 states have internal predecessors, (29), 7 states have call successors, (15), 4 states have call predecessors, (15), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-07-14 14:50:29,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:50:29,033 INFO L93 Difference]: Finished difference Result 3735 states and 5799 transitions. [2022-07-14 14:50:29,034 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-07-14 14:50:29,034 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 3735 states and 5799 transitions. [2022-07-14 14:50:29,082 INFO L131 ngComponentsAnalysis]: Automaton has 6 accepting balls. 240 [2022-07-14 14:50:29,111 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 3735 states to 3517 states and 5524 transitions. [2022-07-14 14:50:29,112 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 621 [2022-07-14 14:50:29,113 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 621 [2022-07-14 14:50:29,113 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3517 states and 5524 transitions. [2022-07-14 14:50:29,113 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:50:29,113 INFO L369 hiAutomatonCegarLoop]: Abstraction has 3517 states and 5524 transitions. [2022-07-14 14:50:29,115 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 3517 states and 5524 transitions. [2022-07-14 14:50:29,177 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 3517 to 2952. [2022-07-14 14:50:29,181 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2952 states, 1835 states have (on average 1.1144414168937329) internal successors, (2045), 1840 states have internal predecessors, (2045), 734 states have call successors, (734), 373 states have call predecessors, (734), 383 states have return successors, (1826), 738 states have call predecessors, (1826), 734 states have call successors, (1826) [2022-07-14 14:50:29,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2952 states to 2952 states and 4605 transitions. [2022-07-14 14:50:29,193 INFO L392 hiAutomatonCegarLoop]: Abstraction has 2952 states and 4605 transitions. [2022-07-14 14:50:29,194 INFO L374 stractBuchiCegarLoop]: Abstraction has 2952 states and 4605 transitions. [2022-07-14 14:50:29,194 INFO L287 stractBuchiCegarLoop]: ======== Iteration 15 ============ [2022-07-14 14:50:29,194 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 2952 states and 4605 transitions. [2022-07-14 14:50:29,205 INFO L131 ngComponentsAnalysis]: Automaton has 6 accepting balls. 189 [2022-07-14 14:50:29,205 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:50:29,205 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:50:29,206 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [7, 7, 6, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:50:29,206 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [11, 11, 8, 8, 8, 8, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:50:29,206 INFO L752 eck$LassoCheckResult]: Stem: 63774#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 63748#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 63749#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 63773#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 63758#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 63759#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 63775#L43 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; 63776#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 64364#factENTRY ~n := #in~n; 64371#L25 assume ~n <= 0;#res := 1; 64366#factFINAL assume true; 64362#factEXIT >#68#return; 64339#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 64341#factENTRY ~n := #in~n; 64369#L25 assume ~n <= 0;#res := 1; 64365#factFINAL assume true; 64338#factEXIT >#70#return; 64328#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 64330#factENTRY ~n := #in~n; 64360#L25 assume ~n <= 0;#res := 1; 64331#factFINAL assume true; 64326#factEXIT >#72#return; 64329#L30-3 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; 64379#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 64378#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 64376#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 64377#L43 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; 64463#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 64467#factENTRY ~n := #in~n; 64493#L25 assume ~n <= 0;#res := 1; 64494#factFINAL assume true; 64578#factEXIT >#74#return; 64574#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 64575#factENTRY ~n := #in~n; 64577#L25 assume ~n <= 0;#res := 1; 64576#factFINAL assume true; 64573#factEXIT >#76#return; 64569#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 64571#factENTRY ~n := #in~n; 64570#L25 assume !(~n <= 0); 64472#L26 call #t~ret0 := fact(~n - 1);< 64568#factENTRY ~n := #in~n; 64491#L25 assume ~n <= 0;#res := 1; 64492#factFINAL assume true; 64470#factEXIT >#66#return; 64473#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 64590#factFINAL assume true; 64589#factEXIT >#78#return; 64398#L30-8 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; 64396#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 64394#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 64390#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 64260#L43 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; 64206#L30-5 [2022-07-14 14:50:29,207 INFO L754 eck$LassoCheckResult]: Loop: 64206#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 64254#factENTRY ~n := #in~n; 64275#L25 assume !(~n <= 0); 64222#L26 call #t~ret0 := fact(~n - 1);< 64297#factENTRY ~n := #in~n; 64239#L25 assume !(~n <= 0); 64219#L26 call #t~ret0 := fact(~n - 1);< 64230#factENTRY ~n := #in~n; 64239#L25 assume !(~n <= 0); 64219#L26 call #t~ret0 := fact(~n - 1);< 64230#factENTRY ~n := #in~n; 64239#L25 assume !(~n <= 0); 64219#L26 call #t~ret0 := fact(~n - 1);< 64230#factENTRY ~n := #in~n; 64242#L25 assume ~n <= 0;#res := 1; 64245#factFINAL assume true; 64243#factEXIT >#66#return; 64240#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 64237#factFINAL assume true; 64236#factEXIT >#66#return; 64235#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 64233#factFINAL assume true; 64231#factEXIT >#66#return; 64226#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 64229#factFINAL assume true; 64218#factEXIT >#66#return; 64216#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 64217#factFINAL assume true; 64205#factEXIT >#74#return; 64207#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 64254#factENTRY ~n := #in~n; 64275#L25 assume !(~n <= 0); 64222#L26 call #t~ret0 := fact(~n - 1);< 64297#factENTRY ~n := #in~n; 64239#L25 assume !(~n <= 0); 64219#L26 call #t~ret0 := fact(~n - 1);< 64230#factENTRY ~n := #in~n; 64242#L25 assume ~n <= 0;#res := 1; 64245#factFINAL assume true; 64243#factEXIT >#66#return; 64240#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 64237#factFINAL assume true; 64236#factEXIT >#66#return; 64232#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 64288#factFINAL assume true; 64289#factEXIT >#76#return; 64209#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 64299#factENTRY ~n := #in~n; 64284#L25 assume !(~n <= 0); 64222#L26 call #t~ret0 := fact(~n - 1);< 64297#factENTRY ~n := #in~n; 64239#L25 assume !(~n <= 0); 64219#L26 call #t~ret0 := fact(~n - 1);< 64230#factENTRY ~n := #in~n; 64242#L25 assume ~n <= 0;#res := 1; 64245#factFINAL assume true; 64243#factEXIT >#66#return; 64240#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 64237#factFINAL assume true; 64236#factEXIT >#66#return; 64232#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 64288#factFINAL assume true; 64289#factEXIT >#78#return; 63750#L30-8 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; 63751#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 63796#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 63797#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 64262#L43 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; 64206#L30-5 [2022-07-14 14:50:29,207 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:29,207 INFO L85 PathProgramCache]: Analyzing trace with hash -519398635, now seen corresponding path program 1 times [2022-07-14 14:50:29,207 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:29,208 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1480476191] [2022-07-14 14:50:29,208 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:29,208 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:29,212 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:29,213 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [407076458] [2022-07-14 14:50:29,213 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:29,213 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:29,213 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:29,215 INFO L229 MonitoredProcess]: Starting monitored process 88 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:29,243 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (88)] Waiting until timeout for monitored process [2022-07-14 14:50:29,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:50:29,292 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 7 conjunts are in the unsatisfiable core [2022-07-14 14:50:29,293 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:29,332 INFO L134 CoverageAnalysis]: Checked inductivity of 91 backedges. 64 proven. 0 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-07-14 14:50:29,332 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-07-14 14:50:29,333 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:50:29,333 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1480476191] [2022-07-14 14:50:29,333 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:50:29,333 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [407076458] [2022-07-14 14:50:29,333 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [407076458] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-14 14:50:29,333 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-14 14:50:29,333 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-07-14 14:50:29,334 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [55173439] [2022-07-14 14:50:29,334 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-14 14:50:29,334 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-14 14:50:29,334 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:29,334 INFO L85 PathProgramCache]: Analyzing trace with hash 1537139054, now seen corresponding path program 2 times [2022-07-14 14:50:29,335 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:29,335 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [798328313] [2022-07-14 14:50:29,335 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:29,335 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:29,341 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:29,341 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [549835535] [2022-07-14 14:50:29,341 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-14 14:50:29,341 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:29,341 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:29,344 INFO L229 MonitoredProcess]: Starting monitored process 89 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:29,371 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (89)] Waiting until timeout for monitored process [2022-07-14 14:50:29,496 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-14 14:50:29,497 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-14 14:50:29,497 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:50:29,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:50:29,540 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:50:30,688 INFO L210 LassoAnalysis]: Preferences: [2022-07-14 14:50:30,688 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-14 14:50:30,688 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-14 14:50:30,688 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-14 14:50:30,688 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-14 14:50:30,688 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:30,688 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-14 14:50:30,688 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-14 14:50:30,688 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration15_Loop [2022-07-14 14:50:30,688 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-14 14:50:30,688 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-14 14:50:30,689 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:30,690 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:30,691 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:30,693 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:30,706 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:30,708 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:30,709 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:30,778 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-14 14:50:30,778 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-14 14:50:30,778 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:30,778 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:30,779 INFO L229 MonitoredProcess]: Starting monitored process 90 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:30,780 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (90)] Waiting until timeout for monitored process [2022-07-14 14:50:30,781 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:50:30,781 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:50:30,786 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-14 14:50:30,787 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_main_#t~ret10#1=0} Honda state: {ULTIMATE.start_main_#t~ret10#1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2022-07-14 14:50:30,801 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (90)] Forceful destruction successful, exit code 0 [2022-07-14 14:50:30,801 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:30,801 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:30,802 INFO L229 MonitoredProcess]: Starting monitored process 91 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:30,803 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (91)] Waiting until timeout for monitored process [2022-07-14 14:50:30,804 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:50:30,804 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:50:30,810 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-14 14:50:30,810 INFO L440 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: [] [2022-07-14 14:50:30,824 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (91)] Ended with exit code 0 [2022-07-14 14:50:30,824 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:30,824 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:30,825 INFO L229 MonitoredProcess]: Starting monitored process 92 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:30,826 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (92)] Waiting until timeout for monitored process [2022-07-14 14:50:30,827 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:50:30,827 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:50:30,832 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-14 14:50:30,832 INFO L440 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: [] [2022-07-14 14:50:30,847 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (92)] Ended with exit code 0 [2022-07-14 14:50:30,847 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:30,847 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:30,848 INFO L229 MonitoredProcess]: Starting monitored process 93 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:30,849 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (93)] Waiting until timeout for monitored process [2022-07-14 14:50:30,850 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:50:30,850 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:50:30,881 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (93)] Forceful destruction successful, exit code 0 [2022-07-14 14:50:30,881 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:30,881 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:30,882 INFO L229 MonitoredProcess]: Starting monitored process 94 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:30,883 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (94)] Waiting until timeout for monitored process [2022-07-14 14:50:30,884 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-14 14:50:30,884 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:50:31,217 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-14 14:50:31,221 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (94)] Forceful destruction successful, exit code 0 [2022-07-14 14:50:31,221 INFO L210 LassoAnalysis]: Preferences: [2022-07-14 14:50:31,221 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-14 14:50:31,221 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-14 14:50:31,221 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-14 14:50:31,221 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-14 14:50:31,221 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:31,221 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-14 14:50:31,221 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-14 14:50:31,221 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration15_Loop [2022-07-14 14:50:31,221 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-14 14:50:31,221 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-14 14:50:31,222 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:31,223 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:31,225 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:31,239 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:31,240 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:31,243 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:31,245 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:31,300 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-14 14:50:31,300 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-14 14:50:31,300 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:31,300 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:31,301 INFO L229 MonitoredProcess]: Starting monitored process 95 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:31,302 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (95)] Waiting until timeout for monitored process [2022-07-14 14:50:31,303 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 [2022-07-14 14:50:31,309 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:50:31,309 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:50:31,309 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:50:31,309 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:50:31,309 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:50:31,310 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:50:31,310 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:50:31,310 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-14 14:50:31,325 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (95)] Ended with exit code 0 [2022-07-14 14:50:31,326 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:31,326 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:31,327 INFO L229 MonitoredProcess]: Starting monitored process 96 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:31,328 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (96)] Waiting until timeout for monitored process [2022-07-14 14:50:31,329 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 [2022-07-14 14:50:31,334 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:50:31,334 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:50:31,334 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:50:31,334 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:50:31,334 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:50:31,335 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:50:31,335 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:50:31,335 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-14 14:50:31,350 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (96)] Ended with exit code 0 [2022-07-14 14:50:31,350 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:31,350 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:31,351 INFO L229 MonitoredProcess]: Starting monitored process 97 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:31,352 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (97)] Waiting until timeout for monitored process [2022-07-14 14:50:31,353 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 [2022-07-14 14:50:31,358 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:50:31,359 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:50:31,359 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:50:31,359 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:50:31,359 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:50:31,361 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:50:31,361 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:50:31,385 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-14 14:50:31,387 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2022-07-14 14:50:31,387 INFO L444 ModelExtractionUtils]: 5 out of 9 variables were initially zero. Simplification set additionally 1 variables to zero. [2022-07-14 14:50:31,388 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:31,388 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:31,389 INFO L229 MonitoredProcess]: Starting monitored process 98 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:31,389 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (98)] Waiting until timeout for monitored process [2022-07-14 14:50:31,390 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-14 14:50:31,390 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-14 14:50:31,390 INFO L513 LassoAnalysis]: Proved termination. [2022-07-14 14:50:31,390 INFO L515 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 [] [2022-07-14 14:50:31,405 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (97)] Forceful destruction successful, exit code 0 [2022-07-14 14:50:31,406 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-14 14:50:31,414 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:31,455 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:50:31,457 INFO L263 TraceCheckSpWp]: Trace formula consists of 335 conjuncts, 16 conjunts are in the unsatisfiable core [2022-07-14 14:50:31,458 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:31,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:50:31,726 INFO L263 TraceCheckSpWp]: Trace formula consists of 457 conjuncts, 26 conjunts are in the unsatisfiable core [2022-07-14 14:50:31,727 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:31,829 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (98)] Forceful destruction successful, exit code 0 [2022-07-14 14:50:31,889 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 276 trivial. 0 not checked. [2022-07-14 14:50:31,890 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.2 stem predicates 4 loop predicates [2022-07-14 14:50:31,890 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 2952 states and 4605 transitions. cyclomatic complexity: 1691 Second operand has 7 states, 6 states have (on average 4.833333333333333) internal successors, (29), 7 states have internal predecessors, (29), 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) [2022-07-14 14:50:32,020 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 2952 states and 4605 transitions. cyclomatic complexity: 1691. Second operand has 7 states, 6 states have (on average 4.833333333333333) internal successors, (29), 7 states have internal predecessors, (29), 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 5047 states and 7602 transitions. Complement of second has 15 states. [2022-07-14 14:50:32,021 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 [2022-07-14 14:50:32,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 4.833333333333333) internal successors, (29), 7 states have internal predecessors, (29), 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) [2022-07-14 14:50:32,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 55 transitions. [2022-07-14 14:50:32,022 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 55 transitions. Stem has 53 letters. Loop has 68 letters. [2022-07-14 14:50:32,022 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:50:32,022 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 55 transitions. Stem has 121 letters. Loop has 68 letters. [2022-07-14 14:50:32,023 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:50:32,023 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 55 transitions. Stem has 53 letters. Loop has 136 letters. [2022-07-14 14:50:32,023 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:50:32,023 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 5047 states and 7602 transitions. [2022-07-14 14:50:32,060 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 171 [2022-07-14 14:50:32,083 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 5047 states to 2737 states and 4218 transitions. [2022-07-14 14:50:32,084 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 414 [2022-07-14 14:50:32,084 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 414 [2022-07-14 14:50:32,084 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2737 states and 4218 transitions. [2022-07-14 14:50:32,085 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:50:32,085 INFO L369 hiAutomatonCegarLoop]: Abstraction has 2737 states and 4218 transitions. [2022-07-14 14:50:32,087 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2737 states and 4218 transitions. [2022-07-14 14:50:32,175 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2737 to 2661. [2022-07-14 14:50:32,178 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2661 states, 1661 states have (on average 1.1173991571342565) internal successors, (1856), 1669 states have internal predecessors, (1856), 643 states have call successors, (647), 328 states have call predecessors, (647), 357 states have return successors, (1608), 663 states have call predecessors, (1608), 643 states have call successors, (1608) [2022-07-14 14:50:32,189 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2661 states to 2661 states and 4111 transitions. [2022-07-14 14:50:32,189 INFO L392 hiAutomatonCegarLoop]: Abstraction has 2661 states and 4111 transitions. [2022-07-14 14:50:32,189 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:50:32,190 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-07-14 14:50:32,190 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2022-07-14 14:50:32,190 INFO L87 Difference]: Start difference. First operand 2661 states and 4111 transitions. Second operand has 7 states, 6 states have (on average 4.666666666666667) internal successors, (28), 7 states have internal predecessors, (28), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (7), 2 states have call predecessors, (7), 3 states have call successors, (7) [2022-07-14 14:50:32,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:50:32,328 INFO L93 Difference]: Finished difference Result 1750 states and 2650 transitions. [2022-07-14 14:50:32,329 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-07-14 14:50:32,329 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1750 states and 2650 transitions. [2022-07-14 14:50:32,339 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 172 [2022-07-14 14:50:32,351 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1750 states to 1545 states and 2397 transitions. [2022-07-14 14:50:32,351 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 418 [2022-07-14 14:50:32,352 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 418 [2022-07-14 14:50:32,352 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1545 states and 2397 transitions. [2022-07-14 14:50:32,352 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:50:32,352 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1545 states and 2397 transitions. [2022-07-14 14:50:32,353 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1545 states and 2397 transitions. [2022-07-14 14:50:32,432 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1545 to 1348. [2022-07-14 14:50:32,445 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1348 states, 841 states have (on average 1.1141498216409036) internal successors, (937), 822 states have internal predecessors, (937), 342 states have call successors, (342), 168 states have call predecessors, (342), 165 states have return successors, (812), 357 states have call predecessors, (812), 342 states have call successors, (812) [2022-07-14 14:50:32,451 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1348 states to 1348 states and 2091 transitions. [2022-07-14 14:50:32,451 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1348 states and 2091 transitions. [2022-07-14 14:50:32,451 INFO L374 stractBuchiCegarLoop]: Abstraction has 1348 states and 2091 transitions. [2022-07-14 14:50:32,451 INFO L287 stractBuchiCegarLoop]: ======== Iteration 16 ============ [2022-07-14 14:50:32,451 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1348 states and 2091 transitions. [2022-07-14 14:50:32,478 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 105 [2022-07-14 14:50:32,478 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:50:32,478 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:50:32,479 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [8, 8, 6, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:50:32,479 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [22, 22, 13, 13, 13, 13, 9, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:50:32,479 INFO L752 eck$LassoCheckResult]: Stem: 76748#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 76721#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 76722#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 76747#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 76734#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 76735#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 77487#L43 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; 77483#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 77484#factENTRY ~n := #in~n; 77488#L25 assume ~n <= 0;#res := 1; 77486#factFINAL assume true; 77482#factEXIT >#68#return; 77478#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 77479#factENTRY ~n := #in~n; 77485#L25 assume ~n <= 0;#res := 1; 77481#factFINAL assume true; 77477#factEXIT >#70#return; 77474#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 77475#factENTRY ~n := #in~n; 77480#L25 assume ~n <= 0;#res := 1; 77476#factFINAL assume true; 77473#factEXIT >#72#return; 77472#L30-3 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; 77470#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 77466#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 77464#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 77462#L43 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; 77460#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 77461#factENTRY ~n := #in~n; 77471#L25 assume !(~n <= 0); 77468#L26 call #t~ret0 := fact(~n - 1);< 77469#factENTRY ~n := #in~n; 77493#L25 assume ~n <= 0;#res := 1; 77489#factFINAL assume true; 77467#factEXIT >#66#return; 77465#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 77463#factFINAL assume true; 77459#factEXIT >#74#return; 77458#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 77453#factENTRY ~n := #in~n; 77534#L25 assume ~n <= 0;#res := 1; 77533#factFINAL assume true; 77457#factEXIT >#76#return; 77305#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 77455#factENTRY ~n := #in~n; 77516#L25 assume !(~n <= 0); 77512#L26 call #t~ret0 := fact(~n - 1);< 77513#factENTRY ~n := #in~n; 77517#L25 assume ~n <= 0;#res := 1; 77515#factFINAL assume true; 77511#factEXIT >#66#return; 77501#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 77456#factFINAL assume true; 77304#factEXIT >#78#return; 77303#L30-8 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; 77301#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 77054#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 77043#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 77041#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 77037#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 76866#L42-3 [2022-07-14 14:50:32,480 INFO L754 eck$LassoCheckResult]: Loop: 76866#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 76864#L43 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; 76850#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 76860#factENTRY ~n := #in~n; 76906#L25 assume !(~n <= 0); 76807#L26 call #t~ret0 := fact(~n - 1);< 76883#factENTRY ~n := #in~n; 76885#L25 assume ~n <= 0;#res := 1; 76884#factFINAL assume true; 76873#factEXIT >#66#return; 76877#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 76899#factFINAL assume true; 76900#factEXIT >#68#return; 76848#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 76861#factENTRY ~n := #in~n; 76891#L25 assume ~n <= 0;#res := 1; 76859#factFINAL assume true; 76843#factEXIT >#70#return; 76854#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 76905#factENTRY ~n := #in~n; 76907#L25 assume !(~n <= 0); 76807#L26 call #t~ret0 := fact(~n - 1);< 76883#factENTRY ~n := #in~n; 76826#L25 assume !(~n <= 0); 76813#L26 call #t~ret0 := fact(~n - 1);< 76825#factENTRY ~n := #in~n; 76829#L25 assume ~n <= 0;#res := 1; 76865#factFINAL assume true; 76862#factEXIT >#66#return; 76858#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 76857#factFINAL assume true; 76833#factEXIT >#66#return; 76834#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 76904#factFINAL assume true; 76896#factEXIT >#72#return; 76897#L30-3 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; 76910#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 76909#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 76898#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 76895#L43 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; 76801#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 76860#factENTRY ~n := #in~n; 76906#L25 assume !(~n <= 0); 76807#L26 call #t~ret0 := fact(~n - 1);< 76883#factENTRY ~n := #in~n; 76826#L25 assume !(~n <= 0); 76813#L26 call #t~ret0 := fact(~n - 1);< 76825#factENTRY ~n := #in~n; 76829#L25 assume ~n <= 0;#res := 1; 76865#factFINAL assume true; 76862#factEXIT >#66#return; 76858#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 76857#factFINAL assume true; 76833#factEXIT >#66#return; 76834#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 76904#factFINAL assume true; 76896#factEXIT >#68#return; 76849#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 76860#factENTRY ~n := #in~n; 76906#L25 assume !(~n <= 0); 76807#L26 call #t~ret0 := fact(~n - 1);< 76883#factENTRY ~n := #in~n; 76826#L25 assume !(~n <= 0); 76813#L26 call #t~ret0 := fact(~n - 1);< 76825#factENTRY ~n := #in~n; 76829#L25 assume ~n <= 0;#res := 1; 76865#factFINAL assume true; 76862#factEXIT >#66#return; 76858#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 76857#factFINAL assume true; 76833#factEXIT >#66#return; 76834#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 76904#factFINAL assume true; 76896#factEXIT >#70#return; 76845#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 76856#factENTRY ~n := #in~n; 76863#L25 assume ~n <= 0;#res := 1; 76859#factFINAL assume true; 76843#factEXIT >#72#return; 76842#L30-3 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; 76841#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 76831#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 76830#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 76827#L43 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; 76781#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 76786#factENTRY ~n := #in~n; 76802#L25 assume !(~n <= 0); 76803#L26 call #t~ret0 := fact(~n - 1);< 76883#factENTRY ~n := #in~n; 76826#L25 assume !(~n <= 0); 76813#L26 call #t~ret0 := fact(~n - 1);< 76825#factENTRY ~n := #in~n; 76826#L25 assume !(~n <= 0); 76813#L26 call #t~ret0 := fact(~n - 1);< 76825#factENTRY ~n := #in~n; 76829#L25 assume ~n <= 0;#res := 1; 76865#factFINAL assume true; 76862#factEXIT >#66#return; 76858#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 76857#factFINAL assume true; 76833#factEXIT >#66#return; 76822#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 76824#factFINAL assume true; 76806#factEXIT >#66#return; 76805#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 76804#factFINAL assume true; 76792#factEXIT >#74#return; 76778#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 76786#factENTRY ~n := #in~n; 76802#L25 assume !(~n <= 0); 76803#L26 call #t~ret0 := fact(~n - 1);< 76883#factENTRY ~n := #in~n; 76826#L25 assume !(~n <= 0); 76813#L26 call #t~ret0 := fact(~n - 1);< 76825#factENTRY ~n := #in~n; 76829#L25 assume ~n <= 0;#res := 1; 76865#factFINAL assume true; 76862#factEXIT >#66#return; 76858#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 76857#factFINAL assume true; 76833#factEXIT >#66#return; 76839#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 76868#factFINAL assume true; 76869#factEXIT >#76#return; 76774#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 76790#factENTRY ~n := #in~n; 76840#L25 assume !(~n <= 0); 76796#L26 call #t~ret0 := fact(~n - 1);< 76800#factENTRY ~n := #in~n; 76832#L25 assume ~n <= 0;#res := 1; 76828#factFINAL assume true; 76794#factEXIT >#66#return; 76793#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 76789#factFINAL assume true; 76773#factEXIT >#78#return; 76772#L30-8 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; 76771#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 76770#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 76768#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 76743#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 76744#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 76866#L42-3 [2022-07-14 14:50:32,480 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:32,480 INFO L85 PathProgramCache]: Analyzing trace with hash -1978773599, now seen corresponding path program 1 times [2022-07-14 14:50:32,480 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:32,480 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1794622479] [2022-07-14 14:50:32,480 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:32,480 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:32,485 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:32,485 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1537577209] [2022-07-14 14:50:32,486 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:32,486 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:32,486 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:32,511 INFO L229 MonitoredProcess]: Starting monitored process 99 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:32,531 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (99)] Waiting until timeout for monitored process [2022-07-14 14:50:32,582 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:50:32,582 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:50:32,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:50:32,610 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:50:32,610 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:32,611 INFO L85 PathProgramCache]: Analyzing trace with hash 1748177579, now seen corresponding path program 3 times [2022-07-14 14:50:32,611 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:32,611 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1822498313] [2022-07-14 14:50:32,611 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:32,611 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:32,616 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:32,617 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1262625632] [2022-07-14 14:50:32,617 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-14 14:50:32,617 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:32,617 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:32,624 INFO L229 MonitoredProcess]: Starting monitored process 100 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:32,627 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (100)] Waiting until timeout for monitored process [2022-07-14 14:50:32,688 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 8 check-sat command(s) [2022-07-14 14:50:32,689 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-14 14:50:32,690 INFO L263 TraceCheckSpWp]: Trace formula consists of 263 conjuncts, 15 conjunts are in the unsatisfiable core [2022-07-14 14:50:32,692 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:32,872 INFO L134 CoverageAnalysis]: Checked inductivity of 1097 backedges. 34 proven. 151 refuted. 0 times theorem prover too weak. 912 trivial. 0 not checked. [2022-07-14 14:50:32,873 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:50:33,208 INFO L134 CoverageAnalysis]: Checked inductivity of 1097 backedges. 34 proven. 152 refuted. 0 times theorem prover too weak. 911 trivial. 0 not checked. [2022-07-14 14:50:33,208 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:50:33,209 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1822498313] [2022-07-14 14:50:33,209 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:50:33,209 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1262625632] [2022-07-14 14:50:33,209 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1262625632] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:50:33,209 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:50:33,209 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 12] total 14 [2022-07-14 14:50:33,210 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [301453441] [2022-07-14 14:50:33,210 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:50:33,211 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-14 14:50:33,211 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:50:33,211 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-07-14 14:50:33,212 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=168, Unknown=0, NotChecked=0, Total=210 [2022-07-14 14:50:33,212 INFO L87 Difference]: Start difference. First operand 1348 states and 2091 transitions. cyclomatic complexity: 758 Second operand has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 15 states have internal predecessors, (35), 8 states have call successors, (16), 1 states have call predecessors, (16), 3 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-07-14 14:50:33,691 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:50:33,691 INFO L93 Difference]: Finished difference Result 1601 states and 2619 transitions. [2022-07-14 14:50:33,692 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-07-14 14:50:33,693 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1601 states and 2619 transitions. [2022-07-14 14:50:33,706 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 171 [2022-07-14 14:50:33,721 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1601 states to 1601 states and 2619 transitions. [2022-07-14 14:50:33,722 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 356 [2022-07-14 14:50:33,722 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 356 [2022-07-14 14:50:33,723 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1601 states and 2619 transitions. [2022-07-14 14:50:33,723 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:50:33,723 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1601 states and 2619 transitions. [2022-07-14 14:50:33,724 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1601 states and 2619 transitions. [2022-07-14 14:50:33,754 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1601 to 1479. [2022-07-14 14:50:33,756 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1479 states, 896 states have (on average 1.1071428571428572) internal successors, (992), 877 states have internal predecessors, (992), 418 states have call successors, (418), 168 states have call predecessors, (418), 165 states have return successors, (1028), 433 states have call predecessors, (1028), 418 states have call successors, (1028) [2022-07-14 14:50:33,762 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1479 states to 1479 states and 2438 transitions. [2022-07-14 14:50:33,763 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1479 states and 2438 transitions. [2022-07-14 14:50:33,763 INFO L374 stractBuchiCegarLoop]: Abstraction has 1479 states and 2438 transitions. [2022-07-14 14:50:33,763 INFO L287 stractBuchiCegarLoop]: ======== Iteration 17 ============ [2022-07-14 14:50:33,763 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1479 states and 2438 transitions. [2022-07-14 14:50:33,768 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 141 [2022-07-14 14:50:33,769 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:50:33,769 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:50:33,770 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [8, 8, 6, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:50:33,770 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [18, 18, 9, 9, 9, 9, 9, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:50:33,770 INFO L752 eck$LassoCheckResult]: Stem: 80597#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 80558#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 80559#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 80596#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 80581#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 80582#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 81420#L43 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; 81416#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 81417#factENTRY ~n := #in~n; 81421#L25 assume ~n <= 0;#res := 1; 81419#factFINAL assume true; 81415#factEXIT >#68#return; 81411#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 81412#factENTRY ~n := #in~n; 81418#L25 assume ~n <= 0;#res := 1; 81414#factFINAL assume true; 81410#factEXIT >#70#return; 81407#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 81408#factENTRY ~n := #in~n; 81413#L25 assume ~n <= 0;#res := 1; 81409#factFINAL assume true; 81406#factEXIT >#72#return; 81403#L30-3 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; 81401#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 81397#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 81394#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 81390#L43 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; 81384#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 81385#factENTRY ~n := #in~n; 81404#L25 assume !(~n <= 0); 81399#L26 call #t~ret0 := fact(~n - 1);< 81400#factENTRY ~n := #in~n; 81405#L25 assume ~n <= 0;#res := 1; 81402#factFINAL assume true; 81398#factEXIT >#66#return; 81396#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 81389#factFINAL assume true; 81383#factEXIT >#74#return; 81381#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 81376#factENTRY ~n := #in~n; 81467#L25 assume ~n <= 0;#res := 1; 81422#factFINAL assume true; 81380#factEXIT >#76#return; 81165#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 81378#factENTRY ~n := #in~n; 81393#L25 assume !(~n <= 0); 81387#L26 call #t~ret0 := fact(~n - 1);< 81388#factENTRY ~n := #in~n; 81395#L25 assume ~n <= 0;#res := 1; 81392#factFINAL assume true; 81386#factEXIT >#66#return; 81382#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 81379#factFINAL assume true; 81164#factEXIT >#78#return; 81166#L30-8 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; 80939#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 80919#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 80914#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 80913#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 80911#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 80722#L42-3 [2022-07-14 14:50:33,771 INFO L754 eck$LassoCheckResult]: Loop: 80722#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 80720#L43 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; 80694#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 80717#factENTRY ~n := #in~n; 80796#L25 assume !(~n <= 0); 80666#L26 call #t~ret0 := fact(~n - 1);< 80746#factENTRY ~n := #in~n; 80754#L25 assume ~n <= 0;#res := 1; 80747#factFINAL assume true; 80737#factEXIT >#66#return; 80742#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 80809#factFINAL assume true; 80807#factEXIT >#68#return; 80693#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 80804#factENTRY ~n := #in~n; 80813#L25 assume ~n <= 0;#res := 1; 80716#factFINAL assume true; 80692#factEXIT >#70#return; 80709#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 80810#factENTRY ~n := #in~n; 80814#L25 assume !(~n <= 0); 80666#L26 call #t~ret0 := fact(~n - 1);< 80746#factENTRY ~n := #in~n; 80754#L25 assume ~n <= 0;#res := 1; 80747#factFINAL assume true; 80737#factEXIT >#66#return; 80742#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 80809#factFINAL assume true; 80807#factEXIT >#72#return; 80712#L30-3 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; 80818#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 80817#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 80801#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 80800#L43 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; 80641#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 80717#factENTRY ~n := #in~n; 80796#L25 assume !(~n <= 0); 80666#L26 call #t~ret0 := fact(~n - 1);< 80746#factENTRY ~n := #in~n; 80754#L25 assume ~n <= 0;#res := 1; 80747#factFINAL assume true; 80737#factEXIT >#66#return; 80742#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 80809#factFINAL assume true; 80807#factEXIT >#68#return; 80707#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 80804#factENTRY ~n := #in~n; 80813#L25 assume !(~n <= 0); 80738#L26 call #t~ret0 := fact(~n - 1);< 80569#factENTRY ~n := #in~n; 80754#L25 assume ~n <= 0;#res := 1; 80747#factFINAL assume true; 80737#factEXIT >#66#return; 80742#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 80809#factFINAL assume true; 80807#factEXIT >#70#return; 80696#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 80713#factENTRY ~n := #in~n; 80719#L25 assume ~n <= 0;#res := 1; 80716#factFINAL assume true; 80692#factEXIT >#72#return; 80683#L30-3 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; 80656#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 80655#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 80653#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 80652#L43 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; 80629#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 80636#factENTRY ~n := #in~n; 80643#L25 assume !(~n <= 0); 80644#L26 call #t~ret0 := fact(~n - 1);< 80746#factENTRY ~n := #in~n; 80684#L25 assume !(~n <= 0); 80669#L26 call #t~ret0 := fact(~n - 1);< 80682#factENTRY ~n := #in~n; 80684#L25 assume !(~n <= 0); 80669#L26 call #t~ret0 := fact(~n - 1);< 80682#factENTRY ~n := #in~n; 80714#L25 assume ~n <= 0;#res := 1; 80723#factFINAL assume true; 80721#factEXIT >#66#return; 80718#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 80715#factFINAL assume true; 80685#factEXIT >#66#return; 80678#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 80680#factFINAL assume true; 80660#factEXIT >#66#return; 80659#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 80657#factFINAL assume true; 80637#factEXIT >#74#return; 80628#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 80636#factENTRY ~n := #in~n; 80643#L25 assume !(~n <= 0); 80644#L26 call #t~ret0 := fact(~n - 1);< 80746#factENTRY ~n := #in~n; 80754#L25 assume ~n <= 0;#res := 1; 80747#factFINAL assume true; 80737#factEXIT >#66#return; 80733#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 80734#factFINAL assume true; 80627#factEXIT >#76#return; 80624#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 80639#factENTRY ~n := #in~n; 80651#L25 assume !(~n <= 0); 80648#L26 call #t~ret0 := fact(~n - 1);< 80650#factENTRY ~n := #in~n; 80658#L25 assume ~n <= 0;#res := 1; 80654#factFINAL assume true; 80645#factEXIT >#66#return; 80642#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 80638#factFINAL assume true; 80623#factEXIT >#78#return; 80622#L30-8 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; 80621#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 80620#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 80618#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 80592#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 80593#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 80722#L42-3 [2022-07-14 14:50:33,771 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:33,771 INFO L85 PathProgramCache]: Analyzing trace with hash -1978773599, now seen corresponding path program 2 times [2022-07-14 14:50:33,771 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:33,771 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2011824050] [2022-07-14 14:50:33,772 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:33,772 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:33,776 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:33,777 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1460223707] [2022-07-14 14:50:33,777 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-14 14:50:33,777 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:33,777 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:33,779 INFO L229 MonitoredProcess]: Starting monitored process 101 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:33,807 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (101)] Waiting until timeout for monitored process [2022-07-14 14:50:33,843 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-14 14:50:33,843 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-14 14:50:33,843 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:50:33,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:50:33,870 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:50:33,871 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:33,871 INFO L85 PathProgramCache]: Analyzing trace with hash 1374943147, now seen corresponding path program 4 times [2022-07-14 14:50:33,871 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:33,871 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2050559791] [2022-07-14 14:50:33,871 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:33,871 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:33,877 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:33,877 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1757386002] [2022-07-14 14:50:33,878 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-14 14:50:33,878 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:33,878 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:33,883 INFO L229 MonitoredProcess]: Starting monitored process 102 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:33,908 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (102)] Waiting until timeout for monitored process [2022-07-14 14:50:33,955 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-14 14:50:33,955 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-14 14:50:33,957 INFO L263 TraceCheckSpWp]: Trace formula consists of 269 conjuncts, 16 conjunts are in the unsatisfiable core [2022-07-14 14:50:33,961 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:34,107 INFO L134 CoverageAnalysis]: Checked inductivity of 701 backedges. 387 proven. 46 refuted. 0 times theorem prover too weak. 268 trivial. 0 not checked. [2022-07-14 14:50:34,108 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:50:34,476 INFO L134 CoverageAnalysis]: Checked inductivity of 701 backedges. 135 proven. 110 refuted. 0 times theorem prover too weak. 456 trivial. 0 not checked. [2022-07-14 14:50:34,476 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:50:34,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2050559791] [2022-07-14 14:50:34,477 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:50:34,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1757386002] [2022-07-14 14:50:34,477 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1757386002] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:50:34,477 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:50:34,477 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 15] total 18 [2022-07-14 14:50:34,477 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [997003402] [2022-07-14 14:50:34,477 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:50:34,477 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-14 14:50:34,478 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:50:34,478 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-07-14 14:50:34,478 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=254, Unknown=0, NotChecked=0, Total=306 [2022-07-14 14:50:34,478 INFO L87 Difference]: Start difference. First operand 1479 states and 2438 transitions. cyclomatic complexity: 974 Second operand has 18 states, 15 states have (on average 3.2666666666666666) internal successors, (49), 18 states have internal predecessors, (49), 11 states have call successors, (19), 2 states have call predecessors, (19), 6 states have return successors, (20), 9 states have call predecessors, (20), 11 states have call successors, (20) [2022-07-14 14:50:35,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:50:35,112 INFO L93 Difference]: Finished difference Result 2407 states and 4437 transitions. [2022-07-14 14:50:35,112 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-07-14 14:50:35,113 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2407 states and 4437 transitions. [2022-07-14 14:50:35,131 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 351 [2022-07-14 14:50:35,154 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2407 states to 2404 states and 4431 transitions. [2022-07-14 14:50:35,154 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 567 [2022-07-14 14:50:35,155 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 567 [2022-07-14 14:50:35,155 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2404 states and 4431 transitions. [2022-07-14 14:50:35,156 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:50:35,156 INFO L369 hiAutomatonCegarLoop]: Abstraction has 2404 states and 4431 transitions. [2022-07-14 14:50:35,157 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2404 states and 4431 transitions. [2022-07-14 14:50:35,217 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2404 to 1665. [2022-07-14 14:50:35,219 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1665 states, 1001 states have (on average 1.1088911088911089) internal successors, (1110), 983 states have internal predecessors, (1110), 499 states have call successors, (499), 168 states have call predecessors, (499), 165 states have return successors, (1242), 513 states have call predecessors, (1242), 499 states have call successors, (1242) [2022-07-14 14:50:35,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1665 states to 1665 states and 2851 transitions. [2022-07-14 14:50:35,227 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1665 states and 2851 transitions. [2022-07-14 14:50:35,227 INFO L374 stractBuchiCegarLoop]: Abstraction has 1665 states and 2851 transitions. [2022-07-14 14:50:35,227 INFO L287 stractBuchiCegarLoop]: ======== Iteration 18 ============ [2022-07-14 14:50:35,228 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1665 states and 2851 transitions. [2022-07-14 14:50:35,235 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 193 [2022-07-14 14:50:35,235 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:50:35,235 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:50:35,236 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [8, 8, 6, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:50:35,236 INFO L180 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, 1] [2022-07-14 14:50:35,237 INFO L752 eck$LassoCheckResult]: Stem: 85220#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 85187#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 85188#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 85219#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 85206#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 85207#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 86474#L43 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; 85176#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 85177#factENTRY ~n := #in~n; 86480#L25 assume ~n <= 0;#res := 1; 86476#factFINAL assume true; 86475#factEXIT >#68#return; 85238#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 85239#factENTRY ~n := #in~n; 86556#L25 assume ~n <= 0;#res := 1; 86555#factFINAL assume true; 86554#factEXIT >#70#return; 85173#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 85174#factENTRY ~n := #in~n; 86582#L25 assume ~n <= 0;#res := 1; 86581#factFINAL assume true; 86580#factEXIT >#72#return; 85211#L30-3 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; 85212#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 85214#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 86588#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 85222#L43 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; 85223#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 86718#factENTRY ~n := #in~n; 86729#L25 assume !(~n <= 0); 86727#L26 call #t~ret0 := fact(~n - 1);< 86728#factENTRY ~n := #in~n; 86789#L25 assume ~n <= 0;#res := 1; 86787#factFINAL assume true; 86726#factEXIT >#66#return; 86723#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 86719#factFINAL assume true; 86713#factEXIT >#74#return; 86714#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 85243#factENTRY ~n := #in~n; 86805#L25 assume ~n <= 0;#res := 1; 86804#factFINAL assume true; 86803#factEXIT >#76#return; 85202#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 86802#factENTRY ~n := #in~n; 86801#L25 assume !(~n <= 0); 85170#L26 call #t~ret0 := fact(~n - 1);< 85203#factENTRY ~n := #in~n; 85235#L25 assume ~n <= 0;#res := 1; 85180#factFINAL assume true; 85169#factEXIT >#66#return; 85171#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 86809#factFINAL assume true; 86110#factEXIT >#78#return; 86109#L30-8 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; 86107#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 86103#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 85845#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 85597#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 85581#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 85357#L42-3 [2022-07-14 14:50:35,237 INFO L754 eck$LassoCheckResult]: Loop: 85357#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 85350#L43 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; 85320#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 85347#factENTRY ~n := #in~n; 85421#L25 assume !(~n <= 0); 85299#L26 call #t~ret0 := fact(~n - 1);< 85401#factENTRY ~n := #in~n; 85362#L25 assume !(~n <= 0); 85289#L26 call #t~ret0 := fact(~n - 1);< 85361#factENTRY ~n := #in~n; 85363#L25 assume ~n <= 0;#res := 1; 85391#factFINAL assume true; 85390#factEXIT >#66#return; 85389#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 85388#factFINAL assume true; 85382#factEXIT >#66#return; 85383#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 85418#factFINAL assume true; 85416#factEXIT >#68#return; 85327#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 85347#factENTRY ~n := #in~n; 85421#L25 assume ~n <= 0;#res := 1; 85346#factFINAL assume true; 85311#factEXIT >#70#return; 85336#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 85413#factENTRY ~n := #in~n; 85423#L25 assume !(~n <= 0); 85290#L26 call #t~ret0 := fact(~n - 1);< 85306#factENTRY ~n := #in~n; 85362#L25 assume !(~n <= 0); 85289#L26 call #t~ret0 := fact(~n - 1);< 85361#factENTRY ~n := #in~n; 85363#L25 assume ~n <= 0;#res := 1; 85391#factFINAL assume true; 85390#factEXIT >#66#return; 85389#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 85388#factFINAL assume true; 85382#factEXIT >#66#return; 85383#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 85418#factFINAL assume true; 85416#factEXIT >#72#return; 85407#L30-3 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; 85579#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 85560#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 85559#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 85558#L43 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; 85324#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 85347#factENTRY ~n := #in~n; 85421#L25 assume !(~n <= 0); 85299#L26 call #t~ret0 := fact(~n - 1);< 85401#factENTRY ~n := #in~n; 85362#L25 assume !(~n <= 0); 85289#L26 call #t~ret0 := fact(~n - 1);< 85361#factENTRY ~n := #in~n; 85362#L25 assume !(~n <= 0); 85289#L26 call #t~ret0 := fact(~n - 1);< 85361#factENTRY ~n := #in~n; 85363#L25 assume ~n <= 0;#res := 1; 85391#factFINAL assume true; 85390#factEXIT >#66#return; 85389#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 85388#factFINAL assume true; 85382#factEXIT >#66#return; 85300#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 85360#factFINAL assume true; 85288#factEXIT >#66#return; 85301#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 85425#factFINAL assume true; 85406#factEXIT >#68#return; 85313#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 85347#factENTRY ~n := #in~n; 85421#L25 assume !(~n <= 0); 85299#L26 call #t~ret0 := fact(~n - 1);< 85401#factENTRY ~n := #in~n; 85403#L25 assume ~n <= 0;#res := 1; 85402#factFINAL assume true; 85392#factEXIT >#66#return; 85397#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 85411#factFINAL assume true; 85412#factEXIT >#70#return; 85314#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 85347#factENTRY ~n := #in~n; 85421#L25 assume !(~n <= 0); 85299#L26 call #t~ret0 := fact(~n - 1);< 85401#factENTRY ~n := #in~n; 85403#L25 assume ~n <= 0;#res := 1; 85402#factFINAL assume true; 85392#factEXIT >#66#return; 85397#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 85411#factFINAL assume true; 85412#factEXIT >#72#return; 85337#L30-3 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; 85561#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 85428#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 85427#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 85426#L43 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; 85285#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 85347#factENTRY ~n := #in~n; 85421#L25 assume !(~n <= 0); 85299#L26 call #t~ret0 := fact(~n - 1);< 85401#factENTRY ~n := #in~n; 85403#L25 assume ~n <= 0;#res := 1; 85402#factFINAL assume true; 85392#factEXIT >#66#return; 85397#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 85411#factFINAL assume true; 85412#factEXIT >#68#return; 85321#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 85408#factENTRY ~n := #in~n; 85409#L25 assume !(~n <= 0); 85394#L26 call #t~ret0 := fact(~n - 1);< 85201#factENTRY ~n := #in~n; 85403#L25 assume ~n <= 0;#res := 1; 85402#factFINAL assume true; 85392#factEXIT >#66#return; 85397#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 85411#factFINAL assume true; 85412#factEXIT >#70#return; 85325#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 85339#factENTRY ~n := #in~n; 85349#L25 assume ~n <= 0;#res := 1; 85346#factFINAL assume true; 85311#factEXIT >#72#return; 85335#L30-3 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; 85381#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 85341#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 85340#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 85310#L43 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; 85262#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 85268#factENTRY ~n := #in~n; 85272#L25 assume !(~n <= 0); 85273#L26 call #t~ret0 := fact(~n - 1);< 85401#factENTRY ~n := #in~n; 85362#L25 assume !(~n <= 0); 85289#L26 call #t~ret0 := fact(~n - 1);< 85361#factENTRY ~n := #in~n; 85362#L25 assume !(~n <= 0); 85289#L26 call #t~ret0 := fact(~n - 1);< 85361#factENTRY ~n := #in~n; 85363#L25 assume ~n <= 0;#res := 1; 85391#factFINAL assume true; 85390#factEXIT >#66#return; 85389#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 85388#factFINAL assume true; 85382#factEXIT >#66#return; 85300#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 85360#factFINAL assume true; 85288#factEXIT >#66#return; 85286#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 85283#factFINAL assume true; 85274#factEXIT >#74#return; 85263#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 85268#factENTRY ~n := #in~n; 85272#L25 assume !(~n <= 0); 85273#L26 call #t~ret0 := fact(~n - 1);< 85401#factENTRY ~n := #in~n; 85362#L25 assume !(~n <= 0); 85289#L26 call #t~ret0 := fact(~n - 1);< 85361#factENTRY ~n := #in~n; 85363#L25 assume ~n <= 0;#res := 1; 85391#factFINAL assume true; 85390#factEXIT >#66#return; 85389#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 85388#factFINAL assume true; 85382#factEXIT >#66#return; 85385#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 85352#factFINAL assume true; 85353#factEXIT >#76#return; 85256#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 85270#factENTRY ~n := #in~n; 85345#L25 assume !(~n <= 0); 85277#L26 call #t~ret0 := fact(~n - 1);< 85282#factENTRY ~n := #in~n; 85348#L25 assume ~n <= 0;#res := 1; 85342#factFINAL assume true; 85276#factEXIT >#66#return; 85275#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 85269#factFINAL assume true; 85255#factEXIT >#78#return; 85254#L30-8 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; 85253#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 85252#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 85250#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 85215#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 85216#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 85357#L42-3 [2022-07-14 14:50:35,238 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:35,238 INFO L85 PathProgramCache]: Analyzing trace with hash -1978773599, now seen corresponding path program 3 times [2022-07-14 14:50:35,238 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:35,238 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1007392362] [2022-07-14 14:50:35,238 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:35,238 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:35,243 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:35,243 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1854689226] [2022-07-14 14:50:35,243 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-14 14:50:35,244 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:35,244 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:35,251 INFO L229 MonitoredProcess]: Starting monitored process 103 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:35,272 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (103)] Waiting until timeout for monitored process [2022-07-14 14:50:35,307 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 8 check-sat command(s) [2022-07-14 14:50:35,307 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-14 14:50:35,307 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:50:35,324 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:50:35,335 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:50:35,335 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:35,336 INFO L85 PathProgramCache]: Analyzing trace with hash 199866650, now seen corresponding path program 5 times [2022-07-14 14:50:35,336 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:35,336 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2082932598] [2022-07-14 14:50:35,336 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:35,336 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:35,342 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:35,342 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1892788515] [2022-07-14 14:50:35,342 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-14 14:50:35,342 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:35,342 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:35,350 INFO L229 MonitoredProcess]: Starting monitored process 104 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:35,375 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (104)] Waiting until timeout for monitored process [2022-07-14 14:50:35,453 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 15 check-sat command(s) [2022-07-14 14:50:35,454 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-14 14:50:35,456 INFO L263 TraceCheckSpWp]: Trace formula consists of 344 conjuncts, 17 conjunts are in the unsatisfiable core [2022-07-14 14:50:35,459 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:35,574 INFO L134 CoverageAnalysis]: Checked inductivity of 1933 backedges. 1225 proven. 59 refuted. 0 times theorem prover too weak. 649 trivial. 0 not checked. [2022-07-14 14:50:35,574 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:50:36,089 INFO L134 CoverageAnalysis]: Checked inductivity of 1933 backedges. 241 proven. 441 refuted. 0 times theorem prover too weak. 1251 trivial. 0 not checked. [2022-07-14 14:50:36,090 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:50:36,090 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2082932598] [2022-07-14 14:50:36,090 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:50:36,090 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1892788515] [2022-07-14 14:50:36,090 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1892788515] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:50:36,090 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:50:36,090 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 14] total 17 [2022-07-14 14:50:36,091 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1291381002] [2022-07-14 14:50:36,091 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:50:36,091 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-14 14:50:36,091 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:50:36,092 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-07-14 14:50:36,092 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=221, Unknown=0, NotChecked=0, Total=272 [2022-07-14 14:50:36,092 INFO L87 Difference]: Start difference. First operand 1665 states and 2851 transitions. cyclomatic complexity: 1201 Second operand has 17 states, 14 states have (on average 3.642857142857143) internal successors, (51), 14 states have internal predecessors, (51), 11 states have call successors, (26), 2 states have call predecessors, (26), 7 states have return successors, (29), 9 states have call predecessors, (29), 11 states have call successors, (29) [2022-07-14 14:50:36,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:50:36,556 INFO L93 Difference]: Finished difference Result 2540 states and 4169 transitions. [2022-07-14 14:50:36,556 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-07-14 14:50:36,557 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2540 states and 4169 transitions. [2022-07-14 14:50:36,575 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 335 [2022-07-14 14:50:36,595 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2540 states to 2481 states and 4103 transitions. [2022-07-14 14:50:36,596 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 573 [2022-07-14 14:50:36,597 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 573 [2022-07-14 14:50:36,597 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2481 states and 4103 transitions. [2022-07-14 14:50:36,597 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:50:36,597 INFO L369 hiAutomatonCegarLoop]: Abstraction has 2481 states and 4103 transitions. [2022-07-14 14:50:36,598 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2481 states and 4103 transitions. [2022-07-14 14:50:36,636 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2481 to 1665. [2022-07-14 14:50:36,639 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1665 states, 1001 states have (on average 1.1088911088911089) internal successors, (1110), 983 states have internal predecessors, (1110), 499 states have call successors, (499), 168 states have call predecessors, (499), 165 states have return successors, (1231), 513 states have call predecessors, (1231), 499 states have call successors, (1231) [2022-07-14 14:50:36,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1665 states to 1665 states and 2840 transitions. [2022-07-14 14:50:36,647 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1665 states and 2840 transitions. [2022-07-14 14:50:36,647 INFO L374 stractBuchiCegarLoop]: Abstraction has 1665 states and 2840 transitions. [2022-07-14 14:50:36,647 INFO L287 stractBuchiCegarLoop]: ======== Iteration 19 ============ [2022-07-14 14:50:36,647 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1665 states and 2840 transitions. [2022-07-14 14:50:36,654 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 193 [2022-07-14 14:50:36,654 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:50:36,654 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:50:36,655 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [8, 8, 6, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:50:36,656 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [27, 27, 15, 15, 15, 15, 12, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:50:36,656 INFO L752 eck$LassoCheckResult]: Stem: 90562#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 90529#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 90530#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 90561#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 90548#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 90549#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 91892#L43 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; 90521#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 90522#factENTRY ~n := #in~n; 91891#L25 assume ~n <= 0;#res := 1; 91890#factFINAL assume true; 91889#factEXIT >#68#return; 90577#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 90578#factENTRY ~n := #in~n; 91906#L25 assume ~n <= 0;#res := 1; 91905#factFINAL assume true; 91904#factEXIT >#70#return; 90495#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 90496#factENTRY ~n := #in~n; 91917#L25 assume ~n <= 0;#res := 1; 91916#factFINAL assume true; 91915#factEXIT >#72#return; 90557#L30-3 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; 90558#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 90560#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 91984#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 91980#L43 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; 91981#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 92041#factENTRY ~n := #in~n; 92055#L25 assume !(~n <= 0); 92052#L26 call #t~ret0 := fact(~n - 1);< 92053#factENTRY ~n := #in~n; 92056#L25 assume ~n <= 0;#res := 1; 92054#factFINAL assume true; 92051#factEXIT >#66#return; 92050#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 92048#factFINAL assume true; 92040#factEXIT >#74#return; 92034#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 92035#factENTRY ~n := #in~n; 92039#L25 assume ~n <= 0;#res := 1; 92036#factFINAL assume true; 92033#factEXIT >#76#return; 91436#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 92038#factENTRY ~n := #in~n; 92046#L25 assume !(~n <= 0); 92044#L26 call #t~ret0 := fact(~n - 1);< 92045#factENTRY ~n := #in~n; 92049#L25 assume ~n <= 0;#res := 1; 92047#factFINAL assume true; 92043#factEXIT >#66#return; 92042#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 92037#factFINAL assume true; 91435#factEXIT >#78#return; 91434#L30-8 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; 91431#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 91428#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 91177#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 91175#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 90924#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 90921#L42-3 [2022-07-14 14:50:36,656 INFO L754 eck$LassoCheckResult]: Loop: 90921#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 90725#L43 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; 90712#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 90723#factENTRY ~n := #in~n; 90768#L25 assume !(~n <= 0); 90616#L26 call #t~ret0 := fact(~n - 1);< 90676#factENTRY ~n := #in~n; 90679#L25 assume ~n <= 0;#res := 1; 90677#factFINAL assume true; 90667#factEXIT >#66#return; 90675#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 90776#factFINAL assume true; 90774#factEXIT >#68#return; 90694#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 90777#factENTRY ~n := #in~n; 90779#L25 assume ~n <= 0;#res := 1; 90722#factFINAL assume true; 90693#factEXIT >#70#return; 90717#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 90775#factENTRY ~n := #in~n; 90780#L25 assume !(~n <= 0); 90616#L26 call #t~ret0 := fact(~n - 1);< 90676#factENTRY ~n := #in~n; 90679#L25 assume ~n <= 0;#res := 1; 90677#factFINAL assume true; 90667#factEXIT >#66#return; 90675#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 90776#factFINAL assume true; 90774#factEXIT >#72#return; 90773#L30-3 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; 90772#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 90771#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 90770#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 90769#L43 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; 90711#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 90723#factENTRY ~n := #in~n; 90768#L25 assume !(~n <= 0); 90616#L26 call #t~ret0 := fact(~n - 1);< 90676#factENTRY ~n := #in~n; 90645#L25 assume !(~n <= 0); 90617#L26 call #t~ret0 := fact(~n - 1);< 90631#factENTRY ~n := #in~n; 90651#L25 assume ~n <= 0;#res := 1; 90650#factFINAL assume true; 90649#factEXIT >#66#return; 90648#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 90646#factFINAL assume true; 90633#factEXIT >#66#return; 90637#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 90805#factFINAL assume true; 90766#factEXIT >#68#return; 90695#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 90723#factENTRY ~n := #in~n; 90768#L25 assume !(~n <= 0); 90616#L26 call #t~ret0 := fact(~n - 1);< 90676#factENTRY ~n := #in~n; 90645#L25 assume !(~n <= 0); 90617#L26 call #t~ret0 := fact(~n - 1);< 90631#factENTRY ~n := #in~n; 90645#L25 assume !(~n <= 0); 90617#L26 call #t~ret0 := fact(~n - 1);< 90631#factENTRY ~n := #in~n; 90651#L25 assume ~n <= 0;#res := 1; 90650#factFINAL assume true; 90649#factEXIT >#66#return; 90648#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 90646#factFINAL assume true; 90633#factEXIT >#66#return; 90626#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 90630#factFINAL assume true; 90609#factEXIT >#66#return; 90624#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 90786#factFINAL assume true; 90784#factEXIT >#70#return; 90699#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 90721#factENTRY ~n := #in~n; 90724#L25 assume ~n <= 0;#res := 1; 90722#factFINAL assume true; 90693#factEXIT >#72#return; 90688#L30-3 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; 90681#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 90632#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 90629#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 90607#L43 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; 90608#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 90723#factENTRY ~n := #in~n; 90768#L25 assume !(~n <= 0); 90616#L26 call #t~ret0 := fact(~n - 1);< 90676#factENTRY ~n := #in~n; 90679#L25 assume ~n <= 0;#res := 1; 90677#factFINAL assume true; 90667#factEXIT >#66#return; 90675#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 90776#factFINAL assume true; 90774#factEXIT >#68#return; 90706#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 90777#factENTRY ~n := #in~n; 90779#L25 assume !(~n <= 0); 90669#L26 call #t~ret0 := fact(~n - 1);< 90542#factENTRY ~n := #in~n; 90679#L25 assume ~n <= 0;#res := 1; 90677#factFINAL assume true; 90667#factEXIT >#66#return; 90675#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 90776#factFINAL assume true; 90774#factEXIT >#70#return; 90707#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 90721#factENTRY ~n := #in~n; 90724#L25 assume ~n <= 0;#res := 1; 90722#factFINAL assume true; 90693#factEXIT >#72#return; 90692#L30-3 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; 90687#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 90686#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 90682#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 90628#L43 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; 90595#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 90602#factENTRY ~n := #in~n; 90685#L25 assume !(~n <= 0); 90620#L26 call #t~ret0 := fact(~n - 1);< 90676#factENTRY ~n := #in~n; 90645#L25 assume !(~n <= 0); 90617#L26 call #t~ret0 := fact(~n - 1);< 90631#factENTRY ~n := #in~n; 90645#L25 assume !(~n <= 0); 90617#L26 call #t~ret0 := fact(~n - 1);< 90631#factENTRY ~n := #in~n; 90651#L25 assume ~n <= 0;#res := 1; 90650#factFINAL assume true; 90649#factEXIT >#66#return; 90648#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 90646#factFINAL assume true; 90633#factEXIT >#66#return; 90626#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 90630#factFINAL assume true; 90609#factEXIT >#66#return; 90606#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 90604#factFINAL assume true; 90603#factEXIT >#74#return; 90594#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 90602#factENTRY ~n := #in~n; 90685#L25 assume !(~n <= 0); 90620#L26 call #t~ret0 := fact(~n - 1);< 90676#factENTRY ~n := #in~n; 90645#L25 assume !(~n <= 0); 90617#L26 call #t~ret0 := fact(~n - 1);< 90631#factENTRY ~n := #in~n; 90651#L25 assume ~n <= 0;#res := 1; 90650#factFINAL assume true; 90649#factEXIT >#66#return; 90648#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 90646#factFINAL assume true; 90633#factEXIT >#66#return; 90639#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 90647#factFINAL assume true; 90641#factEXIT >#76#return; 90599#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 90600#factENTRY ~n := #in~n; 90664#L25 assume !(~n <= 0); 90656#L26 call #t~ret0 := fact(~n - 1);< 90659#factENTRY ~n := #in~n; 90665#L25 assume ~n <= 0;#res := 1; 90661#factFINAL assume true; 90653#factEXIT >#66#return; 90652#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 90644#factFINAL assume true; 90640#factEXIT >#78#return; 90589#L30-8 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; 90588#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 90587#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 90585#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 90552#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 90553#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 90921#L42-3 [2022-07-14 14:50:36,657 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:36,657 INFO L85 PathProgramCache]: Analyzing trace with hash -1978773599, now seen corresponding path program 4 times [2022-07-14 14:50:36,657 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:36,657 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1622719096] [2022-07-14 14:50:36,657 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:36,658 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:36,666 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:36,666 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1527724511] [2022-07-14 14:50:36,666 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-14 14:50:36,666 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:36,666 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:36,671 INFO L229 MonitoredProcess]: Starting monitored process 105 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:36,685 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (105)] Waiting until timeout for monitored process [2022-07-14 14:50:36,729 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-14 14:50:36,730 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-14 14:50:36,730 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:50:36,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:50:36,758 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:50:36,758 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:36,758 INFO L85 PathProgramCache]: Analyzing trace with hash 1751748826, now seen corresponding path program 6 times [2022-07-14 14:50:36,758 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:36,758 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1399172348] [2022-07-14 14:50:36,758 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:36,759 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:36,766 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:36,767 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1145202901] [2022-07-14 14:50:36,767 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-14 14:50:36,767 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:36,767 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:36,775 INFO L229 MonitoredProcess]: Starting monitored process 106 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:36,790 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (106)] Waiting until timeout for monitored process [2022-07-14 14:50:36,850 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2022-07-14 14:50:36,850 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-14 14:50:36,852 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 17 conjunts are in the unsatisfiable core [2022-07-14 14:50:36,854 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:36,978 INFO L134 CoverageAnalysis]: Checked inductivity of 1651 backedges. 764 proven. 39 refuted. 0 times theorem prover too weak. 848 trivial. 0 not checked. [2022-07-14 14:50:36,978 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:50:37,400 INFO L134 CoverageAnalysis]: Checked inductivity of 1651 backedges. 68 proven. 393 refuted. 0 times theorem prover too weak. 1190 trivial. 0 not checked. [2022-07-14 14:50:37,400 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:50:37,400 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1399172348] [2022-07-14 14:50:37,400 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:50:37,400 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1145202901] [2022-07-14 14:50:37,400 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1145202901] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:50:37,400 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:50:37,401 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 14] total 18 [2022-07-14 14:50:37,401 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1351535574] [2022-07-14 14:50:37,401 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:50:37,401 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-14 14:50:37,402 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:50:37,402 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-07-14 14:50:37,402 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=255, Unknown=0, NotChecked=0, Total=306 [2022-07-14 14:50:37,402 INFO L87 Difference]: Start difference. First operand 1665 states and 2840 transitions. cyclomatic complexity: 1190 Second operand has 18 states, 13 states have (on average 3.8461538461538463) internal successors, (50), 16 states have internal predecessors, (50), 12 states have call successors, (26), 2 states have call predecessors, (26), 6 states have return successors, (26), 10 states have call predecessors, (26), 12 states have call successors, (26) [2022-07-14 14:50:37,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:50:37,989 INFO L93 Difference]: Finished difference Result 2140 states and 3373 transitions. [2022-07-14 14:50:37,989 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-07-14 14:50:37,990 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2140 states and 3373 transitions. [2022-07-14 14:50:38,004 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 300 [2022-07-14 14:50:38,020 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2140 states to 2136 states and 3369 transitions. [2022-07-14 14:50:38,021 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 506 [2022-07-14 14:50:38,021 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 506 [2022-07-14 14:50:38,021 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2136 states and 3369 transitions. [2022-07-14 14:50:38,021 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:50:38,022 INFO L369 hiAutomatonCegarLoop]: Abstraction has 2136 states and 3369 transitions. [2022-07-14 14:50:38,023 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2136 states and 3369 transitions. [2022-07-14 14:50:38,058 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2136 to 1793. [2022-07-14 14:50:38,060 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1793 states, 1123 states have (on average 1.113980409617097) internal successors, (1251), 1106 states have internal predecessors, (1251), 509 states have call successors, (509), 163 states have call predecessors, (509), 161 states have return successors, (1098), 523 states have call predecessors, (1098), 509 states have call successors, (1098) [2022-07-14 14:50:38,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1793 states to 1793 states and 2858 transitions. [2022-07-14 14:50:38,067 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1793 states and 2858 transitions. [2022-07-14 14:50:38,067 INFO L374 stractBuchiCegarLoop]: Abstraction has 1793 states and 2858 transitions. [2022-07-14 14:50:38,067 INFO L287 stractBuchiCegarLoop]: ======== Iteration 20 ============ [2022-07-14 14:50:38,068 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1793 states and 2858 transitions. [2022-07-14 14:50:38,074 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 237 [2022-07-14 14:50:38,074 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:50:38,074 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:50:38,075 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [8, 8, 6, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:50:38,076 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [28, 28, 16, 16, 16, 16, 12, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:50:38,076 INFO L752 eck$LassoCheckResult]: Stem: 95445#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 95414#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 95415#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 95444#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 95430#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 95431#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 96500#L43 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; 96496#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 96497#factENTRY ~n := #in~n; 96501#L25 assume ~n <= 0;#res := 1; 96499#factFINAL assume true; 96495#factEXIT >#68#return; 96491#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 96492#factENTRY ~n := #in~n; 96498#L25 assume ~n <= 0;#res := 1; 96494#factFINAL assume true; 96490#factEXIT >#70#return; 96487#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 96488#factENTRY ~n := #in~n; 96493#L25 assume ~n <= 0;#res := 1; 96489#factFINAL assume true; 96486#factEXIT >#72#return; 96485#L30-3 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; 96484#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 96483#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 96482#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 96465#L43 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; 96466#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 96600#factENTRY ~n := #in~n; 96622#L25 assume !(~n <= 0); 96612#L26 call #t~ret0 := fact(~n - 1);< 96613#factENTRY ~n := #in~n; 96621#L25 assume ~n <= 0;#res := 1; 96620#factFINAL assume true; 96611#factEXIT >#66#return; 96605#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 96604#factFINAL assume true; 96599#factEXIT >#74#return; 96592#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 96595#factENTRY ~n := #in~n; 96602#L25 assume ~n <= 0;#res := 1; 96596#factFINAL assume true; 96591#factEXIT >#76#return; 96396#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 96397#factENTRY ~n := #in~n; 96675#L25 assume !(~n <= 0); 96673#L26 call #t~ret0 := fact(~n - 1);< 96674#factENTRY ~n := #in~n; 96677#L25 assume ~n <= 0;#res := 1; 96676#factFINAL assume true; 96672#factEXIT >#66#return; 96671#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 96401#factFINAL assume true; 96395#factEXIT >#78#return; 96392#L30-8 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; 96386#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 96385#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 95882#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 95869#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 95866#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 95628#L42-3 [2022-07-14 14:50:38,076 INFO L754 eck$LassoCheckResult]: Loop: 95628#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 95627#L43 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; 95607#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 95625#factENTRY ~n := #in~n; 95650#L25 assume !(~n <= 0); 95511#L26 call #t~ret0 := fact(~n - 1);< 95562#factENTRY ~n := #in~n; 95533#L25 assume !(~n <= 0); 95517#L26 call #t~ret0 := fact(~n - 1);< 95532#factENTRY ~n := #in~n; 95540#L25 assume ~n <= 0;#res := 1; 95544#factFINAL assume true; 95543#factEXIT >#66#return; 95542#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 95541#factFINAL assume true; 95534#factEXIT >#66#return; 95535#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 95637#factFINAL assume true; 95638#factEXIT >#68#return; 95593#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 95625#factENTRY ~n := #in~n; 95650#L25 assume ~n <= 0;#res := 1; 95624#factFINAL assume true; 95592#factEXIT >#70#return; 95616#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 95639#factENTRY ~n := #in~n; 95665#L25 assume !(~n <= 0); 95522#L26 call #t~ret0 := fact(~n - 1);< 95528#factENTRY ~n := #in~n; 95533#L25 assume !(~n <= 0); 95517#L26 call #t~ret0 := fact(~n - 1);< 95532#factENTRY ~n := #in~n; 95533#L25 assume !(~n <= 0); 95517#L26 call #t~ret0 := fact(~n - 1);< 95532#factENTRY ~n := #in~n; 95540#L25 assume ~n <= 0;#res := 1; 95544#factFINAL assume true; 95543#factEXIT >#66#return; 95542#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 95541#factFINAL assume true; 95534#factEXIT >#66#return; 95527#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 95529#factFINAL assume true; 95510#factEXIT >#66#return; 95523#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 95660#factFINAL assume true; 95654#factEXIT >#72#return; 95640#L30-3 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; 95668#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 95666#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 95663#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 95644#L43 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; 95601#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 95625#factENTRY ~n := #in~n; 95650#L25 assume !(~n <= 0); 95511#L26 call #t~ret0 := fact(~n - 1);< 95562#factENTRY ~n := #in~n; 95575#L25 assume ~n <= 0;#res := 1; 95563#factFINAL assume true; 95546#factEXIT >#66#return; 95553#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 95642#factFINAL assume true; 95635#factEXIT >#68#return; 95600#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 95631#factENTRY ~n := #in~n; 95632#L25 assume !(~n <= 0); 95548#L26 call #t~ret0 := fact(~n - 1);< 95570#factENTRY ~n := #in~n; 95575#L25 assume ~n <= 0;#res := 1; 95563#factFINAL assume true; 95546#factEXIT >#66#return; 95553#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 95642#factFINAL assume true; 95635#factEXIT >#70#return; 95615#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 95623#factENTRY ~n := #in~n; 95626#L25 assume ~n <= 0;#res := 1; 95624#factFINAL assume true; 95592#factEXIT >#72#return; 95622#L30-3 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; 95692#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 95678#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 95676#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 95674#L43 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; 95585#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 95631#factENTRY ~n := #in~n; 95632#L25 assume !(~n <= 0); 95548#L26 call #t~ret0 := fact(~n - 1);< 95570#factENTRY ~n := #in~n; 95575#L25 assume ~n <= 0;#res := 1; 95563#factFINAL assume true; 95546#factEXIT >#66#return; 95553#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 95642#factFINAL assume true; 95635#factEXIT >#68#return; 95595#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 95631#factENTRY ~n := #in~n; 95632#L25 assume !(~n <= 0); 95548#L26 call #t~ret0 := fact(~n - 1);< 95570#factENTRY ~n := #in~n; 95575#L25 assume ~n <= 0;#res := 1; 95563#factFINAL assume true; 95546#factEXIT >#66#return; 95553#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 95642#factFINAL assume true; 95635#factEXIT >#70#return; 95606#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 95623#factENTRY ~n := #in~n; 95626#L25 assume ~n <= 0;#res := 1; 95624#factFINAL assume true; 95592#factEXIT >#72#return; 95619#L30-3 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; 95658#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 95657#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 95656#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 95586#L43 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; 95489#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 95501#factENTRY ~n := #in~n; 95577#L25 assume !(~n <= 0); 95519#L26 call #t~ret0 := fact(~n - 1);< 95562#factENTRY ~n := #in~n; 95533#L25 assume !(~n <= 0); 95517#L26 call #t~ret0 := fact(~n - 1);< 95532#factENTRY ~n := #in~n; 95533#L25 assume !(~n <= 0); 95517#L26 call #t~ret0 := fact(~n - 1);< 95532#factENTRY ~n := #in~n; 95540#L25 assume ~n <= 0;#res := 1; 95544#factFINAL assume true; 95543#factEXIT >#66#return; 95542#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 95541#factFINAL assume true; 95534#factEXIT >#66#return; 95527#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 95529#factFINAL assume true; 95510#factEXIT >#66#return; 95509#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 95507#factFINAL assume true; 95504#factEXIT >#74#return; 95492#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 95501#factENTRY ~n := #in~n; 95577#L25 assume !(~n <= 0); 95519#L26 call #t~ret0 := fact(~n - 1);< 95562#factENTRY ~n := #in~n; 95533#L25 assume !(~n <= 0); 95517#L26 call #t~ret0 := fact(~n - 1);< 95532#factENTRY ~n := #in~n; 95533#L25 assume !(~n <= 0); 95517#L26 call #t~ret0 := fact(~n - 1);< 95532#factENTRY ~n := #in~n; 95540#L25 assume ~n <= 0;#res := 1; 95544#factFINAL assume true; 95543#factEXIT >#66#return; 95542#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 95541#factFINAL assume true; 95534#factEXIT >#66#return; 95527#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 95529#factFINAL assume true; 95510#factEXIT >#66#return; 95509#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 95507#factFINAL assume true; 95504#factEXIT >#76#return; 95484#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 95487#factENTRY ~n := #in~n; 95574#L25 assume !(~n <= 0); 95558#L26 call #t~ret0 := fact(~n - 1);< 95423#factENTRY ~n := #in~n; 95576#L25 assume ~n <= 0;#res := 1; 95571#factFINAL assume true; 95557#factEXIT >#66#return; 95502#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 95503#factFINAL assume true; 95483#factEXIT >#78#return; 95486#L30-8 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; 95698#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 95697#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 95696#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 95440#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 95441#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 95628#L42-3 [2022-07-14 14:50:38,076 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:38,077 INFO L85 PathProgramCache]: Analyzing trace with hash -1978773599, now seen corresponding path program 5 times [2022-07-14 14:50:38,077 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:38,077 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1853877325] [2022-07-14 14:50:38,077 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:38,077 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:38,082 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:38,082 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1334204203] [2022-07-14 14:50:38,082 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-14 14:50:38,082 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:38,082 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:38,087 INFO L229 MonitoredProcess]: Starting monitored process 107 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:38,119 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (107)] Waiting until timeout for monitored process [2022-07-14 14:50:38,149 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 8 check-sat command(s) [2022-07-14 14:50:38,150 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-14 14:50:38,150 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:50:38,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:50:38,177 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:50:38,177 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:38,177 INFO L85 PathProgramCache]: Analyzing trace with hash -1656925934, now seen corresponding path program 7 times [2022-07-14 14:50:38,177 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:38,178 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [856817821] [2022-07-14 14:50:38,178 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:38,178 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:38,190 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:38,190 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1151335369] [2022-07-14 14:50:38,190 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-14 14:50:38,191 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:38,191 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:38,195 INFO L229 MonitoredProcess]: Starting monitored process 108 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:38,211 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (108)] Waiting until timeout for monitored process [2022-07-14 14:50:38,279 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:50:38,281 INFO L263 TraceCheckSpWp]: Trace formula consists of 404 conjuncts, 14 conjunts are in the unsatisfiable core [2022-07-14 14:50:38,283 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:38,387 INFO L134 CoverageAnalysis]: Checked inductivity of 1789 backedges. 914 proven. 64 refuted. 0 times theorem prover too weak. 811 trivial. 0 not checked. [2022-07-14 14:50:38,387 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:50:38,695 INFO L134 CoverageAnalysis]: Checked inductivity of 1789 backedges. 74 proven. 342 refuted. 0 times theorem prover too weak. 1373 trivial. 0 not checked. [2022-07-14 14:50:38,695 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:50:38,695 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [856817821] [2022-07-14 14:50:38,695 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:50:38,695 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1151335369] [2022-07-14 14:50:38,695 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1151335369] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:50:38,696 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:50:38,696 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 13] total 16 [2022-07-14 14:50:38,696 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [473115572] [2022-07-14 14:50:38,696 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:50:38,696 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-14 14:50:38,696 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:50:38,697 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-07-14 14:50:38,697 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=197, Unknown=0, NotChecked=0, Total=240 [2022-07-14 14:50:38,697 INFO L87 Difference]: Start difference. First operand 1793 states and 2858 transitions. cyclomatic complexity: 1081 Second operand has 16 states, 13 states have (on average 3.8461538461538463) internal successors, (50), 16 states have internal predecessors, (50), 11 states have call successors, (24), 2 states have call predecessors, (24), 6 states have return successors, (24), 6 states have call predecessors, (24), 11 states have call successors, (24) [2022-07-14 14:50:39,131 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:50:39,131 INFO L93 Difference]: Finished difference Result 1925 states and 3036 transitions. [2022-07-14 14:50:39,132 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-07-14 14:50:39,133 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1925 states and 3036 transitions. [2022-07-14 14:50:39,144 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 249 [2022-07-14 14:50:39,159 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1925 states to 1751 states and 2665 transitions. [2022-07-14 14:50:39,159 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 454 [2022-07-14 14:50:39,160 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 454 [2022-07-14 14:50:39,160 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1751 states and 2665 transitions. [2022-07-14 14:50:39,160 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:50:39,160 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1751 states and 2665 transitions. [2022-07-14 14:50:39,161 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1751 states and 2665 transitions. [2022-07-14 14:50:39,188 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1751 to 1660. [2022-07-14 14:50:39,190 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1660 states, 1059 states have (on average 1.1123701605288008) internal successors, (1178), 1045 states have internal predecessors, (1178), 443 states have call successors, (443), 159 states have call predecessors, (443), 158 states have return successors, (903), 455 states have call predecessors, (903), 443 states have call successors, (903) [2022-07-14 14:50:39,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1660 states to 1660 states and 2524 transitions. [2022-07-14 14:50:39,196 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1660 states and 2524 transitions. [2022-07-14 14:50:39,197 INFO L374 stractBuchiCegarLoop]: Abstraction has 1660 states and 2524 transitions. [2022-07-14 14:50:39,197 INFO L287 stractBuchiCegarLoop]: ======== Iteration 21 ============ [2022-07-14 14:50:39,197 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1660 states and 2524 transitions. [2022-07-14 14:50:39,203 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 242 [2022-07-14 14:50:39,204 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:50:39,204 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:50:39,205 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [8, 8, 6, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:50:39,205 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [25, 25, 13, 13, 13, 13, 12, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:50:39,206 INFO L752 eck$LassoCheckResult]: Stem: 100256#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 100228#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 100229#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 100255#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 100241#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 100242#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 101600#L43 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; 100217#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 100218#factENTRY ~n := #in~n; 101613#L25 assume ~n <= 0;#res := 1; 101611#factFINAL assume true; 101608#factEXIT >#68#return; 100274#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 100275#factENTRY ~n := #in~n; 101581#L25 assume ~n <= 0;#res := 1; 101580#factFINAL assume true; 101579#factEXIT >#70#return; 100208#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 100209#factENTRY ~n := #in~n; 101616#L25 assume ~n <= 0;#res := 1; 101615#factFINAL assume true; 101614#factEXIT >#72#return; 100254#L30-3 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; 100251#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 100252#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 101706#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 101704#L43 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; 101656#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 101657#factENTRY ~n := #in~n; 101696#L25 assume !(~n <= 0); 101694#L26 call #t~ret0 := fact(~n - 1);< 101695#factENTRY ~n := #in~n; 101700#L25 assume ~n <= 0;#res := 1; 101698#factFINAL assume true; 101693#factEXIT >#66#return; 101691#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 101690#factFINAL assume true; 101655#factEXIT >#74#return; 101649#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 101642#factENTRY ~n := #in~n; 101686#L25 assume ~n <= 0;#res := 1; 101653#factFINAL assume true; 101648#factEXIT >#76#return; 101624#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 101646#factENTRY ~n := #in~n; 101677#L25 assume !(~n <= 0); 101651#L26 call #t~ret0 := fact(~n - 1);< 101652#factENTRY ~n := #in~n; 101660#L25 assume ~n <= 0;#res := 1; 101659#factFINAL assume true; 101650#factEXIT >#66#return; 101647#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 101645#factFINAL assume true; 101623#factEXIT >#78#return; 101622#L30-8 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; 101620#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 101618#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 101022#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 101021#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 100998#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 100485#L42-3 [2022-07-14 14:50:39,206 INFO L754 eck$LassoCheckResult]: Loop: 100485#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 100410#L43 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; 100376#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 100405#factENTRY ~n := #in~n; 100427#L25 assume !(~n <= 0); 100330#L26 call #t~ret0 := fact(~n - 1);< 100424#factENTRY ~n := #in~n; 100436#L25 assume ~n <= 0;#res := 1; 100430#factFINAL assume true; 100416#factEXIT >#66#return; 100413#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 100411#factFINAL assume true; 100406#factEXIT >#68#return; 100386#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 100408#factENTRY ~n := #in~n; 100426#L25 assume ~n <= 0;#res := 1; 100404#factFINAL assume true; 100374#factEXIT >#70#return; 100399#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 100412#factENTRY ~n := #in~n; 100428#L25 assume !(~n <= 0); 100330#L26 call #t~ret0 := fact(~n - 1);< 100424#factENTRY ~n := #in~n; 100436#L25 assume ~n <= 0;#res := 1; 100430#factFINAL assume true; 100416#factEXIT >#66#return; 100413#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 100411#factFINAL assume true; 100406#factEXIT >#72#return; 100407#L30-3 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; 100429#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 100425#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 100415#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 100414#L43 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; 100394#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 100408#factENTRY ~n := #in~n; 100426#L25 assume !(~n <= 0); 100418#L26 call #t~ret0 := fact(~n - 1);< 100237#factENTRY ~n := #in~n; 100436#L25 assume ~n <= 0;#res := 1; 100430#factFINAL assume true; 100416#factEXIT >#66#return; 100413#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 100411#factFINAL assume true; 100406#factEXIT >#68#return; 100380#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 100408#factENTRY ~n := #in~n; 100426#L25 assume !(~n <= 0); 100418#L26 call #t~ret0 := fact(~n - 1);< 100237#factENTRY ~n := #in~n; 100436#L25 assume ~n <= 0;#res := 1; 100430#factFINAL assume true; 100416#factEXIT >#66#return; 100413#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 100411#factFINAL assume true; 100406#factEXIT >#70#return; 100383#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 100403#factENTRY ~n := #in~n; 100409#L25 assume ~n <= 0;#res := 1; 100404#factFINAL assume true; 100374#factEXIT >#72#return; 100373#L30-3 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; 100372#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 100371#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 100370#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 100366#L43 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; 100367#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 100408#factENTRY ~n := #in~n; 100426#L25 assume !(~n <= 0); 100418#L26 call #t~ret0 := fact(~n - 1);< 100237#factENTRY ~n := #in~n; 100436#L25 assume ~n <= 0;#res := 1; 100430#factFINAL assume true; 100416#factEXIT >#66#return; 100413#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 100411#factFINAL assume true; 100406#factEXIT >#68#return; 100378#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 100408#factENTRY ~n := #in~n; 100426#L25 assume !(~n <= 0); 100418#L26 call #t~ret0 := fact(~n - 1);< 100237#factENTRY ~n := #in~n; 100436#L25 assume ~n <= 0;#res := 1; 100430#factFINAL assume true; 100416#factEXIT >#66#return; 100413#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 100411#factFINAL assume true; 100406#factEXIT >#70#return; 100379#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 100403#factENTRY ~n := #in~n; 100409#L25 assume ~n <= 0;#res := 1; 100404#factFINAL assume true; 100374#factEXIT >#72#return; 100400#L30-3 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; 100478#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 100477#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 100476#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 100475#L43 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; 100299#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 100310#factENTRY ~n := #in~n; 100438#L25 assume !(~n <= 0); 100325#L26 call #t~ret0 := fact(~n - 1);< 100424#factENTRY ~n := #in~n; 100340#L25 assume !(~n <= 0); 100321#L26 call #t~ret0 := fact(~n - 1);< 100339#factENTRY ~n := #in~n; 100340#L25 assume !(~n <= 0); 100321#L26 call #t~ret0 := fact(~n - 1);< 100339#factENTRY ~n := #in~n; 100351#L25 assume ~n <= 0;#res := 1; 100350#factFINAL assume true; 100349#factEXIT >#66#return; 100348#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 100347#factFINAL assume true; 100341#factEXIT >#66#return; 100332#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 100337#factFINAL assume true; 100319#factEXIT >#66#return; 100318#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 100317#factFINAL assume true; 100312#factEXIT >#74#return; 100300#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 100310#factENTRY ~n := #in~n; 100438#L25 assume !(~n <= 0); 100325#L26 call #t~ret0 := fact(~n - 1);< 100424#factENTRY ~n := #in~n; 100340#L25 assume !(~n <= 0); 100321#L26 call #t~ret0 := fact(~n - 1);< 100339#factENTRY ~n := #in~n; 100340#L25 assume !(~n <= 0); 100321#L26 call #t~ret0 := fact(~n - 1);< 100339#factENTRY ~n := #in~n; 100351#L25 assume ~n <= 0;#res := 1; 100350#factFINAL assume true; 100349#factEXIT >#66#return; 100348#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 100347#factFINAL assume true; 100341#factEXIT >#66#return; 100332#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 100337#factFINAL assume true; 100319#factEXIT >#66#return; 100318#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 100317#factFINAL assume true; 100312#factEXIT >#76#return; 100307#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 100308#factENTRY ~n := #in~n; 100368#L25 assume !(~n <= 0); 100358#L26 call #t~ret0 := fact(~n - 1);< 100361#factENTRY ~n := #in~n; 100369#L25 assume ~n <= 0;#res := 1; 100362#factFINAL assume true; 100355#factEXIT >#66#return; 100354#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 100353#factFINAL assume true; 100352#factEXIT >#78#return; 100291#L30-8 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; 100292#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 100287#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 100288#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 100245#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 100246#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 100485#L42-3 [2022-07-14 14:50:39,206 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:39,206 INFO L85 PathProgramCache]: Analyzing trace with hash -1978773599, now seen corresponding path program 6 times [2022-07-14 14:50:39,207 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:39,207 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [528765923] [2022-07-14 14:50:39,207 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:39,207 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:39,216 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:39,216 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1035982729] [2022-07-14 14:50:39,216 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-14 14:50:39,216 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:39,217 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:39,223 INFO L229 MonitoredProcess]: Starting monitored process 109 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:39,248 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (109)] Waiting until timeout for monitored process [2022-07-14 14:50:39,286 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2022-07-14 14:50:39,286 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-14 14:50:39,286 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:50:39,302 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:50:39,313 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:50:39,314 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:39,314 INFO L85 PathProgramCache]: Analyzing trace with hash 401042970, now seen corresponding path program 8 times [2022-07-14 14:50:39,314 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:39,314 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [678761488] [2022-07-14 14:50:39,314 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:39,314 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:39,320 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:39,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2025157988] [2022-07-14 14:50:39,320 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-14 14:50:39,320 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:39,320 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:39,322 INFO L229 MonitoredProcess]: Starting monitored process 110 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:39,324 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (110)] Waiting until timeout for monitored process [2022-07-14 14:50:39,406 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-14 14:50:39,406 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-14 14:50:39,408 INFO L263 TraceCheckSpWp]: Trace formula consists of 368 conjuncts, 12 conjunts are in the unsatisfiable core [2022-07-14 14:50:39,411 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:39,523 INFO L134 CoverageAnalysis]: Checked inductivity of 1393 backedges. 724 proven. 39 refuted. 0 times theorem prover too weak. 630 trivial. 0 not checked. [2022-07-14 14:50:39,523 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:50:39,800 INFO L134 CoverageAnalysis]: Checked inductivity of 1393 backedges. 55 proven. 145 refuted. 0 times theorem prover too weak. 1193 trivial. 0 not checked. [2022-07-14 14:50:39,800 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:50:39,800 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [678761488] [2022-07-14 14:50:39,800 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:50:39,800 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2025157988] [2022-07-14 14:50:39,800 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2025157988] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:50:39,800 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:50:39,800 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 12 [2022-07-14 14:50:39,801 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2053115661] [2022-07-14 14:50:39,801 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:50:39,801 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-14 14:50:39,801 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:50:39,801 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-07-14 14:50:39,801 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-07-14 14:50:39,802 INFO L87 Difference]: Start difference. First operand 1660 states and 2524 transitions. cyclomatic complexity: 882 Second operand has 12 states, 10 states have (on average 4.3) internal successors, (43), 12 states have internal predecessors, (43), 7 states have call successors, (25), 2 states have call predecessors, (25), 4 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) [2022-07-14 14:50:40,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:50:40,055 INFO L93 Difference]: Finished difference Result 1245 states and 1730 transitions. [2022-07-14 14:50:40,056 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-07-14 14:50:40,059 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1245 states and 1730 transitions. [2022-07-14 14:50:40,065 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 84 [2022-07-14 14:50:40,071 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1245 states to 1006 states and 1419 transitions. [2022-07-14 14:50:40,072 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 274 [2022-07-14 14:50:40,072 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 274 [2022-07-14 14:50:40,072 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1006 states and 1419 transitions. [2022-07-14 14:50:40,072 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:50:40,073 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1006 states and 1419 transitions. [2022-07-14 14:50:40,073 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1006 states and 1419 transitions. [2022-07-14 14:50:40,087 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1006 to 1003. [2022-07-14 14:50:40,088 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1003 states, 643 states have (on average 1.0762052877138413) internal successors, (692), 633 states have internal predecessors, (692), 244 states have call successors, (244), 115 states have call predecessors, (244), 116 states have return successors, (477), 254 states have call predecessors, (477), 244 states have call successors, (477) [2022-07-14 14:50:40,092 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1003 states to 1003 states and 1413 transitions. [2022-07-14 14:50:40,092 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1003 states and 1413 transitions. [2022-07-14 14:50:40,092 INFO L374 stractBuchiCegarLoop]: Abstraction has 1003 states and 1413 transitions. [2022-07-14 14:50:40,092 INFO L287 stractBuchiCegarLoop]: ======== Iteration 22 ============ [2022-07-14 14:50:40,092 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1003 states and 1413 transitions. [2022-07-14 14:50:40,095 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 84 [2022-07-14 14:50:40,095 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:50:40,095 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:50:40,096 INFO L179 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, 1] [2022-07-14 14:50:40,096 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [7, 7, 4, 4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:50:40,096 INFO L752 eck$LassoCheckResult]: Stem: 104163#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 104132#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 104133#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 104162#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 104147#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 104148#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 104842#L43 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; 104103#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 104104#factENTRY ~n := #in~n; 104848#L25 assume ~n <= 0;#res := 1; 104846#factFINAL assume true; 104843#factEXIT >#68#return; 104177#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 104178#factENTRY ~n := #in~n; 104819#L25 assume ~n <= 0;#res := 1; 104817#factFINAL assume true; 104816#factEXIT >#70#return; 104100#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 104101#factENTRY ~n := #in~n; 104859#L25 assume ~n <= 0;#res := 1; 104858#factFINAL assume true; 104856#factEXIT >#72#return; 104855#L30-3 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; 104153#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 104154#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 104940#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 104888#L43 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; 104884#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 104885#factENTRY ~n := #in~n; 104966#L25 assume !(~n <= 0); 104903#L26 call #t~ret0 := fact(~n - 1);< 104904#factENTRY ~n := #in~n; 104964#L25 assume ~n <= 0;#res := 1; 104963#factFINAL assume true; 104902#factEXIT >#66#return; 104900#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 104898#factFINAL assume true; 104883#factEXIT >#74#return; 104879#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 104873#factENTRY ~n := #in~n; 104907#L25 assume ~n <= 0;#res := 1; 104886#factFINAL assume true; 104878#factEXIT >#76#return; 104458#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 104876#factENTRY ~n := #in~n; 104895#L25 assume !(~n <= 0); 104881#L26 call #t~ret0 := fact(~n - 1);< 104882#factENTRY ~n := #in~n; 104894#L25 assume ~n <= 0;#res := 1; 104893#factFINAL assume true; 104880#factEXIT >#66#return; 104877#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 104875#factFINAL assume true; 104457#factEXIT >#78#return; 104459#L30-8 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; 104834#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 104813#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 104434#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 104160#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 104161#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 104299#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 104297#L43 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; 104262#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 104287#factENTRY ~n := #in~n; 104356#L25 assume !(~n <= 0); 104230#L26 call #t~ret0 := fact(~n - 1);< 104250#factENTRY ~n := #in~n; 104325#L25 assume ~n <= 0;#res := 1; 104315#factFINAL assume true; 104305#factEXIT >#66#return; 104310#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 104293#factFINAL assume true; 104289#factEXIT >#68#return; 104263#L30-1 [2022-07-14 14:50:40,096 INFO L754 eck$LassoCheckResult]: Loop: 104263#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 104288#factENTRY ~n := #in~n; 104355#L25 assume ~n <= 0;#res := 1; 104286#factFINAL assume true; 104260#factEXIT >#70#return; 104277#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 104350#factENTRY ~n := #in~n; 104357#L25 assume !(~n <= 0); 104230#L26 call #t~ret0 := fact(~n - 1);< 104250#factENTRY ~n := #in~n; 104247#L25 assume !(~n <= 0); 104226#L26 call #t~ret0 := fact(~n - 1);< 104242#factENTRY ~n := #in~n; 104247#L25 assume !(~n <= 0); 104226#L26 call #t~ret0 := fact(~n - 1);< 104242#factENTRY ~n := #in~n; 104248#L25 assume ~n <= 0;#res := 1; 104284#factFINAL assume true; 104283#factEXIT >#66#return; 104281#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 104249#factFINAL assume true; 104243#factEXIT >#66#return; 104233#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 104241#factFINAL assume true; 104224#factEXIT >#66#return; 104235#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 104368#factFINAL assume true; 104358#factEXIT >#72#return; 104345#L30-3 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; 104344#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 104342#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 104340#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 104339#L43 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; 104270#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 104288#factENTRY ~n := #in~n; 104355#L25 assume !(~n <= 0); 104307#L26 call #t~ret0 := fact(~n - 1);< 104141#factENTRY ~n := #in~n; 104325#L25 assume ~n <= 0;#res := 1; 104315#factFINAL assume true; 104305#factEXIT >#66#return; 104310#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 104293#factFINAL assume true; 104289#factEXIT >#68#return; 104263#L30-1 [2022-07-14 14:50:40,097 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:40,097 INFO L85 PathProgramCache]: Analyzing trace with hash -1617221305, now seen corresponding path program 7 times [2022-07-14 14:50:40,097 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:40,097 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1872583894] [2022-07-14 14:50:40,097 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:40,097 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:40,102 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:40,102 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2042680425] [2022-07-14 14:50:40,102 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-14 14:50:40,102 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:40,103 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:40,104 INFO L229 MonitoredProcess]: Starting monitored process 111 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:40,125 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (111)] Waiting until timeout for monitored process [2022-07-14 14:50:40,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:50:40,173 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:50:40,191 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:50:40,203 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:50:40,203 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:40,204 INFO L85 PathProgramCache]: Analyzing trace with hash -1909618240, now seen corresponding path program 4 times [2022-07-14 14:50:40,204 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:40,204 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [526667805] [2022-07-14 14:50:40,204 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:40,204 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:40,208 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:40,208 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1522110877] [2022-07-14 14:50:40,208 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-14 14:50:40,209 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:40,209 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:40,210 INFO L229 MonitoredProcess]: Starting monitored process 112 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:40,239 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (112)] Waiting until timeout for monitored process [2022-07-14 14:50:40,286 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-14 14:50:40,287 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-14 14:50:40,287 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:50:40,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:50:40,307 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:50:40,308 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:40,308 INFO L85 PathProgramCache]: Analyzing trace with hash 2019844614, now seen corresponding path program 8 times [2022-07-14 14:50:40,308 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:40,308 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1318553127] [2022-07-14 14:50:40,308 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:40,308 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:40,316 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:40,317 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1660902846] [2022-07-14 14:50:40,317 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-14 14:50:40,317 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:40,317 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:40,321 INFO L229 MonitoredProcess]: Starting monitored process 113 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:40,322 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (113)] Waiting until timeout for monitored process [2022-07-14 14:50:40,403 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-14 14:50:40,403 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-14 14:50:40,405 INFO L263 TraceCheckSpWp]: Trace formula consists of 280 conjuncts, 12 conjunts are in the unsatisfiable core [2022-07-14 14:50:40,406 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:40,475 INFO L134 CoverageAnalysis]: Checked inductivity of 613 backedges. 236 proven. 16 refuted. 0 times theorem prover too weak. 361 trivial. 0 not checked. [2022-07-14 14:50:40,475 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:50:40,689 INFO L134 CoverageAnalysis]: Checked inductivity of 613 backedges. 104 proven. 33 refuted. 0 times theorem prover too weak. 476 trivial. 0 not checked. [2022-07-14 14:50:40,689 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:50:40,689 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1318553127] [2022-07-14 14:50:40,689 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:50:40,689 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1660902846] [2022-07-14 14:50:40,689 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1660902846] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:50:40,690 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:50:40,690 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 13 [2022-07-14 14:50:40,690 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1052667505] [2022-07-14 14:50:40,690 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:50:41,480 INFO L210 LassoAnalysis]: Preferences: [2022-07-14 14:50:41,481 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-14 14:50:41,481 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-14 14:50:41,481 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-14 14:50:41,481 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-14 14:50:41,481 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:41,481 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-14 14:50:41,481 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-14 14:50:41,481 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration22_Loop [2022-07-14 14:50:41,481 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-14 14:50:41,481 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-14 14:50:41,482 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:41,503 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:41,505 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:41,506 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:41,507 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:41,509 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:41,585 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-14 14:50:41,585 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-14 14:50:41,585 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:41,585 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:41,588 INFO L229 MonitoredProcess]: Starting monitored process 114 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:41,588 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (114)] Waiting until timeout for monitored process [2022-07-14 14:50:41,589 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-14 14:50:41,589 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:50:41,622 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (114)] Ended with exit code 0 [2022-07-14 14:50:41,623 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:41,623 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:41,624 INFO L229 MonitoredProcess]: Starting monitored process 115 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:41,625 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (115)] Waiting until timeout for monitored process [2022-07-14 14:50:41,626 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-14 14:50:41,626 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-14 14:50:42,288 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-14 14:50:42,292 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (115)] Ended with exit code 0 [2022-07-14 14:50:42,293 INFO L210 LassoAnalysis]: Preferences: [2022-07-14 14:50:42,293 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-14 14:50:42,293 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-14 14:50:42,293 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-14 14:50:42,293 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-14 14:50:42,293 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:42,293 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-14 14:50:42,293 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-14 14:50:42,293 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration22_Loop [2022-07-14 14:50:42,293 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-14 14:50:42,293 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-14 14:50:42,294 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:42,296 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:42,321 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:42,322 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:42,324 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:42,325 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2022-07-14 14:50:42,404 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-14 14:50:42,404 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-14 14:50:42,404 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:42,405 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:42,406 INFO L229 MonitoredProcess]: Starting monitored process 116 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:42,410 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (116)] Waiting until timeout for monitored process [2022-07-14 14:50:42,410 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 [2022-07-14 14:50:42,415 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:50:42,415 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:50:42,415 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:50:42,415 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:50:42,415 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:50:42,416 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:50:42,416 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:50:42,416 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-14 14:50:42,431 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (116)] Ended with exit code 0 [2022-07-14 14:50:42,431 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:42,432 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:42,433 INFO L229 MonitoredProcess]: Starting monitored process 117 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:42,433 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (117)] Waiting until timeout for monitored process [2022-07-14 14:50:42,435 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 [2022-07-14 14:50:42,440 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-14 14:50:42,440 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-14 14:50:42,440 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-14 14:50:42,440 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-14 14:50:42,440 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-14 14:50:42,442 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-14 14:50:42,442 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-14 14:50:42,445 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-14 14:50:42,449 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2022-07-14 14:50:42,449 INFO L444 ModelExtractionUtils]: 6 out of 10 variables were initially zero. Simplification set additionally 1 variables to zero. [2022-07-14 14:50:42,449 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-14 14:50:42,449 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:42,451 INFO L229 MonitoredProcess]: Starting monitored process 118 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2022-07-14 14:50:42,451 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (118)] Waiting until timeout for monitored process [2022-07-14 14:50:42,452 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-14 14:50:42,452 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-14 14:50:42,452 INFO L513 LassoAnalysis]: Proved termination. [2022-07-14 14:50:42,452 INFO L515 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 [] [2022-07-14 14:50:42,467 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (117)] Forceful destruction successful, exit code 0 [2022-07-14 14:50:42,468 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-14 14:50:42,476 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:42,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:50:42,542 INFO L263 TraceCheckSpWp]: Trace formula consists of 461 conjuncts, 22 conjunts are in the unsatisfiable core [2022-07-14 14:50:42,544 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:42,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:50:42,859 INFO L263 TraceCheckSpWp]: Trace formula consists of 297 conjuncts, 18 conjunts are in the unsatisfiable core [2022-07-14 14:50:42,861 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:42,991 INFO L134 CoverageAnalysis]: Checked inductivity of 96 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-07-14 14:50:42,992 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.2 stem predicates 4 loop predicates [2022-07-14 14:50:42,992 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1003 states and 1413 transitions. cyclomatic complexity: 426 Second operand has 7 states, 6 states have (on average 5.0) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-07-14 14:50:43,088 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1003 states and 1413 transitions. cyclomatic complexity: 426. Second operand has 7 states, 6 states have (on average 5.0) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) Result 1279 states and 1789 transitions. Complement of second has 14 states. [2022-07-14 14:50:43,090 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 [2022-07-14 14:50:43,091 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 5.0) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-07-14 14:50:43,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 38 transitions. [2022-07-14 14:50:43,091 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 38 transitions. Stem has 73 letters. Loop has 44 letters. [2022-07-14 14:50:43,091 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:50:43,092 INFO L577 RefineBuchi]: Bad chosen interpolant automaton: word not accepted [2022-07-14 14:50:43,101 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:43,164 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:50:43,169 INFO L263 TraceCheckSpWp]: Trace formula consists of 461 conjuncts, 22 conjunts are in the unsatisfiable core [2022-07-14 14:50:43,171 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:43,294 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (118)] Forceful destruction successful, exit code 0 [2022-07-14 14:50:43,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:50:43,540 INFO L263 TraceCheckSpWp]: Trace formula consists of 297 conjuncts, 18 conjunts are in the unsatisfiable core [2022-07-14 14:50:43,541 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:43,657 INFO L134 CoverageAnalysis]: Checked inductivity of 96 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-07-14 14:50:43,657 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and with honda bouncer for loop.2 stem predicates 4 loop predicates [2022-07-14 14:50:43,658 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1003 states and 1413 transitions. cyclomatic complexity: 426 Second operand has 7 states, 6 states have (on average 5.0) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-07-14 14:50:43,750 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1003 states and 1413 transitions. cyclomatic complexity: 426. Second operand has 7 states, 6 states have (on average 5.0) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) Result 1284 states and 1794 transitions. Complement of second has 18 states. [2022-07-14 14:50:43,751 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 7 states 2 stem states 4 non-accepting loop states 1 accepting loop states [2022-07-14 14:50:43,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 5.0) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-07-14 14:50:43,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 39 transitions. [2022-07-14 14:50:43,752 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 7 states and 39 transitions. Stem has 73 letters. Loop has 44 letters. [2022-07-14 14:50:43,752 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:50:43,753 INFO L577 RefineBuchi]: Bad chosen interpolant automaton: word not accepted [2022-07-14 14:50:43,761 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:43,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:50:43,820 INFO L263 TraceCheckSpWp]: Trace formula consists of 461 conjuncts, 22 conjunts are in the unsatisfiable core [2022-07-14 14:50:43,822 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:44,134 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:50:44,136 INFO L263 TraceCheckSpWp]: Trace formula consists of 297 conjuncts, 18 conjunts are in the unsatisfiable core [2022-07-14 14:50:44,137 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:44,245 INFO L134 CoverageAnalysis]: Checked inductivity of 96 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-07-14 14:50:44,246 INFO L152 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 [2022-07-14 14:50:44,246 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1003 states and 1413 transitions. cyclomatic complexity: 426 Second operand has 7 states, 6 states have (on average 5.0) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-07-14 14:50:44,365 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1003 states and 1413 transitions. cyclomatic complexity: 426. Second operand has 7 states, 6 states have (on average 5.0) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) Result 2292 states and 3138 transitions. Complement of second has 20 states. [2022-07-14 14:50:44,367 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 [2022-07-14 14:50:44,367 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 5.0) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (12), 5 states have call predecessors, (12), 6 states have call successors, (12) [2022-07-14 14:50:44,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 66 transitions. [2022-07-14 14:50:44,368 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 66 transitions. Stem has 73 letters. Loop has 44 letters. [2022-07-14 14:50:44,368 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:50:44,369 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 66 transitions. Stem has 117 letters. Loop has 44 letters. [2022-07-14 14:50:44,369 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:50:44,369 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 66 transitions. Stem has 73 letters. Loop has 88 letters. [2022-07-14 14:50:44,371 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-14 14:50:44,371 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2292 states and 3138 transitions. [2022-07-14 14:50:44,386 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 56 [2022-07-14 14:50:44,397 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2292 states to 1301 states and 1775 transitions. [2022-07-14 14:50:44,397 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 90 [2022-07-14 14:50:44,397 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 92 [2022-07-14 14:50:44,397 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1301 states and 1775 transitions. [2022-07-14 14:50:44,398 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:50:44,398 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1301 states and 1775 transitions. [2022-07-14 14:50:44,399 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1301 states and 1775 transitions. [2022-07-14 14:50:44,445 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1301 to 1264. [2022-07-14 14:50:44,447 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1264 states, 798 states have (on average 1.0889724310776943) internal successors, (869), 799 states have internal predecessors, (869), 291 states have call successors, (291), 163 states have call predecessors, (291), 175 states have return successors, (564), 301 states have call predecessors, (564), 291 states have call successors, (564) [2022-07-14 14:50:44,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1264 states to 1264 states and 1724 transitions. [2022-07-14 14:50:44,453 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1264 states and 1724 transitions. [2022-07-14 14:50:44,453 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:50:44,454 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-07-14 14:50:44,454 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-07-14 14:50:44,454 INFO L87 Difference]: Start difference. First operand 1264 states and 1724 transitions. Second operand has 13 states, 11 states have (on average 4.2727272727272725) internal successors, (47), 13 states have internal predecessors, (47), 8 states have call successors, (19), 2 states have call predecessors, (19), 4 states have return successors, (19), 7 states have call predecessors, (19), 8 states have call successors, (19) [2022-07-14 14:50:44,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:50:44,895 INFO L93 Difference]: Finished difference Result 1442 states and 2068 transitions. [2022-07-14 14:50:44,896 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-07-14 14:50:44,897 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1442 states and 2068 transitions. [2022-07-14 14:50:44,905 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 56 [2022-07-14 14:50:44,916 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1442 states to 1439 states and 2064 transitions. [2022-07-14 14:50:44,917 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 83 [2022-07-14 14:50:44,917 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 83 [2022-07-14 14:50:44,917 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1439 states and 2064 transitions. [2022-07-14 14:50:44,917 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:50:44,917 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1439 states and 2064 transitions. [2022-07-14 14:50:44,918 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1439 states and 2064 transitions. [2022-07-14 14:50:44,942 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1439 to 1282. [2022-07-14 14:50:44,943 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1282 states, 808 states have (on average 1.0891089108910892) internal successors, (880), 810 states have internal predecessors, (880), 299 states have call successors, (299), 163 states have call predecessors, (299), 175 states have return successors, (574), 308 states have call predecessors, (574), 299 states have call successors, (574) [2022-07-14 14:50:44,947 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1282 states to 1282 states and 1753 transitions. [2022-07-14 14:50:44,948 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1282 states and 1753 transitions. [2022-07-14 14:50:44,948 INFO L374 stractBuchiCegarLoop]: Abstraction has 1282 states and 1753 transitions. [2022-07-14 14:50:44,948 INFO L287 stractBuchiCegarLoop]: ======== Iteration 23 ============ [2022-07-14 14:50:44,948 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1282 states and 1753 transitions. [2022-07-14 14:50:44,952 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 56 [2022-07-14 14:50:44,952 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:50:44,952 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:50:44,954 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [16, 16, 12, 4, 4, 4, 4, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1] [2022-07-14 14:50:44,954 INFO L180 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, 1] [2022-07-14 14:50:44,955 INFO L752 eck$LassoCheckResult]: Stem: 114567#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 114540#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 114541#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 114566#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 114554#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 114555#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 115543#L43 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; 114527#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 114528#factENTRY ~n := #in~n; 115524#L25 assume ~n <= 0;#res := 1; 115523#factFINAL assume true; 115510#factEXIT >#68#return; 114583#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 114584#factENTRY ~n := #in~n; 115555#L25 assume ~n <= 0;#res := 1; 115554#factFINAL assume true; 115552#factEXIT >#70#return; 115549#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 115550#factENTRY ~n := #in~n; 115553#L25 assume ~n <= 0;#res := 1; 115551#factFINAL assume true; 115548#factEXIT >#72#return; 115547#L30-3 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; 114560#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 114561#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 115632#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 115627#L43 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; 115600#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 115601#factENTRY ~n := #in~n; 115700#L25 assume !(~n <= 0); 115698#L26 call #t~ret0 := fact(~n - 1);< 115699#factENTRY ~n := #in~n; 115715#L25 assume ~n <= 0;#res := 1; 115714#factFINAL assume true; 115697#factEXIT >#66#return; 115696#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 115663#factFINAL assume true; 115599#factEXIT >#74#return; 115586#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 115581#factENTRY ~n := #in~n; 115596#L25 assume ~n <= 0;#res := 1; 115588#factFINAL assume true; 115585#factEXIT >#76#return; 114682#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 115583#factENTRY ~n := #in~n; 115644#L25 assume !(~n <= 0); 115593#L26 call #t~ret0 := fact(~n - 1);< 115594#factENTRY ~n := #in~n; 115605#L25 assume ~n <= 0;#res := 1; 115604#factFINAL assume true; 115592#factEXIT >#66#return; 115587#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 115584#factFINAL assume true; 114681#factEXIT >#78#return; 114680#L30-8 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; 114679#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 114678#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 114676#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 114675#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 114666#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 114668#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 115396#L43 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; 115328#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 115329#factENTRY ~n := #in~n; 115387#L25 assume ~n <= 0;#res := 1; 115385#factFINAL assume true; 115326#factEXIT >#68#return; 115323#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 115325#factENTRY ~n := #in~n; 115348#L25 assume ~n <= 0;#res := 1; 115344#factFINAL assume true; 115322#factEXIT >#70#return; 115317#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 115320#factENTRY ~n := #in~n; 115441#L25 assume ~n <= 0;#res := 1; 115343#factFINAL assume true; 115313#factEXIT >#72#return; 115311#L30-3 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; 115309#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 115307#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 115303#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 115299#L43 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; 115228#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 115229#factENTRY ~n := #in~n; 115227#L25 assume !(~n <= 0); 115196#L26 call #t~ret0 := fact(~n - 1);< 115233#factENTRY ~n := #in~n; 115234#L25 assume ~n <= 0;#res := 1; 115536#factFINAL assume true; 115195#factEXIT >#66#return; 115199#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 115452#factFINAL assume true; 115450#factEXIT >#74#return; 115293#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 115448#factENTRY ~n := #in~n; 115565#L25 assume ~n <= 0;#res := 1; 115562#factFINAL assume true; 115292#factEXIT >#76#return; 114690#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 114691#factENTRY ~n := #in~n; 115294#L25 assume !(~n <= 0); 115197#L26 call #t~ret0 := fact(~n - 1);< 115233#factENTRY ~n := #in~n; 115234#L25 assume ~n <= 0;#res := 1; 115536#factFINAL assume true; 115195#factEXIT >#66#return; 115200#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 114846#factFINAL assume true; 114689#factEXIT >#78#return; 114688#L30-8 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; 114687#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 114686#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 114685#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 114674#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 114665#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 114604#L42-3 [2022-07-14 14:50:44,955 INFO L754 eck$LassoCheckResult]: Loop: 114604#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 114568#L43 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; 114525#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 114526#factENTRY ~n := #in~n; 114603#L25 assume !(~n <= 0); 114598#L26 call #t~ret0 := fact(~n - 1);< 114600#factENTRY ~n := #in~n; 114609#L25 assume !(~n <= 0); 114597#L26 call #t~ret0 := fact(~n - 1);< 114608#factENTRY ~n := #in~n; 114610#L25 assume ~n <= 0;#res := 1; 114673#factFINAL assume true; 114664#factEXIT >#66#return; 114599#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 114607#factFINAL assume true; 114596#factEXIT >#66#return; 114595#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 114594#factFINAL assume true; 114593#factEXIT >#68#return; 114581#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 114582#factENTRY ~n := #in~n; 114758#L25 assume ~n <= 0;#res := 1; 114751#factFINAL assume true; 114734#factEXIT >#70#return; 114703#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 114705#factENTRY ~n := #in~n; 114765#L25 assume !(~n <= 0); 114745#L26 call #t~ret0 := fact(~n - 1);< 114756#factENTRY ~n := #in~n; 114768#L25 assume !(~n <= 0); 114747#L26 call #t~ret0 := fact(~n - 1);< 114763#factENTRY ~n := #in~n; 114768#L25 assume !(~n <= 0); 114747#L26 call #t~ret0 := fact(~n - 1);< 114763#factENTRY ~n := #in~n; 114774#L25 assume ~n <= 0;#res := 1; 114773#factFINAL assume true; 114764#factEXIT >#66#return; 114762#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 114759#factFINAL assume true; 114744#factEXIT >#66#return; 114750#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 114761#factFINAL assume true; 114754#factEXIT >#66#return; 114753#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 114730#factFINAL assume true; 114731#factEXIT >#72#return; 114704#L30-3 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; 114740#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 114738#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 114736#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 114733#L43 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; 114702#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 114705#factENTRY ~n := #in~n; 114765#L25 assume !(~n <= 0); 114745#L26 call #t~ret0 := fact(~n - 1);< 114756#factENTRY ~n := #in~n; 114768#L25 assume !(~n <= 0); 114747#L26 call #t~ret0 := fact(~n - 1);< 114763#factENTRY ~n := #in~n; 114774#L25 assume ~n <= 0;#res := 1; 114773#factFINAL assume true; 114764#factEXIT >#66#return; 114762#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 114759#factFINAL assume true; 114744#factEXIT >#66#return; 114748#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 114743#factFINAL assume true; 114700#factEXIT >#68#return; 114693#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 114697#factENTRY ~n := #in~n; 114739#L25 assume !(~n <= 0); 114716#L26 call #t~ret0 := fact(~n - 1);< 114727#factENTRY ~n := #in~n; 114728#L25 assume ~n <= 0;#res := 1; 114723#factFINAL assume true; 114715#factEXIT >#66#return; 114720#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 114698#factFINAL assume true; 114699#factEXIT >#70#return; 114659#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 114712#factENTRY ~n := #in~n; 114729#L25 assume !(~n <= 0); 114717#L26 call #t~ret0 := fact(~n - 1);< 114722#factENTRY ~n := #in~n; 114728#L25 assume ~n <= 0;#res := 1; 114723#factFINAL assume true; 114715#factEXIT >#66#return; 114714#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 114713#factFINAL assume true; 114711#factEXIT >#72#return; 114710#L30-3 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; 114709#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 114708#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 114707#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 114706#L43 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; 114701#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 114705#factENTRY ~n := #in~n; 114765#L25 assume !(~n <= 0); 114745#L26 call #t~ret0 := fact(~n - 1);< 114756#factENTRY ~n := #in~n; 114768#L25 assume !(~n <= 0); 114747#L26 call #t~ret0 := fact(~n - 1);< 114763#factENTRY ~n := #in~n; 114768#L25 assume !(~n <= 0); 114747#L26 call #t~ret0 := fact(~n - 1);< 114763#factENTRY ~n := #in~n; 114774#L25 assume ~n <= 0;#res := 1; 114773#factFINAL assume true; 114764#factEXIT >#66#return; 114762#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 114759#factFINAL assume true; 114744#factEXIT >#66#return; 114750#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 114761#factFINAL assume true; 114754#factEXIT >#66#return; 114753#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 114730#factFINAL assume true; 114731#factEXIT >#68#return; 114695#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 114697#factENTRY ~n := #in~n; 114739#L25 assume !(~n <= 0); 114716#L26 call #t~ret0 := fact(~n - 1);< 114727#factENTRY ~n := #in~n; 114768#L25 assume !(~n <= 0); 114747#L26 call #t~ret0 := fact(~n - 1);< 114763#factENTRY ~n := #in~n; 114774#L25 assume ~n <= 0;#res := 1; 114773#factFINAL assume true; 114764#factEXIT >#66#return; 114762#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 114759#factFINAL assume true; 114744#factEXIT >#66#return; 114742#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 114741#factFINAL assume true; 114692#factEXIT >#70#return; 114661#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 114732#factENTRY ~n := #in~n; 114757#L25 assume ~n <= 0;#res := 1; 114671#factFINAL assume true; 114657#factEXIT >#72#return; 114656#L30-3 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; 114655#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 114654#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 114652#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 114650#L43 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; 114513#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 114514#factENTRY ~n := #in~n; 114677#L25 assume !(~n <= 0); 114619#L26 call #t~ret0 := fact(~n - 1);< 114622#factENTRY ~n := #in~n; 114628#L25 assume !(~n <= 0); 114620#L26 call #t~ret0 := fact(~n - 1);< 114626#factENTRY ~n := #in~n; 114628#L25 assume !(~n <= 0); 114620#L26 call #t~ret0 := fact(~n - 1);< 114626#factENTRY ~n := #in~n; 114629#L25 assume ~n <= 0;#res := 1; 114634#factFINAL assume true; 114632#factEXIT >#66#return; 114631#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 114630#factFINAL assume true; 114627#factEXIT >#66#return; 114621#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 114625#factFINAL assume true; 114618#factEXIT >#66#return; 114615#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 114613#factFINAL assume true; 114611#factEXIT >#74#return; 114571#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 114585#factENTRY ~n := #in~n; 114636#L25 assume !(~n <= 0); 114518#L26 call #t~ret0 := fact(~n - 1);< 114669#factENTRY ~n := #in~n; 114628#L25 assume !(~n <= 0); 114620#L26 call #t~ret0 := fact(~n - 1);< 114626#factENTRY ~n := #in~n; 114628#L25 assume !(~n <= 0); 114620#L26 call #t~ret0 := fact(~n - 1);< 114626#factENTRY ~n := #in~n; 114629#L25 assume ~n <= 0;#res := 1; 114634#factFINAL assume true; 114632#factEXIT >#66#return; 114631#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 114630#factFINAL assume true; 114627#factEXIT >#66#return; 114621#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 114625#factFINAL assume true; 114618#factEXIT >#66#return; 114615#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 114613#factFINAL assume true; 114611#factEXIT >#76#return; 114547#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 114590#factENTRY ~n := #in~n; 114653#L25 assume !(~n <= 0); 114546#L26 call #t~ret0 := fact(~n - 1);< 114548#factENTRY ~n := #in~n; 114649#L25 assume ~n <= 0;#res := 1; 114645#factFINAL assume true; 114643#factEXIT >#66#return; 114641#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 114617#factFINAL assume true; 114614#factEXIT >#78#return; 114542#L30-8 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; 114543#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 114552#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 114587#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 114562#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 114563#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 114604#L42-3 [2022-07-14 14:50:44,955 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:44,955 INFO L85 PathProgramCache]: Analyzing trace with hash -370596716, now seen corresponding path program 9 times [2022-07-14 14:50:44,956 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:44,956 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1993189294] [2022-07-14 14:50:44,956 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:44,956 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:44,963 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:44,964 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1680573502] [2022-07-14 14:50:44,964 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-14 14:50:44,965 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:44,965 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:44,968 INFO L229 MonitoredProcess]: Starting monitored process 119 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:44,997 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (119)] Waiting until timeout for monitored process [2022-07-14 14:50:45,045 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2022-07-14 14:50:45,045 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-14 14:50:45,046 INFO L263 TraceCheckSpWp]: Trace formula consists of 175 conjuncts, 8 conjunts are in the unsatisfiable core [2022-07-14 14:50:45,048 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:45,158 INFO L134 CoverageAnalysis]: Checked inductivity of 533 backedges. 31 proven. 5 refuted. 0 times theorem prover too weak. 497 trivial. 0 not checked. [2022-07-14 14:50:45,158 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:50:45,303 INFO L134 CoverageAnalysis]: Checked inductivity of 533 backedges. 1 proven. 35 refuted. 0 times theorem prover too weak. 497 trivial. 0 not checked. [2022-07-14 14:50:45,303 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:50:45,303 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1993189294] [2022-07-14 14:50:45,303 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:50:45,303 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1680573502] [2022-07-14 14:50:45,304 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1680573502] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:50:45,304 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:50:45,304 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2022-07-14 14:50:45,305 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [260063043] [2022-07-14 14:50:45,305 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:50:45,306 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-14 14:50:45,306 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:45,306 INFO L85 PathProgramCache]: Analyzing trace with hash 1500846362, now seen corresponding path program 9 times [2022-07-14 14:50:45,306 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:45,307 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [765970106] [2022-07-14 14:50:45,307 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:45,307 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:45,313 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:45,313 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1819898181] [2022-07-14 14:50:45,314 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-14 14:50:45,314 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:45,314 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:45,315 INFO L229 MonitoredProcess]: Starting monitored process 120 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:45,344 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (120)] Waiting until timeout for monitored process [2022-07-14 14:50:45,408 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 9 check-sat command(s) [2022-07-14 14:50:45,408 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-14 14:50:45,410 INFO L263 TraceCheckSpWp]: Trace formula consists of 311 conjuncts, 17 conjunts are in the unsatisfiable core [2022-07-14 14:50:45,413 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:45,524 INFO L134 CoverageAnalysis]: Checked inductivity of 2569 backedges. 1573 proven. 60 refuted. 0 times theorem prover too weak. 936 trivial. 0 not checked. [2022-07-14 14:50:45,524 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:50:46,156 INFO L134 CoverageAnalysis]: Checked inductivity of 2569 backedges. 457 proven. 350 refuted. 0 times theorem prover too weak. 1762 trivial. 0 not checked. [2022-07-14 14:50:46,156 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:50:46,156 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [765970106] [2022-07-14 14:50:46,156 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:50:46,156 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1819898181] [2022-07-14 14:50:46,156 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1819898181] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:50:46,156 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:50:46,156 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 16] total 19 [2022-07-14 14:50:46,157 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2117045831] [2022-07-14 14:50:46,157 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:50:46,157 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-14 14:50:46,157 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:50:46,157 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-07-14 14:50:46,157 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=129, Unknown=0, NotChecked=0, Total=182 [2022-07-14 14:50:46,157 INFO L87 Difference]: Start difference. First operand 1282 states and 1753 transitions. cyclomatic complexity: 488 Second operand has 14 states, 13 states have (on average 3.6923076923076925) internal successors, (48), 14 states have internal predecessors, (48), 6 states have call successors, (19), 1 states have call predecessors, (19), 1 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-07-14 14:50:46,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:50:46,423 INFO L93 Difference]: Finished difference Result 1566 states and 2180 transitions. [2022-07-14 14:50:46,423 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-07-14 14:50:46,423 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1566 states and 2180 transitions. [2022-07-14 14:50:46,429 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 105 [2022-07-14 14:50:46,438 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1566 states to 1561 states and 2174 transitions. [2022-07-14 14:50:46,439 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 83 [2022-07-14 14:50:46,439 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 83 [2022-07-14 14:50:46,439 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1561 states and 2174 transitions. [2022-07-14 14:50:46,439 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:50:46,439 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1561 states and 2174 transitions. [2022-07-14 14:50:46,440 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1561 states and 2174 transitions. [2022-07-14 14:50:46,478 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1561 to 1254. [2022-07-14 14:50:46,479 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1254 states, 790 states have (on average 1.0886075949367089) internal successors, (860), 790 states have internal predecessors, (860), 291 states have call successors, (291), 161 states have call predecessors, (291), 173 states have return successors, (562), 302 states have call predecessors, (562), 291 states have call successors, (562) [2022-07-14 14:50:46,483 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1254 states to 1254 states and 1713 transitions. [2022-07-14 14:50:46,483 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1254 states and 1713 transitions. [2022-07-14 14:50:46,483 INFO L374 stractBuchiCegarLoop]: Abstraction has 1254 states and 1713 transitions. [2022-07-14 14:50:46,483 INFO L287 stractBuchiCegarLoop]: ======== Iteration 24 ============ [2022-07-14 14:50:46,483 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1254 states and 1713 transitions. [2022-07-14 14:50:46,486 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 56 [2022-07-14 14:50:46,486 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:50:46,486 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:50:46,488 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [22, 22, 15, 7, 7, 7, 7, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1] [2022-07-14 14:50:46,488 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [34, 34, 22, 22, 22, 22, 12, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:50:46,488 INFO L752 eck$LassoCheckResult]: Stem: 119390#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 119366#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 119367#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 119389#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 119378#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 119379#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 120174#L43 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; 120168#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 120169#factENTRY ~n := #in~n; 120172#L25 assume ~n <= 0;#res := 1; 120170#factFINAL assume true; 120167#factEXIT >#68#return; 120165#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 120166#factENTRY ~n := #in~n; 120173#L25 assume ~n <= 0;#res := 1; 120171#factFINAL assume true; 120164#factEXIT >#70#return; 119341#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 119342#factENTRY ~n := #in~n; 120363#L25 assume ~n <= 0;#res := 1; 120362#factFINAL assume true; 120361#factEXIT >#72#return; 119384#L30-3 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; 119382#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 119383#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 120438#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 120388#L43 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; 120379#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 120382#factENTRY ~n := #in~n; 120417#L25 assume !(~n <= 0); 120415#L26 call #t~ret0 := fact(~n - 1);< 120416#factENTRY ~n := #in~n; 120419#L25 assume ~n <= 0;#res := 1; 120418#factFINAL assume true; 120414#factEXIT >#66#return; 120411#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 120387#factFINAL assume true; 120378#factEXIT >#74#return; 120380#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 120375#factENTRY ~n := #in~n; 120441#L25 assume ~n <= 0;#res := 1; 120439#factFINAL assume true; 120391#factEXIT >#76#return; 119503#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 120384#factENTRY ~n := #in~n; 120395#L25 assume !(~n <= 0); 120393#L26 call #t~ret0 := fact(~n - 1);< 120394#factENTRY ~n := #in~n; 120408#L25 assume ~n <= 0;#res := 1; 120406#factFINAL assume true; 120392#factEXIT >#66#return; 120390#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 120383#factFINAL assume true; 119502#factEXIT >#78#return; 119499#L30-8 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; 119498#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 119438#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 119436#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 119434#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 119429#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 119431#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 120350#L43 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; 119848#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 119850#factENTRY ~n := #in~n; 119853#L25 assume ~n <= 0;#res := 1; 119852#factFINAL assume true; 119847#factEXIT >#68#return; 119843#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 119845#factENTRY ~n := #in~n; 119963#L25 assume ~n <= 0;#res := 1; 119846#factFINAL assume true; 119842#factEXIT >#70#return; 119773#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 119818#factENTRY ~n := #in~n; 119819#L25 assume !(~n <= 0); 119795#L26 call #t~ret0 := fact(~n - 1);< 120268#factENTRY ~n := #in~n; 119812#L25 assume ~n <= 0;#res := 1; 119808#factFINAL assume true; 119787#factEXIT >#66#return; 119804#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119817#factFINAL assume true; 119813#factEXIT >#72#return; 119815#L30-3 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; 120352#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 119935#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 119925#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 119826#L43 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; 119775#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 119816#factENTRY ~n := #in~n; 119822#L25 assume !(~n <= 0); 119793#L26 call #t~ret0 := fact(~n - 1);< 119807#factENTRY ~n := #in~n; 119812#L25 assume ~n <= 0;#res := 1; 119808#factFINAL assume true; 119787#factEXIT >#66#return; 119804#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119817#factFINAL assume true; 119813#factEXIT >#68#return; 119783#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 119784#factENTRY ~n := #in~n; 119810#L25 assume !(~n <= 0); 119791#L26 call #t~ret0 := fact(~n - 1);< 119807#factENTRY ~n := #in~n; 119812#L25 assume ~n <= 0;#res := 1; 119808#factFINAL assume true; 119787#factEXIT >#66#return; 119786#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119785#factFINAL assume true; 119781#factEXIT >#70#return; 119777#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 119778#factENTRY ~n := #in~n; 119780#L25 assume ~n <= 0;#res := 1; 119779#factFINAL assume true; 119772#factEXIT >#72#return; 119761#L30-3 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; 119758#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 119746#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 119711#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 119665#L43 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; 119637#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 119639#factENTRY ~n := #in~n; 119658#L25 assume !(~n <= 0); 119645#L26 call #t~ret0 := fact(~n - 1);< 119654#factENTRY ~n := #in~n; 119708#L25 assume ~n <= 0;#res := 1; 119701#factFINAL assume true; 119691#factEXIT >#66#return; 119696#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119750#factFINAL assume true; 119749#factEXIT >#74#return; 119673#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 119675#factENTRY ~n := #in~n; 119678#L25 assume ~n <= 0;#res := 1; 119677#factFINAL assume true; 119672#factEXIT >#76#return; 119611#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 119680#factENTRY ~n := #in~n; 119690#L25 assume !(~n <= 0); 119683#L26 call #t~ret0 := fact(~n - 1);< 119686#factENTRY ~n := #in~n; 119698#L25 assume ~n <= 0;#res := 1; 119688#factFINAL assume true; 119682#factEXIT >#66#return; 119681#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119679#factFINAL assume true; 119610#factEXIT >#78#return; 119608#L30-8 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; 119515#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 119439#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 119437#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 119435#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 119432#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 119427#L42-3 [2022-07-14 14:50:46,489 INFO L754 eck$LassoCheckResult]: Loop: 119427#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 119391#L43 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; 119349#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 119350#factENTRY ~n := #in~n; 119422#L25 assume !(~n <= 0); 119416#L26 call #t~ret0 := fact(~n - 1);< 119419#factENTRY ~n := #in~n; 119423#L25 assume !(~n <= 0); 119417#L26 call #t~ret0 := fact(~n - 1);< 119421#factENTRY ~n := #in~n; 119425#L25 assume ~n <= 0;#res := 1; 119426#factFINAL assume true; 119424#factEXIT >#66#return; 119418#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119420#factFINAL assume true; 119415#factEXIT >#66#return; 119414#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119413#factFINAL assume true; 119412#factEXIT >#68#return; 119401#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 119402#factENTRY ~n := #in~n; 119617#L25 assume ~n <= 0;#res := 1; 119616#factFINAL assume true; 119614#factEXIT >#70#return; 119542#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 119583#factENTRY ~n := #in~n; 119566#L25 assume !(~n <= 0); 119536#L26 call #t~ret0 := fact(~n - 1);< 119540#factENTRY ~n := #in~n; 119550#L25 assume !(~n <= 0); 119532#L26 call #t~ret0 := fact(~n - 1);< 119548#factENTRY ~n := #in~n; 119554#L25 assume ~n <= 0;#res := 1; 119553#factFINAL assume true; 119552#factEXIT >#66#return; 119551#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119549#factFINAL assume true; 119545#factEXIT >#66#return; 119546#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119601#factFINAL assume true; 119600#factEXIT >#72#return; 119582#L30-3 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; 120242#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 119609#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 119604#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 119602#L43 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; 119543#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 119583#factENTRY ~n := #in~n; 119566#L25 assume !(~n <= 0); 119536#L26 call #t~ret0 := fact(~n - 1);< 119540#factENTRY ~n := #in~n; 119550#L25 assume !(~n <= 0); 119532#L26 call #t~ret0 := fact(~n - 1);< 119548#factENTRY ~n := #in~n; 119550#L25 assume !(~n <= 0); 119532#L26 call #t~ret0 := fact(~n - 1);< 119548#factENTRY ~n := #in~n; 119554#L25 assume ~n <= 0;#res := 1; 119553#factFINAL assume true; 119552#factEXIT >#66#return; 119551#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119549#factFINAL assume true; 119545#factEXIT >#66#return; 119539#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119541#factFINAL assume true; 119531#factEXIT >#66#return; 119538#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119584#factFINAL assume true; 119581#factEXIT >#68#return; 119573#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 119576#factENTRY ~n := #in~n; 119579#L25 assume !(~n <= 0); 119535#L26 call #t~ret0 := fact(~n - 1);< 119578#factENTRY ~n := #in~n; 119550#L25 assume !(~n <= 0); 119532#L26 call #t~ret0 := fact(~n - 1);< 119548#factENTRY ~n := #in~n; 119554#L25 assume ~n <= 0;#res := 1; 119553#factFINAL assume true; 119552#factEXIT >#66#return; 119551#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119549#factFINAL assume true; 119545#factEXIT >#66#return; 119537#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119577#factFINAL assume true; 119571#factEXIT >#70#return; 119492#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 119568#factENTRY ~n := #in~n; 119567#L25 assume !(~n <= 0); 119533#L26 call #t~ret0 := fact(~n - 1);< 119578#factENTRY ~n := #in~n; 119597#L25 assume ~n <= 0;#res := 1; 119595#factFINAL assume true; 119591#factEXIT >#66#return; 119593#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119607#factFINAL assume true; 119606#factEXIT >#72#return; 119605#L30-3 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; 119603#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 119587#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 119586#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 119585#L43 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; 119544#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 119583#factENTRY ~n := #in~n; 119566#L25 assume !(~n <= 0); 119536#L26 call #t~ret0 := fact(~n - 1);< 119540#factENTRY ~n := #in~n; 119550#L25 assume !(~n <= 0); 119532#L26 call #t~ret0 := fact(~n - 1);< 119548#factENTRY ~n := #in~n; 119550#L25 assume !(~n <= 0); 119532#L26 call #t~ret0 := fact(~n - 1);< 119548#factENTRY ~n := #in~n; 119554#L25 assume ~n <= 0;#res := 1; 119553#factFINAL assume true; 119552#factEXIT >#66#return; 119551#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119549#factFINAL assume true; 119545#factEXIT >#66#return; 119539#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119541#factFINAL assume true; 119531#factEXIT >#66#return; 119538#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119584#factFINAL assume true; 119581#factEXIT >#68#return; 119575#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 119576#factENTRY ~n := #in~n; 119579#L25 assume !(~n <= 0); 119535#L26 call #t~ret0 := fact(~n - 1);< 119578#factENTRY ~n := #in~n; 119550#L25 assume !(~n <= 0); 119532#L26 call #t~ret0 := fact(~n - 1);< 119548#factENTRY ~n := #in~n; 119554#L25 assume ~n <= 0;#res := 1; 119553#factFINAL assume true; 119552#factEXIT >#66#return; 119551#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119549#factFINAL assume true; 119545#factEXIT >#66#return; 119537#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119577#factFINAL assume true; 119571#factEXIT >#70#return; 119494#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 119568#factENTRY ~n := #in~n; 119567#L25 assume ~n <= 0;#res := 1; 119496#factFINAL assume true; 119489#factEXIT >#72#return; 119486#L30-3 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; 119477#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 119473#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 119471#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 119469#L43 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; 119337#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 119338#factENTRY ~n := #in~n; 119363#L25 assume !(~n <= 0); 119394#L26 call #t~ret0 := fact(~n - 1);< 119449#factENTRY ~n := #in~n; 119452#L25 assume !(~n <= 0); 119446#L26 call #t~ret0 := fact(~n - 1);< 119451#factENTRY ~n := #in~n; 119452#L25 assume !(~n <= 0); 119446#L26 call #t~ret0 := fact(~n - 1);< 119451#factENTRY ~n := #in~n; 119455#L25 assume ~n <= 0;#res := 1; 119459#factFINAL assume true; 119458#factEXIT >#66#return; 119457#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119456#factFINAL assume true; 119453#factEXIT >#66#return; 119448#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119450#factFINAL assume true; 119445#factEXIT >#66#return; 119444#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119443#factFINAL assume true; 119440#factEXIT >#74#return; 119405#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 119406#factENTRY ~n := #in~n; 119478#L25 assume !(~n <= 0); 119447#L26 call #t~ret0 := fact(~n - 1);< 119482#factENTRY ~n := #in~n; 119452#L25 assume !(~n <= 0); 119446#L26 call #t~ret0 := fact(~n - 1);< 119451#factENTRY ~n := #in~n; 119452#L25 assume !(~n <= 0); 119446#L26 call #t~ret0 := fact(~n - 1);< 119451#factENTRY ~n := #in~n; 119455#L25 assume ~n <= 0;#res := 1; 119459#factFINAL assume true; 119458#factEXIT >#66#return; 119457#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119456#factFINAL assume true; 119453#factEXIT >#66#return; 119448#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119450#factFINAL assume true; 119445#factEXIT >#66#return; 119444#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119443#factFINAL assume true; 119440#factEXIT >#76#return; 119354#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 119409#factENTRY ~n := #in~n; 119472#L25 assume !(~n <= 0); 119344#L26 call #t~ret0 := fact(~n - 1);< 119372#factENTRY ~n := #in~n; 119487#L25 assume ~n <= 0;#res := 1; 119488#factFINAL assume true; 119343#factEXIT >#66#return; 119345#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119353#factFINAL assume true; 119355#factEXIT >#78#return; 119368#L30-8 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; 119369#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 119376#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 119408#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 119385#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 119386#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 119427#L42-3 [2022-07-14 14:50:46,489 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:46,489 INFO L85 PathProgramCache]: Analyzing trace with hash 1273766027, now seen corresponding path program 10 times [2022-07-14 14:50:46,490 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:46,490 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [661919127] [2022-07-14 14:50:46,490 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:46,490 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:46,496 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:46,496 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1666268486] [2022-07-14 14:50:46,496 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-14 14:50:46,496 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:46,497 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:46,503 INFO L229 MonitoredProcess]: Starting monitored process 121 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:46,528 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (121)] Waiting until timeout for monitored process [2022-07-14 14:50:46,593 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-14 14:50:46,594 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-14 14:50:46,595 INFO L263 TraceCheckSpWp]: Trace formula consists of 366 conjuncts, 7 conjunts are in the unsatisfiable core [2022-07-14 14:50:46,597 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:46,643 INFO L134 CoverageAnalysis]: Checked inductivity of 1031 backedges. 560 proven. 1 refuted. 0 times theorem prover too weak. 470 trivial. 0 not checked. [2022-07-14 14:50:46,643 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:50:46,769 INFO L134 CoverageAnalysis]: Checked inductivity of 1031 backedges. 72 proven. 40 refuted. 0 times theorem prover too weak. 919 trivial. 0 not checked. [2022-07-14 14:50:46,769 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:50:46,769 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [661919127] [2022-07-14 14:50:46,769 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:50:46,769 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1666268486] [2022-07-14 14:50:46,769 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1666268486] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:50:46,769 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:50:46,770 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 8 [2022-07-14 14:50:46,770 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [290224762] [2022-07-14 14:50:46,770 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:50:46,770 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-14 14:50:46,770 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:46,770 INFO L85 PathProgramCache]: Analyzing trace with hash 1699120162, now seen corresponding path program 10 times [2022-07-14 14:50:46,770 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:46,771 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1990429892] [2022-07-14 14:50:46,771 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:46,771 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:46,776 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:46,777 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [165622456] [2022-07-14 14:50:46,777 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-14 14:50:46,777 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:46,777 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:46,787 INFO L229 MonitoredProcess]: Starting monitored process 122 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:46,808 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (122)] Waiting until timeout for monitored process [2022-07-14 14:50:46,885 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-14 14:50:46,886 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-14 14:50:46,887 INFO L263 TraceCheckSpWp]: Trace formula consists of 476 conjuncts, 18 conjunts are in the unsatisfiable core [2022-07-14 14:50:46,892 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:47,023 INFO L134 CoverageAnalysis]: Checked inductivity of 2743 backedges. 1310 proven. 105 refuted. 0 times theorem prover too weak. 1328 trivial. 0 not checked. [2022-07-14 14:50:47,023 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:50:47,577 INFO L134 CoverageAnalysis]: Checked inductivity of 2743 backedges. 88 proven. 677 refuted. 0 times theorem prover too weak. 1978 trivial. 0 not checked. [2022-07-14 14:50:47,578 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:50:47,578 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1990429892] [2022-07-14 14:50:47,578 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:50:47,578 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [165622456] [2022-07-14 14:50:47,578 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [165622456] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:50:47,578 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:50:47,578 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 17] total 20 [2022-07-14 14:50:47,579 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1928951425] [2022-07-14 14:50:47,579 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:50:47,579 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-14 14:50:47,579 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:50:47,579 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-07-14 14:50:47,579 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-07-14 14:50:47,579 INFO L87 Difference]: Start difference. First operand 1254 states and 1713 transitions. cyclomatic complexity: 476 Second operand has 8 states, 7 states have (on average 6.285714285714286) internal successors, (44), 8 states have internal predecessors, (44), 4 states have call successors, (21), 2 states have call predecessors, (21), 3 states have return successors, (21), 3 states have call predecessors, (21), 4 states have call successors, (21) [2022-07-14 14:50:47,721 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:50:47,721 INFO L93 Difference]: Finished difference Result 1087 states and 1478 transitions. [2022-07-14 14:50:47,722 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-07-14 14:50:47,722 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1087 states and 1478 transitions. [2022-07-14 14:50:47,726 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 56 [2022-07-14 14:50:47,730 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1087 states to 862 states and 1190 transitions. [2022-07-14 14:50:47,730 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 79 [2022-07-14 14:50:47,730 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 96 [2022-07-14 14:50:47,730 INFO L73 IsDeterministic]: Start isDeterministic. Operand 862 states and 1190 transitions. [2022-07-14 14:50:47,731 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:50:47,731 INFO L369 hiAutomatonCegarLoop]: Abstraction has 862 states and 1190 transitions. [2022-07-14 14:50:47,731 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 862 states and 1190 transitions. [2022-07-14 14:50:47,742 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 862 to 862. [2022-07-14 14:50:47,743 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 862 states, 545 states have (on average 1.089908256880734) internal successors, (594), 545 states have internal predecessors, (594), 197 states have call successors, (197), 110 states have call predecessors, (197), 120 states have return successors, (399), 206 states have call predecessors, (399), 197 states have call successors, (399) [2022-07-14 14:50:47,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 862 states to 862 states and 1190 transitions. [2022-07-14 14:50:47,746 INFO L392 hiAutomatonCegarLoop]: Abstraction has 862 states and 1190 transitions. [2022-07-14 14:50:47,746 INFO L374 stractBuchiCegarLoop]: Abstraction has 862 states and 1190 transitions. [2022-07-14 14:50:47,746 INFO L287 stractBuchiCegarLoop]: ======== Iteration 25 ============ [2022-07-14 14:50:47,746 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 862 states and 1190 transitions. [2022-07-14 14:50:47,748 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 56 [2022-07-14 14:50:47,749 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:50:47,749 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:50:47,750 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [23, 23, 15, 8, 8, 8, 8, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1] [2022-07-14 14:50:47,750 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [34, 34, 22, 22, 22, 22, 12, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:50:47,750 INFO L752 eck$LassoCheckResult]: Stem: 123965#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 123939#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 123940#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 123964#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 123954#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 123955#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 124135#L43 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; 124133#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 124134#factENTRY ~n := #in~n; 124137#L25 assume ~n <= 0;#res := 1; 124136#factFINAL assume true; 124132#factEXIT >#68#return; 124130#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 124131#factENTRY ~n := #in~n; 124140#L25 assume ~n <= 0;#res := 1; 124139#factFINAL assume true; 124129#factEXIT >#70#return; 124101#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 124102#factENTRY ~n := #in~n; 124128#L25 assume ~n <= 0;#res := 1; 124127#factFINAL assume true; 124100#factEXIT >#72#return; 124096#L30-3 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; 124094#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 124092#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 124091#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 124089#L43 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; 124087#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 124088#factENTRY ~n := #in~n; 124103#L25 assume !(~n <= 0); 124098#L26 call #t~ret0 := fact(~n - 1);< 124099#factENTRY ~n := #in~n; 124126#L25 assume ~n <= 0;#res := 1; 124124#factFINAL assume true; 124097#factEXIT >#66#return; 124095#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124093#factFINAL assume true; 124086#factEXIT >#74#return; 124083#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 124084#factENTRY ~n := #in~n; 124111#L25 assume ~n <= 0;#res := 1; 124108#factFINAL assume true; 124081#factEXIT >#76#return; 124069#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 124075#factENTRY ~n := #in~n; 124107#L25 assume !(~n <= 0); 124105#L26 call #t~ret0 := fact(~n - 1);< 124106#factENTRY ~n := #in~n; 124121#L25 assume ~n <= 0;#res := 1; 124119#factFINAL assume true; 124104#factEXIT >#66#return; 124080#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124079#factFINAL assume true; 124068#factEXIT >#78#return; 124064#L30-8 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; 123951#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 123952#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 124055#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 123958#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 123959#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 123972#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 123973#L43 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; 124320#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 124322#factENTRY ~n := #in~n; 124334#L25 assume !(~n <= 0); 124332#L26 call #t~ret0 := fact(~n - 1);< 124333#factENTRY ~n := #in~n; 124386#L25 assume ~n <= 0;#res := 1; 124384#factFINAL assume true; 124331#factEXIT >#66#return; 124330#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124328#factFINAL assume true; 124319#factEXIT >#68#return; 124316#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 124317#factENTRY ~n := #in~n; 124324#L25 assume ~n <= 0;#res := 1; 124318#factFINAL assume true; 124313#factEXIT >#70#return; 124265#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 124281#factENTRY ~n := #in~n; 124413#L25 assume !(~n <= 0); 124254#L26 call #t~ret0 := fact(~n - 1);< 124433#factENTRY ~n := #in~n; 124290#L25 assume ~n <= 0;#res := 1; 124287#factFINAL assume true; 124251#factEXIT >#66#return; 124259#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124270#factFINAL assume true; 124263#factEXIT >#72#return; 124266#L30-3 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; 124312#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 124311#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 124308#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 124306#L43 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; 124191#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 124268#factENTRY ~n := #in~n; 124412#L25 assume !(~n <= 0); 124252#L26 call #t~ret0 := fact(~n - 1);< 124262#factENTRY ~n := #in~n; 124290#L25 assume ~n <= 0;#res := 1; 124287#factFINAL assume true; 124251#factEXIT >#66#return; 124259#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124270#factFINAL assume true; 124263#factEXIT >#68#return; 124211#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 124217#factENTRY ~n := #in~n; 124335#L25 assume !(~n <= 0); 124255#L26 call #t~ret0 := fact(~n - 1);< 124262#factENTRY ~n := #in~n; 124290#L25 assume ~n <= 0;#res := 1; 124287#factFINAL assume true; 124251#factEXIT >#66#return; 124249#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124247#factFINAL assume true; 124209#factEXIT >#70#return; 124186#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 124194#factENTRY ~n := #in~n; 124218#L25 assume ~n <= 0;#res := 1; 124208#factFINAL assume true; 124184#factEXIT >#72#return; 124193#L30-3 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; 124242#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 124240#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 124237#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 124195#L43 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; 124154#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 124159#factENTRY ~n := #in~n; 124172#L25 assume !(~n <= 0); 124173#L26 call #t~ret0 := fact(~n - 1);< 124246#factENTRY ~n := #in~n; 124304#L25 assume ~n <= 0;#res := 1; 124291#factFINAL assume true; 124243#factEXIT >#66#return; 124241#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124197#factFINAL assume true; 124156#factEXIT >#74#return; 124158#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 124346#factENTRY ~n := #in~n; 124350#L25 assume ~n <= 0;#res := 1; 124348#factFINAL assume true; 124345#factEXIT >#76#return; 124044#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 124309#factENTRY ~n := #in~n; 124307#L25 assume !(~n <= 0); 124228#L26 call #t~ret0 := fact(~n - 1);< 124230#factENTRY ~n := #in~n; 124286#L25 assume ~n <= 0;#res := 1; 124269#factFINAL assume true; 124226#factEXIT >#66#return; 124229#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124509#factFINAL assume true; 124042#factEXIT >#78#return; 124045#L30-8 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; 124339#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 124338#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 124337#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 124336#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 124005#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 124004#L42-3 [2022-07-14 14:50:47,750 INFO L754 eck$LassoCheckResult]: Loop: 124004#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 123966#L43 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; 123931#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 123932#factENTRY ~n := #in~n; 123999#L25 assume !(~n <= 0); 123994#L26 call #t~ret0 := fact(~n - 1);< 123996#factENTRY ~n := #in~n; 124000#L25 assume !(~n <= 0); 123993#L26 call #t~ret0 := fact(~n - 1);< 123998#factENTRY ~n := #in~n; 124002#L25 assume ~n <= 0;#res := 1; 124003#factFINAL assume true; 124001#factEXIT >#66#return; 123995#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 123997#factFINAL assume true; 123992#factEXIT >#66#return; 123991#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 123990#factFINAL assume true; 123989#factEXIT >#68#return; 123976#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 123977#factENTRY ~n := #in~n; 124506#L25 assume ~n <= 0;#res := 1; 124505#factFINAL assume true; 124503#factEXIT >#70#return; 123919#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 123920#factENTRY ~n := #in~n; 124473#L25 assume !(~n <= 0); 124466#L26 call #t~ret0 := fact(~n - 1);< 124471#factENTRY ~n := #in~n; 124483#L25 assume !(~n <= 0); 124467#L26 call #t~ret0 := fact(~n - 1);< 124486#factENTRY ~n := #in~n; 124500#L25 assume ~n <= 0;#res := 1; 124498#factFINAL assume true; 124485#factEXIT >#66#return; 124482#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124479#factFINAL assume true; 124474#factEXIT >#66#return; 124476#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124459#factFINAL assume true; 124387#factEXIT >#72#return; 123961#L30-3 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; 123962#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 123963#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 124457#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 124456#L43 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; 123933#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 123920#factENTRY ~n := #in~n; 124473#L25 assume !(~n <= 0); 124466#L26 call #t~ret0 := fact(~n - 1);< 124471#factENTRY ~n := #in~n; 124483#L25 assume !(~n <= 0); 124467#L26 call #t~ret0 := fact(~n - 1);< 124486#factENTRY ~n := #in~n; 124483#L25 assume !(~n <= 0); 124467#L26 call #t~ret0 := fact(~n - 1);< 124486#factENTRY ~n := #in~n; 124500#L25 assume ~n <= 0;#res := 1; 124498#factFINAL assume true; 124485#factEXIT >#66#return; 124482#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124479#factFINAL assume true; 124474#factEXIT >#66#return; 124469#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124501#factFINAL assume true; 124464#factEXIT >#66#return; 124463#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124462#factFINAL assume true; 124461#factEXIT >#68#return; 124149#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 123979#factENTRY ~n := #in~n; 124477#L25 assume !(~n <= 0); 124401#L26 call #t~ret0 := fact(~n - 1);< 124410#factENTRY ~n := #in~n; 124483#L25 assume !(~n <= 0); 124467#L26 call #t~ret0 := fact(~n - 1);< 124486#factENTRY ~n := #in~n; 124500#L25 assume ~n <= 0;#res := 1; 124498#factFINAL assume true; 124485#factEXIT >#66#return; 124482#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124479#factFINAL assume true; 124474#factEXIT >#66#return; 124470#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124472#factFINAL assume true; 124460#factEXIT >#70#return; 124023#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 124417#factENTRY ~n := #in~n; 124414#L25 assume !(~n <= 0); 124400#L26 call #t~ret0 := fact(~n - 1);< 124410#factENTRY ~n := #in~n; 124411#L25 assume ~n <= 0;#res := 1; 124406#factFINAL assume true; 124398#factEXIT >#66#return; 124397#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124396#factFINAL assume true; 124394#factEXIT >#72#return; 124393#L30-3 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; 124392#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 124391#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 124390#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 124389#L43 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; 124388#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 123920#factENTRY ~n := #in~n; 124473#L25 assume !(~n <= 0); 124466#L26 call #t~ret0 := fact(~n - 1);< 124471#factENTRY ~n := #in~n; 124483#L25 assume !(~n <= 0); 124467#L26 call #t~ret0 := fact(~n - 1);< 124486#factENTRY ~n := #in~n; 124483#L25 assume !(~n <= 0); 124467#L26 call #t~ret0 := fact(~n - 1);< 124486#factENTRY ~n := #in~n; 124500#L25 assume ~n <= 0;#res := 1; 124498#factFINAL assume true; 124485#factEXIT >#66#return; 124482#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124479#factFINAL assume true; 124474#factEXIT >#66#return; 124469#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124501#factFINAL assume true; 124464#factEXIT >#66#return; 124463#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124462#factFINAL assume true; 124461#factEXIT >#68#return; 124151#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 123979#factENTRY ~n := #in~n; 124477#L25 assume !(~n <= 0); 124401#L26 call #t~ret0 := fact(~n - 1);< 124410#factENTRY ~n := #in~n; 124483#L25 assume !(~n <= 0); 124467#L26 call #t~ret0 := fact(~n - 1);< 124486#factENTRY ~n := #in~n; 124500#L25 assume ~n <= 0;#res := 1; 124498#factFINAL assume true; 124485#factEXIT >#66#return; 124482#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124479#factFINAL assume true; 124474#factEXIT >#66#return; 124470#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124472#factFINAL assume true; 124460#factEXIT >#70#return; 124024#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 124417#factENTRY ~n := #in~n; 124414#L25 assume ~n <= 0;#res := 1; 124049#factFINAL assume true; 124022#factEXIT >#72#return; 124020#L30-3 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; 124017#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 124018#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 124117#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 124114#L43 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; 123909#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 123910#factENTRY ~n := #in~n; 124144#L25 assume !(~n <= 0); 124057#L26 call #t~ret0 := fact(~n - 1);< 124060#factENTRY ~n := #in~n; 124063#L25 assume !(~n <= 0); 124058#L26 call #t~ret0 := fact(~n - 1);< 124062#factENTRY ~n := #in~n; 124063#L25 assume !(~n <= 0); 124058#L26 call #t~ret0 := fact(~n - 1);< 124062#factENTRY ~n := #in~n; 124067#L25 assume ~n <= 0;#res := 1; 124116#factFINAL assume true; 124113#factEXIT >#66#return; 124112#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124077#factFINAL assume true; 124065#factEXIT >#66#return; 124059#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124061#factFINAL assume true; 124056#factEXIT >#66#return; 124051#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124033#factFINAL assume true; 124030#factEXIT >#74#return; 123923#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 123980#factENTRY ~n := #in~n; 124147#L25 assume !(~n <= 0); 123914#L26 call #t~ret0 := fact(~n - 1);< 124142#factENTRY ~n := #in~n; 124063#L25 assume !(~n <= 0); 124058#L26 call #t~ret0 := fact(~n - 1);< 124062#factENTRY ~n := #in~n; 124063#L25 assume !(~n <= 0); 124058#L26 call #t~ret0 := fact(~n - 1);< 124062#factENTRY ~n := #in~n; 124067#L25 assume ~n <= 0;#res := 1; 124116#factFINAL assume true; 124113#factEXIT >#66#return; 124112#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124077#factFINAL assume true; 124065#factEXIT >#66#return; 124059#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124061#factFINAL assume true; 124056#factEXIT >#66#return; 124051#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124033#factFINAL assume true; 124030#factEXIT >#76#return; 123946#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 123986#factENTRY ~n := #in~n; 124138#L25 assume !(~n <= 0); 123945#L26 call #t~ret0 := fact(~n - 1);< 123947#factENTRY ~n := #in~n; 124125#L25 assume ~n <= 0;#res := 1; 124123#factFINAL assume true; 124122#factEXIT >#66#return; 124120#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124118#factFINAL assume true; 124109#factEXIT >#78#return; 123941#L30-8 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; 123942#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 123982#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 123983#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 124041#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 124007#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 124004#L42-3 [2022-07-14 14:50:47,751 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:47,751 INFO L85 PathProgramCache]: Analyzing trace with hash 376414739, now seen corresponding path program 11 times [2022-07-14 14:50:47,751 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:47,751 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [172436596] [2022-07-14 14:50:47,752 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:47,752 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:47,758 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:47,758 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [543154873] [2022-07-14 14:50:47,758 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-14 14:50:47,758 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:47,758 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:47,763 INFO L229 MonitoredProcess]: Starting monitored process 123 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:47,785 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (123)] Waiting until timeout for monitored process [2022-07-14 14:50:47,871 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 15 check-sat command(s) [2022-07-14 14:50:47,871 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-14 14:50:47,873 INFO L263 TraceCheckSpWp]: Trace formula consists of 332 conjuncts, 13 conjunts are in the unsatisfiable core [2022-07-14 14:50:47,876 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:48,024 INFO L134 CoverageAnalysis]: Checked inductivity of 1133 backedges. 460 proven. 95 refuted. 0 times theorem prover too weak. 578 trivial. 0 not checked. [2022-07-14 14:50:48,024 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:50:48,291 INFO L134 CoverageAnalysis]: Checked inductivity of 1133 backedges. 76 proven. 130 refuted. 0 times theorem prover too weak. 927 trivial. 0 not checked. [2022-07-14 14:50:48,292 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:50:48,292 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [172436596] [2022-07-14 14:50:48,292 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:50:48,292 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [543154873] [2022-07-14 14:50:48,292 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [543154873] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:50:48,292 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:50:48,292 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13] total 18 [2022-07-14 14:50:48,292 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [197992520] [2022-07-14 14:50:48,292 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:50:48,292 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-14 14:50:48,292 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:48,293 INFO L85 PathProgramCache]: Analyzing trace with hash 1699120162, now seen corresponding path program 11 times [2022-07-14 14:50:48,293 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:48,293 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [295467820] [2022-07-14 14:50:48,293 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:48,293 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:48,316 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:48,316 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2021020758] [2022-07-14 14:50:48,316 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-14 14:50:48,316 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:48,316 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:48,323 INFO L229 MonitoredProcess]: Starting monitored process 124 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:48,324 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (124)] Waiting until timeout for monitored process [2022-07-14 14:50:48,428 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 15 check-sat command(s) [2022-07-14 14:50:48,428 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-14 14:50:48,430 INFO L263 TraceCheckSpWp]: Trace formula consists of 404 conjuncts, 17 conjunts are in the unsatisfiable core [2022-07-14 14:50:48,433 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:48,609 INFO L134 CoverageAnalysis]: Checked inductivity of 2743 backedges. 1560 proven. 90 refuted. 0 times theorem prover too weak. 1093 trivial. 0 not checked. [2022-07-14 14:50:48,609 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:50:49,122 INFO L134 CoverageAnalysis]: Checked inductivity of 2743 backedges. 338 proven. 316 refuted. 0 times theorem prover too weak. 2089 trivial. 0 not checked. [2022-07-14 14:50:49,122 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:50:49,123 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [295467820] [2022-07-14 14:50:49,123 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:50:49,123 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2021020758] [2022-07-14 14:50:49,123 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2021020758] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:50:49,123 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:50:49,123 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 16] total 19 [2022-07-14 14:50:49,123 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [710920410] [2022-07-14 14:50:49,124 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:50:49,124 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-14 14:50:49,124 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:50:49,125 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-07-14 14:50:49,125 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=249, Unknown=0, NotChecked=0, Total=306 [2022-07-14 14:50:49,125 INFO L87 Difference]: Start difference. First operand 862 states and 1190 transitions. cyclomatic complexity: 342 Second operand has 18 states, 16 states have (on average 4.25) internal successors, (68), 18 states have internal predecessors, (68), 11 states have call successors, (29), 2 states have call predecessors, (29), 4 states have return successors, (29), 8 states have call predecessors, (29), 11 states have call successors, (29) [2022-07-14 14:50:49,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:50:49,708 INFO L93 Difference]: Finished difference Result 1067 states and 1577 transitions. [2022-07-14 14:50:49,709 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-07-14 14:50:49,709 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1067 states and 1577 transitions. [2022-07-14 14:50:49,713 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 74 [2022-07-14 14:50:49,720 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1067 states to 939 states and 1388 transitions. [2022-07-14 14:50:49,720 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 91 [2022-07-14 14:50:49,720 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 91 [2022-07-14 14:50:49,720 INFO L73 IsDeterministic]: Start isDeterministic. Operand 939 states and 1388 transitions. [2022-07-14 14:50:49,720 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:50:49,721 INFO L369 hiAutomatonCegarLoop]: Abstraction has 939 states and 1388 transitions. [2022-07-14 14:50:49,721 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 939 states and 1388 transitions. [2022-07-14 14:50:49,734 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 939 to 832. [2022-07-14 14:50:49,735 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 832 states, 527 states have (on average 1.0910815939278937) internal successors, (575), 528 states have internal predecessors, (575), 189 states have call successors, (189), 104 states have call predecessors, (189), 116 states have return successors, (387), 199 states have call predecessors, (387), 189 states have call successors, (387) [2022-07-14 14:50:49,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 832 states to 832 states and 1151 transitions. [2022-07-14 14:50:49,737 INFO L392 hiAutomatonCegarLoop]: Abstraction has 832 states and 1151 transitions. [2022-07-14 14:50:49,738 INFO L374 stractBuchiCegarLoop]: Abstraction has 832 states and 1151 transitions. [2022-07-14 14:50:49,738 INFO L287 stractBuchiCegarLoop]: ======== Iteration 26 ============ [2022-07-14 14:50:49,738 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 832 states and 1151 transitions. [2022-07-14 14:50:49,740 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 56 [2022-07-14 14:50:49,740 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:50:49,740 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:50:49,743 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [32, 32, 18, 14, 14, 14, 14, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1] [2022-07-14 14:50:49,743 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [34, 34, 22, 22, 22, 22, 12, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:50:49,744 INFO L752 eck$LassoCheckResult]: Stem: 128187#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 128161#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 128162#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 128186#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 128175#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 128176#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 128695#L43 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; 128148#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 128149#factENTRY ~n := #in~n; 128740#L25 assume ~n <= 0;#res := 1; 128739#factFINAL assume true; 128716#factEXIT >#68#return; 128208#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 128209#factENTRY ~n := #in~n; 128756#L25 assume ~n <= 0;#res := 1; 128755#factFINAL assume true; 128754#factEXIT >#70#return; 128144#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 128145#factENTRY ~n := #in~n; 128765#L25 assume ~n <= 0;#res := 1; 128764#factFINAL assume true; 128763#factEXIT >#72#return; 128179#L30-3 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; 128180#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 128181#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 128774#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 128189#L43 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; 128190#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 128832#factENTRY ~n := #in~n; 128842#L25 assume !(~n <= 0); 128838#L26 call #t~ret0 := fact(~n - 1);< 128839#factENTRY ~n := #in~n; 128844#L25 assume ~n <= 0;#res := 1; 128841#factFINAL assume true; 128837#factEXIT >#66#return; 128836#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128835#factFINAL assume true; 128831#factEXIT >#74#return; 128824#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 128827#factENTRY ~n := #in~n; 128834#L25 assume ~n <= 0;#res := 1; 128830#factFINAL assume true; 128822#factEXIT >#76#return; 128819#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 128820#factENTRY ~n := #in~n; 128849#L25 assume !(~n <= 0); 128846#L26 call #t~ret0 := fact(~n - 1);< 128847#factENTRY ~n := #in~n; 128850#L25 assume ~n <= 0;#res := 1; 128848#factFINAL assume true; 128845#factEXIT >#66#return; 128843#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128840#factFINAL assume true; 128818#factEXIT >#78#return; 128816#L30-8 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; 128814#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 128812#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 128809#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 128806#L43 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; 128140#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 128769#factENTRY ~n := #in~n; 128957#L25 assume !(~n <= 0); 128196#L26 call #t~ret0 := fact(~n - 1);< 128932#factENTRY ~n := #in~n; 128955#L25 assume !(~n <= 0); 128194#L26 call #t~ret0 := fact(~n - 1);< 128949#factENTRY ~n := #in~n; 128204#L25 assume ~n <= 0;#res := 1; 128205#factFINAL assume true; 128956#factEXIT >#66#return; 128193#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128198#factFINAL assume true; 128954#factEXIT >#66#return; 128922#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128766#factFINAL assume true; 128768#factEXIT >#74#return; 128153#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 128770#factENTRY ~n := #in~n; 128959#L25 assume ~n <= 0;#res := 1; 128151#factFINAL assume true; 128154#factEXIT >#76#return; 128171#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 128953#factENTRY ~n := #in~n; 128951#L25 assume !(~n <= 0); 128170#L26 call #t~ret0 := fact(~n - 1);< 128172#factENTRY ~n := #in~n; 128955#L25 assume !(~n <= 0); 128194#L26 call #t~ret0 := fact(~n - 1);< 128949#factENTRY ~n := #in~n; 128204#L25 assume ~n <= 0;#res := 1; 128205#factFINAL assume true; 128956#factEXIT >#66#return; 128193#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128198#factFINAL assume true; 128954#factEXIT >#66#return; 128941#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128962#factFINAL assume true; 128960#factEXIT >#78#return; 128163#L30-8 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; 128164#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 128173#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 128213#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 128182#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 128183#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 128199#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 128200#L43 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; 128604#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 128605#factENTRY ~n := #in~n; 128634#L25 assume !(~n <= 0); 128615#L26 call #t~ret0 := fact(~n - 1);< 128616#factENTRY ~n := #in~n; 128628#L25 assume ~n <= 0;#res := 1; 128626#factFINAL assume true; 128614#factEXIT >#66#return; 128608#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128607#factFINAL assume true; 128602#factEXIT >#68#return; 128599#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 128594#factENTRY ~n := #in~n; 128606#L25 assume ~n <= 0;#res := 1; 128601#factFINAL assume true; 128598#factEXIT >#70#return; 128572#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 128587#factENTRY ~n := #in~n; 128647#L25 assume !(~n <= 0); 128549#L26 call #t~ret0 := fact(~n - 1);< 128669#factENTRY ~n := #in~n; 128570#L25 assume ~n <= 0;#res := 1; 128561#factFINAL assume true; 128546#factEXIT >#66#return; 128555#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128577#factFINAL assume true; 128571#factEXIT >#72#return; 128574#L30-3 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; 128584#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 128582#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 128580#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 128578#L43 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; 128459#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 128576#factENTRY ~n := #in~n; 128648#L25 assume !(~n <= 0); 128551#L26 call #t~ret0 := fact(~n - 1);< 128557#factENTRY ~n := #in~n; 128570#L25 assume ~n <= 0;#res := 1; 128561#factFINAL assume true; 128546#factEXIT >#66#return; 128555#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128577#factFINAL assume true; 128571#factEXIT >#68#return; 128528#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 128535#factENTRY ~n := #in~n; 128596#L25 assume !(~n <= 0); 128550#L26 call #t~ret0 := fact(~n - 1);< 128557#factENTRY ~n := #in~n; 128570#L25 assume ~n <= 0;#res := 1; 128561#factFINAL assume true; 128546#factEXIT >#66#return; 128544#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128537#factFINAL assume true; 128527#factEXIT >#70#return; 128461#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 128468#factENTRY ~n := #in~n; 128472#L25 assume ~n <= 0;#res := 1; 128470#factFINAL assume true; 128458#factEXIT >#72#return; 128467#L30-3 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; 128494#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 128492#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 128491#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 128489#L43 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; 128411#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 128416#factENTRY ~n := #in~n; 128483#L25 assume !(~n <= 0); 128429#L26 call #t~ret0 := fact(~n - 1);< 128522#factENTRY ~n := #in~n; 128457#L25 assume !(~n <= 0); 128430#L26 call #t~ret0 := fact(~n - 1);< 128450#factENTRY ~n := #in~n; 128475#L25 assume ~n <= 0;#res := 1; 128473#factFINAL assume true; 128471#factEXIT >#66#return; 128469#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128456#factFINAL assume true; 128447#factEXIT >#66#return; 128448#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128499#factFINAL assume true; 128495#factEXIT >#74#return; 128497#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 128515#factENTRY ~n := #in~n; 128595#L25 assume !(~n <= 0); 128432#L26 call #t~ret0 := fact(~n - 1);< 128522#factENTRY ~n := #in~n; 128543#L25 assume ~n <= 0;#res := 1; 128524#factFINAL assume true; 128519#factEXIT >#66#return; 128518#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128516#factFINAL assume true; 128506#factEXIT >#76#return; 128486#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 128488#factENTRY ~n := #in~n; 128487#L25 assume !(~n <= 0); 128478#L26 call #t~ret0 := fact(~n - 1);< 128481#factENTRY ~n := #in~n; 128493#L25 assume ~n <= 0;#res := 1; 128484#factFINAL assume true; 128477#factEXIT >#66#return; 128480#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128638#factFINAL assume true; 128633#factEXIT >#78#return; 128513#L30-8 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; 128409#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 128311#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 128307#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 128308#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 128619#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 128223#L42-3 [2022-07-14 14:50:49,744 INFO L754 eck$LassoCheckResult]: Loop: 128223#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 128188#L43 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; 128146#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 128147#factENTRY ~n := #in~n; 128222#L25 assume !(~n <= 0); 128191#L26 call #t~ret0 := fact(~n - 1);< 128221#factENTRY ~n := #in~n; 128305#L25 assume !(~n <= 0); 128137#L26 call #t~ret0 := fact(~n - 1);< 128303#factENTRY ~n := #in~n; 128306#L25 assume ~n <= 0;#res := 1; 128150#factFINAL assume true; 128136#factEXIT >#66#return; 128138#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128192#factFINAL assume true; 128220#factEXIT >#66#return; 128219#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128218#factFINAL assume true; 128217#factEXIT >#68#return; 128206#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 128207#factENTRY ~n := #in~n; 128408#L25 assume ~n <= 0;#res := 1; 128407#factFINAL assume true; 128406#factEXIT >#70#return; 128317#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 128325#factENTRY ~n := #in~n; 128375#L25 assume !(~n <= 0); 128335#L26 call #t~ret0 := fact(~n - 1);< 128370#factENTRY ~n := #in~n; 128379#L25 assume !(~n <= 0); 128333#L26 call #t~ret0 := fact(~n - 1);< 128378#factENTRY ~n := #in~n; 128382#L25 assume ~n <= 0;#res := 1; 128380#factFINAL assume true; 128377#factEXIT >#66#return; 128374#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128373#factFINAL assume true; 128368#factEXIT >#66#return; 128367#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128366#factFINAL assume true; 128321#factEXIT >#72#return; 128324#L30-3 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; 128761#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 128404#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 128403#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 128394#L43 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; 128322#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 128325#factENTRY ~n := #in~n; 128375#L25 assume !(~n <= 0); 128335#L26 call #t~ret0 := fact(~n - 1);< 128370#factENTRY ~n := #in~n; 128379#L25 assume !(~n <= 0); 128333#L26 call #t~ret0 := fact(~n - 1);< 128378#factENTRY ~n := #in~n; 128379#L25 assume !(~n <= 0); 128333#L26 call #t~ret0 := fact(~n - 1);< 128378#factENTRY ~n := #in~n; 128382#L25 assume ~n <= 0;#res := 1; 128380#factFINAL assume true; 128377#factEXIT >#66#return; 128374#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128373#factFINAL assume true; 128368#factEXIT >#66#return; 128339#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128371#factFINAL assume true; 128332#factEXIT >#66#return; 128342#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128361#factFINAL assume true; 128362#factEXIT >#68#return; 128315#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 128318#factENTRY ~n := #in~n; 128344#L25 assume !(~n <= 0); 128334#L26 call #t~ret0 := fact(~n - 1);< 128343#factENTRY ~n := #in~n; 128379#L25 assume !(~n <= 0); 128333#L26 call #t~ret0 := fact(~n - 1);< 128378#factENTRY ~n := #in~n; 128382#L25 assume ~n <= 0;#res := 1; 128380#factFINAL assume true; 128377#factEXIT >#66#return; 128374#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128373#factFINAL assume true; 128368#factEXIT >#66#return; 128341#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128319#factFINAL assume true; 128320#factEXIT >#70#return; 128299#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 128300#factENTRY ~n := #in~n; 128363#L25 assume !(~n <= 0); 128337#L26 call #t~ret0 := fact(~n - 1);< 128343#factENTRY ~n := #in~n; 128359#L25 assume ~n <= 0;#res := 1; 128355#factFINAL assume true; 128351#factEXIT >#66#return; 128350#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128349#factFINAL assume true; 128347#factEXIT >#72#return; 128346#L30-3 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; 128331#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 128328#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 128327#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 128326#L43 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; 128323#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 128325#factENTRY ~n := #in~n; 128375#L25 assume !(~n <= 0); 128335#L26 call #t~ret0 := fact(~n - 1);< 128370#factENTRY ~n := #in~n; 128379#L25 assume !(~n <= 0); 128333#L26 call #t~ret0 := fact(~n - 1);< 128378#factENTRY ~n := #in~n; 128379#L25 assume !(~n <= 0); 128333#L26 call #t~ret0 := fact(~n - 1);< 128378#factENTRY ~n := #in~n; 128382#L25 assume ~n <= 0;#res := 1; 128380#factFINAL assume true; 128377#factEXIT >#66#return; 128374#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128373#factFINAL assume true; 128368#factEXIT >#66#return; 128339#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128371#factFINAL assume true; 128332#factEXIT >#66#return; 128342#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128361#factFINAL assume true; 128362#factEXIT >#68#return; 128313#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 128318#factENTRY ~n := #in~n; 128344#L25 assume !(~n <= 0); 128334#L26 call #t~ret0 := fact(~n - 1);< 128343#factENTRY ~n := #in~n; 128379#L25 assume !(~n <= 0); 128333#L26 call #t~ret0 := fact(~n - 1);< 128378#factENTRY ~n := #in~n; 128382#L25 assume ~n <= 0;#res := 1; 128380#factFINAL assume true; 128377#factEXIT >#66#return; 128374#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128373#factFINAL assume true; 128368#factEXIT >#66#return; 128341#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128319#factFINAL assume true; 128320#factEXIT >#70#return; 128296#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 128300#factENTRY ~n := #in~n; 128363#L25 assume ~n <= 0;#res := 1; 128301#factFINAL assume true; 128294#factEXIT >#72#return; 128293#L30-3 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; 128292#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 128290#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 128289#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 128287#L43 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; 128132#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 128133#factENTRY ~n := #in~n; 128304#L25 assume !(~n <= 0); 128240#L26 call #t~ret0 := fact(~n - 1);< 128243#factENTRY ~n := #in~n; 128252#L25 assume !(~n <= 0); 128241#L26 call #t~ret0 := fact(~n - 1);< 128248#factENTRY ~n := #in~n; 128252#L25 assume !(~n <= 0); 128241#L26 call #t~ret0 := fact(~n - 1);< 128248#factENTRY ~n := #in~n; 128255#L25 assume ~n <= 0;#res := 1; 128264#factFINAL assume true; 128259#factEXIT >#66#return; 128256#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128253#factFINAL assume true; 128249#factEXIT >#66#return; 128242#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128247#factFINAL assume true; 128239#factEXIT >#66#return; 128237#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128233#factFINAL assume true; 128227#factEXIT >#74#return; 128230#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 128211#factENTRY ~n := #in~n; 128275#L25 assume !(~n <= 0); 128203#L26 call #t~ret0 := fact(~n - 1);< 128284#factENTRY ~n := #in~n; 128252#L25 assume !(~n <= 0); 128241#L26 call #t~ret0 := fact(~n - 1);< 128248#factENTRY ~n := #in~n; 128252#L25 assume !(~n <= 0); 128241#L26 call #t~ret0 := fact(~n - 1);< 128248#factENTRY ~n := #in~n; 128255#L25 assume ~n <= 0;#res := 1; 128264#factFINAL assume true; 128259#factEXIT >#66#return; 128256#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128253#factFINAL assume true; 128249#factEXIT >#66#return; 128242#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128247#factFINAL assume true; 128239#factEXIT >#66#return; 128237#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128233#factFINAL assume true; 128227#factEXIT >#76#return; 128168#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 128214#factENTRY ~n := #in~n; 128291#L25 assume !(~n <= 0); 128167#L26 call #t~ret0 := fact(~n - 1);< 128169#factENTRY ~n := #in~n; 128282#L25 assume ~n <= 0;#res := 1; 128280#factFINAL assume true; 128274#factEXIT >#66#return; 128273#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 128272#factFINAL assume true; 128262#factEXIT >#78#return; 128231#L30-8 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; 128235#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 128232#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 128226#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 128225#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 128224#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 128223#L42-3 [2022-07-14 14:50:49,744 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:49,745 INFO L85 PathProgramCache]: Analyzing trace with hash 52177008, now seen corresponding path program 12 times [2022-07-14 14:50:49,745 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:49,745 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [772244786] [2022-07-14 14:50:49,745 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:49,745 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:49,756 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:49,756 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1154366853] [2022-07-14 14:50:49,756 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-14 14:50:49,756 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:49,756 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:49,758 INFO L229 MonitoredProcess]: Starting monitored process 125 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:49,760 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (125)] Waiting until timeout for monitored process [2022-07-14 14:50:49,904 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 23 check-sat command(s) [2022-07-14 14:50:49,904 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-14 14:50:49,904 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:50:49,968 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:50:49,996 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:50:49,997 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:49,997 INFO L85 PathProgramCache]: Analyzing trace with hash 1699120162, now seen corresponding path program 12 times [2022-07-14 14:50:49,997 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:49,997 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1195735555] [2022-07-14 14:50:49,997 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:49,998 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:50,004 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:50,004 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1818463527] [2022-07-14 14:50:50,004 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-14 14:50:50,004 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:50,004 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:50,009 INFO L229 MonitoredProcess]: Starting monitored process 126 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:50,010 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (126)] Waiting until timeout for monitored process [2022-07-14 14:50:50,122 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 17 check-sat command(s) [2022-07-14 14:50:50,122 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-14 14:50:50,124 INFO L263 TraceCheckSpWp]: Trace formula consists of 440 conjuncts, 21 conjunts are in the unsatisfiable core [2022-07-14 14:50:50,127 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:50,311 INFO L134 CoverageAnalysis]: Checked inductivity of 2743 backedges. 1594 proven. 213 refuted. 0 times theorem prover too weak. 936 trivial. 0 not checked. [2022-07-14 14:50:50,311 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:50:50,940 INFO L134 CoverageAnalysis]: Checked inductivity of 2743 backedges. 243 proven. 604 refuted. 0 times theorem prover too weak. 1896 trivial. 0 not checked. [2022-07-14 14:50:50,941 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:50:50,941 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1195735555] [2022-07-14 14:50:50,941 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:50:50,941 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1818463527] [2022-07-14 14:50:50,941 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1818463527] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:50:50,941 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:50:50,941 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 18] total 22 [2022-07-14 14:50:50,941 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [986363829] [2022-07-14 14:50:50,941 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:50:50,941 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-14 14:50:50,942 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:50:50,942 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-07-14 14:50:50,942 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=391, Unknown=0, NotChecked=0, Total=462 [2022-07-14 14:50:50,942 INFO L87 Difference]: Start difference. First operand 832 states and 1151 transitions. cyclomatic complexity: 333 Second operand has 22 states, 17 states have (on average 3.411764705882353) internal successors, (58), 20 states have internal predecessors, (58), 15 states have call successors, (29), 2 states have call predecessors, (29), 8 states have return successors, (31), 12 states have call predecessors, (31), 15 states have call successors, (31) [2022-07-14 14:50:51,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:50:51,983 INFO L93 Difference]: Finished difference Result 1237 states and 1755 transitions. [2022-07-14 14:50:51,984 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-07-14 14:50:51,984 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1237 states and 1755 transitions. [2022-07-14 14:50:51,988 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 157 [2022-07-14 14:50:51,996 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1237 states to 1235 states and 1753 transitions. [2022-07-14 14:50:51,997 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 152 [2022-07-14 14:50:51,997 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 152 [2022-07-14 14:50:51,997 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1235 states and 1753 transitions. [2022-07-14 14:50:51,997 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:50:51,998 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1235 states and 1753 transitions. [2022-07-14 14:50:51,998 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1235 states and 1753 transitions. [2022-07-14 14:50:52,013 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1235 to 888. [2022-07-14 14:50:52,014 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 888 states, 565 states have (on average 1.0849557522123894) internal successors, (613), 564 states have internal predecessors, (613), 203 states have call successors, (203), 110 states have call predecessors, (203), 120 states have return successors, (413), 213 states have call predecessors, (413), 203 states have call successors, (413) [2022-07-14 14:50:52,017 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 888 states to 888 states and 1229 transitions. [2022-07-14 14:50:52,017 INFO L392 hiAutomatonCegarLoop]: Abstraction has 888 states and 1229 transitions. [2022-07-14 14:50:52,017 INFO L374 stractBuchiCegarLoop]: Abstraction has 888 states and 1229 transitions. [2022-07-14 14:50:52,017 INFO L287 stractBuchiCegarLoop]: ======== Iteration 27 ============ [2022-07-14 14:50:52,017 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 888 states and 1229 transitions. [2022-07-14 14:50:52,020 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 71 [2022-07-14 14:50:52,020 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:50:52,020 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:50:52,021 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [32, 32, 18, 14, 14, 14, 14, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1] [2022-07-14 14:50:52,021 INFO L180 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, 1] [2022-07-14 14:50:52,022 INFO L752 eck$LassoCheckResult]: Stem: 131594#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 131572#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 131573#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 131593#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 131582#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 131583#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 132032#L43 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; 132030#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 132031#factENTRY ~n := #in~n; 132037#L25 assume ~n <= 0;#res := 1; 132036#factFINAL assume true; 132029#factEXIT >#68#return; 131611#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 131612#factENTRY ~n := #in~n; 132035#L25 assume ~n <= 0;#res := 1; 132034#factFINAL assume true; 132033#factEXIT >#70#return; 131547#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 131548#factENTRY ~n := #in~n; 132189#L25 assume ~n <= 0;#res := 1; 132188#factFINAL assume true; 132187#factEXIT >#72#return; 131588#L30-3 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; 131586#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 131587#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 132284#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 132281#L43 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; 132276#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 132277#factENTRY ~n := #in~n; 132291#L25 assume !(~n <= 0); 132287#L26 call #t~ret0 := fact(~n - 1);< 132288#factENTRY ~n := #in~n; 132293#L25 assume ~n <= 0;#res := 1; 132290#factFINAL assume true; 132286#factEXIT >#66#return; 132283#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 132280#factFINAL assume true; 132275#factEXIT >#74#return; 132268#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 132273#factENTRY ~n := #in~n; 132298#L25 assume ~n <= 0;#res := 1; 132296#factFINAL assume true; 132267#factEXIT >#76#return; 132264#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 132265#factENTRY ~n := #in~n; 132304#L25 assume !(~n <= 0); 132301#L26 call #t~ret0 := fact(~n - 1);< 132302#factENTRY ~n := #in~n; 132305#L25 assume ~n <= 0;#res := 1; 132303#factFINAL assume true; 132300#factEXIT >#66#return; 132299#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 132297#factFINAL assume true; 132263#factEXIT >#78#return; 132259#L30-8 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; 132258#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 132256#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 132246#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 132244#L43 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; 132230#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 132231#factENTRY ~n := #in~n; 132318#L25 assume !(~n <= 0); 132252#L26 call #t~ret0 := fact(~n - 1);< 132322#factENTRY ~n := #in~n; 132295#L25 assume !(~n <= 0); 132248#L26 call #t~ret0 := fact(~n - 1);< 132262#factENTRY ~n := #in~n; 132294#L25 assume ~n <= 0;#res := 1; 132292#factFINAL assume true; 132289#factEXIT >#66#return; 132285#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 132282#factFINAL assume true; 132278#factEXIT >#66#return; 132279#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 132239#factFINAL assume true; 132240#factEXIT >#74#return; 131816#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 132232#factENTRY ~n := #in~n; 132311#L25 assume ~n <= 0;#res := 1; 132375#factFINAL assume true; 132369#factEXIT >#76#return; 131818#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 132327#factENTRY ~n := #in~n; 132326#L25 assume !(~n <= 0); 132251#L26 call #t~ret0 := fact(~n - 1);< 132255#factENTRY ~n := #in~n; 132295#L25 assume !(~n <= 0); 132248#L26 call #t~ret0 := fact(~n - 1);< 132262#factENTRY ~n := #in~n; 132294#L25 assume ~n <= 0;#res := 1; 132292#factFINAL assume true; 132289#factEXIT >#66#return; 132285#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 132282#factFINAL assume true; 132278#factEXIT >#66#return; 132254#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 132229#factFINAL assume true; 131815#factEXIT >#78#return; 131814#L30-8 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; 131813#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 131812#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 131806#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 131589#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 131590#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 131603#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 131604#L43 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; 131980#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 131982#factENTRY ~n := #in~n; 131993#L25 assume !(~n <= 0); 131990#L26 call #t~ret0 := fact(~n - 1);< 131991#factENTRY ~n := #in~n; 131994#L25 assume ~n <= 0;#res := 1; 131992#factFINAL assume true; 131989#factEXIT >#66#return; 131987#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131986#factFINAL assume true; 131979#factEXIT >#68#return; 131973#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 131976#factENTRY ~n := #in~n; 131985#L25 assume ~n <= 0;#res := 1; 131978#factFINAL assume true; 131971#factEXIT >#70#return; 131931#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 131963#factENTRY ~n := #in~n; 132027#L25 assume !(~n <= 0); 131940#L26 call #t~ret0 := fact(~n - 1);< 132019#factENTRY ~n := #in~n; 131958#L25 assume ~n <= 0;#res := 1; 131953#factFINAL assume true; 131939#factEXIT >#66#return; 131947#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131937#factFINAL assume true; 131929#factEXIT >#72#return; 131932#L30-3 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; 131960#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 131957#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 131952#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 131938#L43 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; 131911#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 131935#factENTRY ~n := #in~n; 132111#L25 assume !(~n <= 0); 131941#L26 call #t~ret0 := fact(~n - 1);< 131950#factENTRY ~n := #in~n; 131958#L25 assume ~n <= 0;#res := 1; 131953#factFINAL assume true; 131939#factEXIT >#66#return; 131947#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131937#factFINAL assume true; 131929#factEXIT >#68#return; 131920#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 131925#factENTRY ~n := #in~n; 131988#L25 assume !(~n <= 0); 131946#L26 call #t~ret0 := fact(~n - 1);< 131950#factENTRY ~n := #in~n; 131958#L25 assume ~n <= 0;#res := 1; 131953#factFINAL assume true; 131939#factEXIT >#66#return; 131936#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131927#factFINAL assume true; 131917#factEXIT >#70#return; 131906#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 131915#factENTRY ~n := #in~n; 131926#L25 assume ~n <= 0;#res := 1; 131916#factFINAL assume true; 131905#factEXIT >#72#return; 131904#L30-3 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; 131903#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 131902#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 131901#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 131899#L43 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; 131845#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 131848#factENTRY ~n := #in~n; 131886#L25 assume !(~n <= 0); 131862#L26 call #t~ret0 := fact(~n - 1);< 132143#factENTRY ~n := #in~n; 131878#L25 assume !(~n <= 0); 131863#L26 call #t~ret0 := fact(~n - 1);< 131876#factENTRY ~n := #in~n; 131882#L25 assume ~n <= 0;#res := 1; 131881#factFINAL assume true; 131880#factEXIT >#66#return; 131879#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131877#factFINAL assume true; 131873#factEXIT >#66#return; 131875#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 132134#factFINAL assume true; 132131#factEXIT >#74#return; 131891#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 131887#factENTRY ~n := #in~n; 131895#L25 assume !(~n <= 0); 131864#L26 call #t~ret0 := fact(~n - 1);< 132143#factENTRY ~n := #in~n; 132156#L25 assume ~n <= 0;#res := 1; 132145#factFINAL assume true; 132135#factEXIT >#66#return; 132138#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 132171#factFINAL assume true; 132168#factEXIT >#76#return; 132150#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 132154#factENTRY ~n := #in~n; 132153#L25 assume !(~n <= 0); 132141#L26 call #t~ret0 := fact(~n - 1);< 132144#factENTRY ~n := #in~n; 132161#L25 assume ~n <= 0;#res := 1; 132149#factFINAL assume true; 132139#factEXIT >#66#return; 132142#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 132200#factFINAL assume true; 132199#factEXIT >#78#return; 132170#L30-8 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; 132197#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 132195#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 132193#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 131591#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 131592#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 131620#L42-3 [2022-07-14 14:50:52,022 INFO L754 eck$LassoCheckResult]: Loop: 131620#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 131595#L43 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; 131555#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 131556#factENTRY ~n := #in~n; 131635#L25 assume !(~n <= 0); 131630#L26 call #t~ret0 := fact(~n - 1);< 131634#factENTRY ~n := #in~n; 131639#L25 assume !(~n <= 0); 131631#L26 call #t~ret0 := fact(~n - 1);< 131638#factENTRY ~n := #in~n; 131639#L25 assume !(~n <= 0); 131631#L26 call #t~ret0 := fact(~n - 1);< 131638#factENTRY ~n := #in~n; 131640#L25 assume ~n <= 0;#res := 1; 131643#factFINAL assume true; 131641#factEXIT >#66#return; 131642#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131789#factFINAL assume true; 131629#factEXIT >#66#return; 131633#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131636#factFINAL assume true; 131637#factEXIT >#66#return; 131625#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131626#factFINAL assume true; 131618#factEXIT >#68#return; 131619#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 131610#factENTRY ~n := #in~n; 131791#L25 assume ~n <= 0;#res := 1; 131790#factFINAL assume true; 131787#factEXIT >#70#return; 131704#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 131715#factENTRY ~n := #in~n; 131782#L25 assume !(~n <= 0); 131721#L26 call #t~ret0 := fact(~n - 1);< 131730#factENTRY ~n := #in~n; 131786#L25 assume !(~n <= 0); 131724#L26 call #t~ret0 := fact(~n - 1);< 131763#factENTRY ~n := #in~n; 131786#L25 assume !(~n <= 0); 131724#L26 call #t~ret0 := fact(~n - 1);< 131763#factENTRY ~n := #in~n; 131779#L25 assume ~n <= 0;#res := 1; 131778#factFINAL assume true; 131761#factEXIT >#66#return; 131759#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131756#factFINAL assume true; 131749#factEXIT >#66#return; 131729#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131793#factFINAL assume true; 131720#factEXIT >#66#return; 131717#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131713#factFINAL assume true; 131714#factEXIT >#72#return; 131710#L30-3 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; 131805#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 131804#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 131803#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 131718#L43 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; 131707#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 131715#factENTRY ~n := #in~n; 131782#L25 assume !(~n <= 0); 131721#L26 call #t~ret0 := fact(~n - 1);< 131730#factENTRY ~n := #in~n; 131786#L25 assume !(~n <= 0); 131724#L26 call #t~ret0 := fact(~n - 1);< 131763#factENTRY ~n := #in~n; 131779#L25 assume ~n <= 0;#res := 1; 131778#factFINAL assume true; 131761#factEXIT >#66#return; 131759#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131756#factFINAL assume true; 131749#factEXIT >#66#return; 131748#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131747#factFINAL assume true; 131703#factEXIT >#68#return; 131698#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 131702#factENTRY ~n := #in~n; 131783#L25 assume !(~n <= 0); 131722#L26 call #t~ret0 := fact(~n - 1);< 131745#factENTRY ~n := #in~n; 131774#L25 assume ~n <= 0;#res := 1; 131769#factFINAL assume true; 131741#factEXIT >#66#return; 131743#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131781#factFINAL assume true; 131696#factEXIT >#70#return; 131690#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 131737#factENTRY ~n := #in~n; 131777#L25 assume !(~n <= 0); 131742#L26 call #t~ret0 := fact(~n - 1);< 131746#factENTRY ~n := #in~n; 131774#L25 assume ~n <= 0;#res := 1; 131769#factFINAL assume true; 131741#factEXIT >#66#return; 131740#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131738#factFINAL assume true; 131734#factEXIT >#72#return; 131735#L30-3 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; 131755#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 131754#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 131753#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 131752#L43 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; 131708#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 131712#factENTRY ~n := #in~n; 131780#L25 assume !(~n <= 0); 131750#L26 call #t~ret0 := fact(~n - 1);< 131768#factENTRY ~n := #in~n; 131766#L25 assume !(~n <= 0); 131762#L26 call #t~ret0 := fact(~n - 1);< 131764#factENTRY ~n := #in~n; 131779#L25 assume ~n <= 0;#res := 1; 131778#factFINAL assume true; 131761#factEXIT >#66#return; 131759#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131756#factFINAL assume true; 131749#factEXIT >#66#return; 131748#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131747#factFINAL assume true; 131703#factEXIT >#68#return; 131699#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 131702#factENTRY ~n := #in~n; 131783#L25 assume !(~n <= 0); 131722#L26 call #t~ret0 := fact(~n - 1);< 131745#factENTRY ~n := #in~n; 131786#L25 assume !(~n <= 0); 131724#L26 call #t~ret0 := fact(~n - 1);< 131763#factENTRY ~n := #in~n; 131779#L25 assume ~n <= 0;#res := 1; 131778#factFINAL assume true; 131761#factEXIT >#66#return; 131759#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131756#factFINAL assume true; 131749#factEXIT >#66#return; 131727#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131792#factFINAL assume true; 131739#factEXIT >#70#return; 131691#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 131692#factENTRY ~n := #in~n; 131694#L25 assume ~n <= 0;#res := 1; 131693#factFINAL assume true; 131686#factEXIT >#72#return; 131685#L30-3 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; 131684#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 131683#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 131674#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 131671#L43 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; 131543#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 131544#factENTRY ~n := #in~n; 131681#L25 assume !(~n <= 0); 131652#L26 call #t~ret0 := fact(~n - 1);< 131655#factENTRY ~n := #in~n; 131664#L25 assume !(~n <= 0); 131651#L26 call #t~ret0 := fact(~n - 1);< 131662#factENTRY ~n := #in~n; 131664#L25 assume !(~n <= 0); 131651#L26 call #t~ret0 := fact(~n - 1);< 131662#factENTRY ~n := #in~n; 131666#L25 assume ~n <= 0;#res := 1; 131667#factFINAL assume true; 131665#factEXIT >#66#return; 131663#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131661#factFINAL assume true; 131660#factEXIT >#66#return; 131654#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131668#factFINAL assume true; 131650#factEXIT >#66#return; 131649#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131647#factFINAL assume true; 131644#factEXIT >#74#return; 131562#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 131613#factENTRY ~n := #in~n; 131682#L25 assume !(~n <= 0); 131653#L26 call #t~ret0 := fact(~n - 1);< 131678#factENTRY ~n := #in~n; 131664#L25 assume !(~n <= 0); 131651#L26 call #t~ret0 := fact(~n - 1);< 131662#factENTRY ~n := #in~n; 131666#L25 assume ~n <= 0;#res := 1; 131667#factFINAL assume true; 131665#factEXIT >#66#return; 131663#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131661#factFINAL assume true; 131660#factEXIT >#66#return; 131659#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131658#factFINAL assume true; 131657#factEXIT >#76#return; 131550#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 131615#factENTRY ~n := #in~n; 131673#L25 assume !(~n <= 0); 131566#L26 call #t~ret0 := fact(~n - 1);< 131565#factENTRY ~n := #in~n; 131567#L25 assume ~n <= 0;#res := 1; 131607#factFINAL assume true; 131676#factEXIT >#66#return; 131677#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131808#factFINAL assume true; 131549#factEXIT >#78#return; 131551#L30-8 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; 131574#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 131580#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 131614#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 131627#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 131624#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 131620#L42-3 [2022-07-14 14:50:52,023 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:52,023 INFO L85 PathProgramCache]: Analyzing trace with hash 52177008, now seen corresponding path program 13 times [2022-07-14 14:50:52,023 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:52,023 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [515323825] [2022-07-14 14:50:52,023 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:52,023 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:52,030 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:52,030 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1803939135] [2022-07-14 14:50:52,030 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-14 14:50:52,031 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:52,031 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:52,037 INFO L229 MonitoredProcess]: Starting monitored process 127 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:52,039 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (127)] Waiting until timeout for monitored process [2022-07-14 14:50:52,217 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:50:52,218 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:50:52,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:50:52,317 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:50:52,317 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:52,317 INFO L85 PathProgramCache]: Analyzing trace with hash -1380074206, now seen corresponding path program 13 times [2022-07-14 14:50:52,317 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:52,317 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1938540236] [2022-07-14 14:50:52,317 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:52,317 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:52,325 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:52,325 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1798731109] [2022-07-14 14:50:52,325 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-14 14:50:52,326 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:52,326 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:52,330 INFO L229 MonitoredProcess]: Starting monitored process 128 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:52,334 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (128)] Waiting until timeout for monitored process [2022-07-14 14:50:52,439 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-14 14:50:52,442 INFO L263 TraceCheckSpWp]: Trace formula consists of 452 conjuncts, 18 conjunts are in the unsatisfiable core [2022-07-14 14:50:52,444 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:52,609 INFO L134 CoverageAnalysis]: Checked inductivity of 2401 backedges. 1258 proven. 115 refuted. 0 times theorem prover too weak. 1028 trivial. 0 not checked. [2022-07-14 14:50:52,610 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:50:53,261 INFO L134 CoverageAnalysis]: Checked inductivity of 2401 backedges. 106 proven. 603 refuted. 0 times theorem prover too weak. 1692 trivial. 0 not checked. [2022-07-14 14:50:53,261 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:50:53,261 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1938540236] [2022-07-14 14:50:53,261 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:50:53,262 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1798731109] [2022-07-14 14:50:53,262 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1798731109] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:50:53,262 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:50:53,262 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 17] total 20 [2022-07-14 14:50:53,262 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [793745503] [2022-07-14 14:50:53,262 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:50:53,263 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-14 14:50:53,263 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:50:53,263 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-07-14 14:50:53,263 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=317, Unknown=0, NotChecked=0, Total=380 [2022-07-14 14:50:53,264 INFO L87 Difference]: Start difference. First operand 888 states and 1229 transitions. cyclomatic complexity: 355 Second operand has 20 states, 17 states have (on average 3.411764705882353) internal successors, (58), 20 states have internal predecessors, (58), 13 states have call successors, (26), 2 states have call predecessors, (26), 8 states have return successors, (28), 8 states have call predecessors, (28), 13 states have call successors, (28) [2022-07-14 14:50:53,973 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:50:53,973 INFO L93 Difference]: Finished difference Result 1122 states and 1610 transitions. [2022-07-14 14:50:53,974 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-07-14 14:50:53,974 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1122 states and 1610 transitions. [2022-07-14 14:50:53,980 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 104 [2022-07-14 14:50:53,987 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1122 states to 1000 states and 1415 transitions. [2022-07-14 14:50:53,987 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 131 [2022-07-14 14:50:53,987 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 131 [2022-07-14 14:50:53,988 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1000 states and 1415 transitions. [2022-07-14 14:50:53,988 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:50:53,988 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1000 states and 1415 transitions. [2022-07-14 14:50:53,989 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1000 states and 1415 transitions. [2022-07-14 14:50:54,001 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1000 to 917. [2022-07-14 14:50:54,002 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 917 states, 583 states have (on average 1.0840480274442539) internal successors, (632), 583 states have internal predecessors, (632), 216 states have call successors, (216), 118 states have call predecessors, (216), 118 states have return successors, (426), 215 states have call predecessors, (426), 216 states have call successors, (426) [2022-07-14 14:50:54,005 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 917 states to 917 states and 1274 transitions. [2022-07-14 14:50:54,005 INFO L392 hiAutomatonCegarLoop]: Abstraction has 917 states and 1274 transitions. [2022-07-14 14:50:54,006 INFO L374 stractBuchiCegarLoop]: Abstraction has 917 states and 1274 transitions. [2022-07-14 14:50:54,006 INFO L287 stractBuchiCegarLoop]: ======== Iteration 28 ============ [2022-07-14 14:50:54,006 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 917 states and 1274 transitions. [2022-07-14 14:50:54,008 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 104 [2022-07-14 14:50:54,008 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:50:54,008 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:50:54,010 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [32, 32, 18, 14, 14, 14, 14, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1] [2022-07-14 14:50:54,010 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [31, 31, 19, 19, 19, 19, 12, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:50:54,010 INFO L752 eck$LassoCheckResult]: Stem: 134866#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 134841#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 134842#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 134865#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 134854#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 134855#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 135454#L43 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; 134822#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 134823#factENTRY ~n := #in~n; 135508#L25 assume ~n <= 0;#res := 1; 135507#factFINAL assume true; 135506#factEXIT >#68#return; 134882#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 134883#factENTRY ~n := #in~n; 135501#L25 assume ~n <= 0;#res := 1; 135500#factFINAL assume true; 135499#factEXIT >#70#return; 134818#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 134819#factENTRY ~n := #in~n; 135410#L25 assume ~n <= 0;#res := 1; 135409#factFINAL assume true; 135406#factEXIT >#72#return; 134858#L30-3 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; 134859#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 134860#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 135552#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 134869#L43 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; 134870#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 135600#factENTRY ~n := #in~n; 135608#L25 assume !(~n <= 0); 135605#L26 call #t~ret0 := fact(~n - 1);< 135606#factENTRY ~n := #in~n; 135609#L25 assume ~n <= 0;#res := 1; 135607#factFINAL assume true; 135604#factEXIT >#66#return; 135603#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135602#factFINAL assume true; 135599#factEXIT >#74#return; 135579#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 135582#factENTRY ~n := #in~n; 135601#L25 assume ~n <= 0;#res := 1; 135598#factFINAL assume true; 135577#factEXIT >#76#return; 135574#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 135575#factENTRY ~n := #in~n; 135592#L25 assume !(~n <= 0); 135589#L26 call #t~ret0 := fact(~n - 1);< 135590#factENTRY ~n := #in~n; 135597#L25 assume ~n <= 0;#res := 1; 135596#factFINAL assume true; 135588#factEXIT >#66#return; 135586#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135585#factFINAL assume true; 135573#factEXIT >#78#return; 135570#L30-8 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; 135566#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 135565#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 135564#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 135562#L43 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; 135528#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 135530#factENTRY ~n := #in~n; 135525#L25 assume !(~n <= 0); 134879#L26 call #t~ret0 := fact(~n - 1);< 135697#factENTRY ~n := #in~n; 135711#L25 assume !(~n <= 0); 135680#L26 call #t~ret0 := fact(~n - 1);< 135690#factENTRY ~n := #in~n; 135710#L25 assume ~n <= 0;#res := 1; 135709#factFINAL assume true; 135706#factEXIT >#66#return; 135705#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135704#factFINAL assume true; 135700#factEXIT >#66#return; 135701#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135722#factFINAL assume true; 135720#factEXIT >#74#return; 134831#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 135523#factENTRY ~n := #in~n; 135708#L25 assume ~n <= 0;#res := 1; 135524#factFINAL assume true; 135522#factEXIT >#76#return; 134833#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 135673#factENTRY ~n := #in~n; 135712#L25 assume !(~n <= 0); 135681#L26 call #t~ret0 := fact(~n - 1);< 135683#factENTRY ~n := #in~n; 135711#L25 assume !(~n <= 0); 135680#L26 call #t~ret0 := fact(~n - 1);< 135690#factENTRY ~n := #in~n; 135710#L25 assume ~n <= 0;#res := 1; 135709#factFINAL assume true; 135706#factEXIT >#66#return; 135705#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135704#factFINAL assume true; 135700#factEXIT >#66#return; 134872#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 134830#factFINAL assume true; 134835#factEXIT >#78#return; 134843#L30-8 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; 134844#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 134852#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 134887#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 134861#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 134862#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 134873#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 134874#L43 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; 135353#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 135364#factENTRY ~n := #in~n; 135376#L25 assume !(~n <= 0); 135372#L26 call #t~ret0 := fact(~n - 1);< 135373#factENTRY ~n := #in~n; 135378#L25 assume ~n <= 0;#res := 1; 135375#factFINAL assume true; 135371#factEXIT >#66#return; 135369#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135367#factFINAL assume true; 135363#factEXIT >#68#return; 135337#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 135319#factENTRY ~n := #in~n; 135366#L25 assume ~n <= 0;#res := 1; 135362#factFINAL assume true; 135336#factEXIT >#70#return; 135260#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 135265#factENTRY ~n := #in~n; 135331#L25 assume !(~n <= 0); 135307#L26 call #t~ret0 := fact(~n - 1);< 135349#factENTRY ~n := #in~n; 135320#L25 assume ~n <= 0;#res := 1; 135312#factFINAL assume true; 135300#factEXIT >#66#return; 135298#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135264#factFINAL assume true; 135258#factEXIT >#72#return; 135261#L30-3 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; 135323#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 135322#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 135321#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 135316#L43 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; 135195#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 135263#factENTRY ~n := #in~n; 135330#L25 assume !(~n <= 0); 135306#L26 call #t~ret0 := fact(~n - 1);< 135311#factENTRY ~n := #in~n; 135320#L25 assume ~n <= 0;#res := 1; 135312#factFINAL assume true; 135300#factEXIT >#66#return; 135298#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135264#factFINAL assume true; 135258#factEXIT >#68#return; 135252#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 135256#factENTRY ~n := #in~n; 135360#L25 assume !(~n <= 0); 135305#L26 call #t~ret0 := fact(~n - 1);< 135311#factENTRY ~n := #in~n; 135320#L25 assume ~n <= 0;#res := 1; 135312#factFINAL assume true; 135300#factEXIT >#66#return; 135310#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135295#factFINAL assume true; 135251#factEXIT >#70#return; 135193#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 135200#factENTRY ~n := #in~n; 135240#L25 assume ~n <= 0;#res := 1; 135239#factFINAL assume true; 135192#factEXIT >#72#return; 135190#L30-3 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; 135188#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 135186#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 135184#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 135180#L43 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; 135164#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 135168#factENTRY ~n := #in~n; 135174#L25 assume !(~n <= 0); 135175#L26 call #t~ret0 := fact(~n - 1);< 135217#factENTRY ~n := #in~n; 135291#L25 assume !(~n <= 0); 135234#L26 call #t~ret0 := fact(~n - 1);< 135279#factENTRY ~n := #in~n; 135290#L25 assume ~n <= 0;#res := 1; 135288#factFINAL assume true; 135278#factEXIT >#66#return; 135274#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135241#factFINAL assume true; 135231#factEXIT >#66#return; 135230#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135228#factFINAL assume true; 135176#factEXIT >#74#return; 135179#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 135437#factENTRY ~n := #in~n; 135453#L25 assume !(~n <= 0); 135215#L26 call #t~ret0 := fact(~n - 1);< 135217#factENTRY ~n := #in~n; 135271#L25 assume ~n <= 0;#res := 1; 135223#factFINAL assume true; 135213#factEXIT >#66#return; 135216#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135443#factFINAL assume true; 135434#factEXIT >#76#return; 135293#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 135299#factENTRY ~n := #in~n; 135297#L25 assume !(~n <= 0); 135284#L26 call #t~ret0 := fact(~n - 1);< 135287#factENTRY ~n := #in~n; 135315#L25 assume ~n <= 0;#res := 1; 135292#factFINAL assume true; 135283#factEXIT >#66#return; 135286#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135515#factFINAL assume true; 135514#factEXIT >#78#return; 135436#L30-8 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; 135521#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 135520#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 135518#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 135502#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 135498#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 134913#L42-3 [2022-07-14 14:50:54,010 INFO L754 eck$LassoCheckResult]: Loop: 134913#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 134914#L43 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; 134820#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 134821#factENTRY ~n := #in~n; 134906#L25 assume !(~n <= 0); 134901#L26 call #t~ret0 := fact(~n - 1);< 134915#factENTRY ~n := #in~n; 134912#L25 assume !(~n <= 0); 134900#L26 call #t~ret0 := fact(~n - 1);< 134918#factENTRY ~n := #in~n; 134921#L25 assume ~n <= 0;#res := 1; 134919#factFINAL assume true; 134916#factEXIT >#66#return; 134917#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 134933#factFINAL assume true; 134899#factEXIT >#66#return; 134897#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 134898#factFINAL assume true; 134893#factEXIT >#68#return; 134894#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 134881#factENTRY ~n := #in~n; 135138#L25 assume ~n <= 0;#res := 1; 135137#factFINAL assume true; 135135#factEXIT >#70#return; 135035#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 135044#factENTRY ~n := #in~n; 135107#L25 assume !(~n <= 0); 135055#L26 call #t~ret0 := fact(~n - 1);< 135085#factENTRY ~n := #in~n; 135127#L25 assume !(~n <= 0); 135057#L26 call #t~ret0 := fact(~n - 1);< 135116#factENTRY ~n := #in~n; 135127#L25 assume !(~n <= 0); 135057#L26 call #t~ret0 := fact(~n - 1);< 135116#factENTRY ~n := #in~n; 135126#L25 assume ~n <= 0;#res := 1; 135124#factFINAL assume true; 135113#factEXIT >#66#return; 135112#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135108#factFINAL assume true; 135082#factEXIT >#66#return; 135061#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135132#factFINAL assume true; 135049#factEXIT >#66#return; 135046#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135043#factFINAL assume true; 135034#factEXIT >#72#return; 135040#L30-3 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; 135120#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 135118#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 135117#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 135111#L43 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; 135073#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 135079#factENTRY ~n := #in~n; 135125#L25 assume !(~n <= 0); 135083#L26 call #t~ret0 := fact(~n - 1);< 135086#factENTRY ~n := #in~n; 135119#L25 assume !(~n <= 0); 135114#L26 call #t~ret0 := fact(~n - 1);< 135115#factENTRY ~n := #in~n; 135126#L25 assume ~n <= 0;#res := 1; 135124#factFINAL assume true; 135113#factEXIT >#66#return; 135112#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135108#factFINAL assume true; 135082#factEXIT >#66#return; 135080#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135078#factFINAL assume true; 135071#factEXIT >#68#return; 134994#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 134996#factENTRY ~n := #in~n; 135121#L25 assume !(~n <= 0); 135050#L26 call #t~ret0 := fact(~n - 1);< 135093#factENTRY ~n := #in~n; 135106#L25 assume ~n <= 0;#res := 1; 135099#factFINAL assume true; 135088#factEXIT >#66#return; 135090#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135081#factFINAL assume true; 135076#factEXIT >#70#return; 134983#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 135075#factENTRY ~n := #in~n; 135098#L25 assume !(~n <= 0); 135089#L26 call #t~ret0 := fact(~n - 1);< 135092#factENTRY ~n := #in~n; 135106#L25 assume ~n <= 0;#res := 1; 135099#factFINAL assume true; 135088#factEXIT >#66#return; 135077#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135074#factFINAL assume true; 135069#factEXIT >#72#return; 135070#L30-3 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; 135097#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 135096#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 135094#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 135087#L43 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; 135072#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 135079#factENTRY ~n := #in~n; 135125#L25 assume !(~n <= 0); 135083#L26 call #t~ret0 := fact(~n - 1);< 135086#factENTRY ~n := #in~n; 135119#L25 assume !(~n <= 0); 135114#L26 call #t~ret0 := fact(~n - 1);< 135115#factENTRY ~n := #in~n; 135126#L25 assume ~n <= 0;#res := 1; 135124#factFINAL assume true; 135113#factEXIT >#66#return; 135112#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135108#factFINAL assume true; 135082#factEXIT >#66#return; 135080#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135078#factFINAL assume true; 135071#factEXIT >#68#return; 134992#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 134996#factENTRY ~n := #in~n; 135121#L25 assume !(~n <= 0); 135050#L26 call #t~ret0 := fact(~n - 1);< 135093#factENTRY ~n := #in~n; 135127#L25 assume !(~n <= 0); 135057#L26 call #t~ret0 := fact(~n - 1);< 135116#factENTRY ~n := #in~n; 135126#L25 assume ~n <= 0;#res := 1; 135124#factFINAL assume true; 135113#factEXIT >#66#return; 135112#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135108#factFINAL assume true; 135082#factEXIT >#66#return; 135059#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135131#factFINAL assume true; 134991#factEXIT >#70#return; 134987#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 134999#factENTRY ~n := #in~n; 135001#L25 assume ~n <= 0;#res := 1; 134998#factFINAL assume true; 134982#factEXIT >#72#return; 134988#L30-3 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; 135024#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 135023#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 135022#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 135020#L43 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; 134956#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 134949#factENTRY ~n := #in~n; 134997#L25 assume !(~n <= 0); 134828#L26 call #t~ret0 := fact(~n - 1);< 134836#factENTRY ~n := #in~n; 134837#L25 assume !(~n <= 0); 134813#L26 call #t~ret0 := fact(~n - 1);< 135011#factENTRY ~n := #in~n; 134837#L25 assume !(~n <= 0); 134813#L26 call #t~ret0 := fact(~n - 1);< 135011#factENTRY ~n := #in~n; 134877#L25 assume ~n <= 0;#res := 1; 134878#factFINAL assume true; 134812#factEXIT >#66#return; 134814#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135005#factFINAL assume true; 134967#factEXIT >#66#return; 134871#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 134824#factFINAL assume true; 134829#factEXIT >#66#return; 135002#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135000#factFINAL assume true; 134958#factEXIT >#74#return; 134942#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 134885#factENTRY ~n := #in~n; 134959#L25 assume !(~n <= 0); 134825#L26 call #t~ret0 := fact(~n - 1);< 134981#factENTRY ~n := #in~n; 134837#L25 assume !(~n <= 0); 134813#L26 call #t~ret0 := fact(~n - 1);< 135011#factENTRY ~n := #in~n; 134877#L25 assume ~n <= 0;#res := 1; 134878#factFINAL assume true; 134812#factEXIT >#66#return; 134814#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 135005#factFINAL assume true; 134967#factEXIT >#66#return; 134965#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 134963#factFINAL assume true; 134954#factEXIT >#76#return; 134889#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 134890#factENTRY ~n := #in~n; 135032#L25 assume !(~n <= 0); 134969#L26 call #t~ret0 := fact(~n - 1);< 134970#factENTRY ~n := #in~n; 135030#L25 assume ~n <= 0;#res := 1; 135028#factFINAL assume true; 134968#factEXIT >#66#return; 134966#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 134964#factFINAL assume true; 134929#factEXIT >#78#return; 134931#L30-8 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; 134938#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 134937#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 134936#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 134935#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 134934#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 134913#L42-3 [2022-07-14 14:50:54,011 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:54,011 INFO L85 PathProgramCache]: Analyzing trace with hash 52177008, now seen corresponding path program 14 times [2022-07-14 14:50:54,011 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:54,011 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [510138761] [2022-07-14 14:50:54,012 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:54,012 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:54,018 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:54,019 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [943681289] [2022-07-14 14:50:54,019 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-14 14:50:54,019 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:54,019 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:54,057 INFO L229 MonitoredProcess]: Starting monitored process 129 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:54,058 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (129)] Waiting until timeout for monitored process [2022-07-14 14:50:54,222 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-14 14:50:54,223 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-14 14:50:54,223 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:50:54,276 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:50:54,311 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:50:54,311 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:54,312 INFO L85 PathProgramCache]: Analyzing trace with hash 828132762, now seen corresponding path program 14 times [2022-07-14 14:50:54,312 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:54,312 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1307497664] [2022-07-14 14:50:54,312 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:54,312 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:54,336 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:54,336 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1830285865] [2022-07-14 14:50:54,337 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-14 14:50:54,337 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:54,337 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:54,343 INFO L229 MonitoredProcess]: Starting monitored process 130 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:54,359 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (130)] Waiting until timeout for monitored process [2022-07-14 14:50:54,463 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-14 14:50:54,464 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-14 14:50:54,466 INFO L263 TraceCheckSpWp]: Trace formula consists of 440 conjuncts, 22 conjunts are in the unsatisfiable core [2022-07-14 14:50:54,469 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:54,691 INFO L134 CoverageAnalysis]: Checked inductivity of 2239 backedges. 1182 proven. 185 refuted. 0 times theorem prover too weak. 872 trivial. 0 not checked. [2022-07-14 14:50:54,691 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:50:55,478 INFO L134 CoverageAnalysis]: Checked inductivity of 2239 backedges. 70 proven. 705 refuted. 0 times theorem prover too weak. 1464 trivial. 0 not checked. [2022-07-14 14:50:55,478 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:50:55,479 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1307497664] [2022-07-14 14:50:55,479 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:50:55,479 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1830285865] [2022-07-14 14:50:55,479 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1830285865] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:50:55,479 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:50:55,479 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 19] total 23 [2022-07-14 14:50:55,479 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [805198577] [2022-07-14 14:50:55,479 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:50:55,479 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-14 14:50:55,480 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:50:55,480 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-07-14 14:50:55,480 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=432, Unknown=0, NotChecked=0, Total=506 [2022-07-14 14:50:55,480 INFO L87 Difference]: Start difference. First operand 917 states and 1274 transitions. cyclomatic complexity: 372 Second operand has 23 states, 18 states have (on average 3.2222222222222223) internal successors, (58), 21 states have internal predecessors, (58), 14 states have call successors, (29), 2 states have call predecessors, (29), 8 states have return successors, (31), 11 states have call predecessors, (31), 14 states have call successors, (31) [2022-07-14 14:50:56,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:50:56,281 INFO L93 Difference]: Finished difference Result 1170 states and 1617 transitions. [2022-07-14 14:50:56,281 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-07-14 14:50:56,282 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1170 states and 1617 transitions. [2022-07-14 14:50:56,286 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 173 [2022-07-14 14:50:56,290 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1170 states to 1170 states and 1617 transitions. [2022-07-14 14:50:56,290 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 165 [2022-07-14 14:50:56,291 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 165 [2022-07-14 14:50:56,291 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1170 states and 1617 transitions. [2022-07-14 14:50:56,291 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:50:56,291 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1170 states and 1617 transitions. [2022-07-14 14:50:56,292 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1170 states and 1617 transitions. [2022-07-14 14:50:56,305 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1170 to 942. [2022-07-14 14:50:56,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 942 states, 602 states have (on average 1.0813953488372092) internal successors, (651), 600 states have internal predecessors, (651), 222 states have call successors, (222), 120 states have call predecessors, (222), 118 states have return successors, (432), 221 states have call predecessors, (432), 222 states have call successors, (432) [2022-07-14 14:50:56,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 942 states to 942 states and 1305 transitions. [2022-07-14 14:50:56,310 INFO L392 hiAutomatonCegarLoop]: Abstraction has 942 states and 1305 transitions. [2022-07-14 14:50:56,310 INFO L374 stractBuchiCegarLoop]: Abstraction has 942 states and 1305 transitions. [2022-07-14 14:50:56,310 INFO L287 stractBuchiCegarLoop]: ======== Iteration 29 ============ [2022-07-14 14:50:56,310 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 942 states and 1305 transitions. [2022-07-14 14:50:56,312 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 111 [2022-07-14 14:50:56,312 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:50:56,312 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:50:56,314 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [32, 32, 18, 14, 14, 14, 14, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1] [2022-07-14 14:50:56,314 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [31, 31, 19, 19, 19, 19, 12, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-14 14:50:56,314 INFO L752 eck$LassoCheckResult]: Stem: 138182#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 138154#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 138155#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 138181#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 138170#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 138171#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 138799#L43 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; 138147#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 138148#factENTRY ~n := #in~n; 138758#L25 assume ~n <= 0;#res := 1; 138757#factFINAL assume true; 138753#factEXIT >#68#return; 138204#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 138205#factENTRY ~n := #in~n; 138686#L25 assume ~n <= 0;#res := 1; 138684#factFINAL assume true; 138654#factEXIT >#70#return; 138138#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 138139#factENTRY ~n := #in~n; 138815#L25 assume ~n <= 0;#res := 1; 138812#factFINAL assume true; 138800#factEXIT >#72#return; 138174#L30-3 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; 138175#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 138176#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 138921#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 138918#L43 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; 138913#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 138914#factENTRY ~n := #in~n; 138928#L25 assume !(~n <= 0); 138924#L26 call #t~ret0 := fact(~n - 1);< 138925#factENTRY ~n := #in~n; 138930#L25 assume ~n <= 0;#res := 1; 138927#factFINAL assume true; 138923#factEXIT >#66#return; 138920#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138917#factFINAL assume true; 138912#factEXIT >#74#return; 138906#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 138910#factENTRY ~n := #in~n; 138935#L25 assume ~n <= 0;#res := 1; 138933#factFINAL assume true; 138904#factEXIT >#76#return; 138901#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 138902#factENTRY ~n := #in~n; 138941#L25 assume !(~n <= 0); 138938#L26 call #t~ret0 := fact(~n - 1);< 138939#factENTRY ~n := #in~n; 138942#L25 assume ~n <= 0;#res := 1; 138940#factFINAL assume true; 138937#factEXIT >#66#return; 138936#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138934#factFINAL assume true; 138900#factEXIT >#78#return; 138896#L30-8 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; 138895#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 138893#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 138883#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 138881#L43 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; 138868#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 138869#factENTRY ~n := #in~n; 138956#L25 assume !(~n <= 0); 138886#L26 call #t~ret0 := fact(~n - 1);< 138961#factENTRY ~n := #in~n; 138932#L25 assume !(~n <= 0); 138887#L26 call #t~ret0 := fact(~n - 1);< 138899#factENTRY ~n := #in~n; 138931#L25 assume ~n <= 0;#res := 1; 138929#factFINAL assume true; 138926#factEXIT >#66#return; 138922#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138919#factFINAL assume true; 138915#factEXIT >#66#return; 138916#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138876#factFINAL assume true; 138877#factEXIT >#74#return; 138470#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 138870#factENTRY ~n := #in~n; 138950#L25 assume ~n <= 0;#res := 1; 138979#factFINAL assume true; 138978#factEXIT >#76#return; 138471#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 138967#factENTRY ~n := #in~n; 138943#L25 assume !(~n <= 0); 138885#L26 call #t~ret0 := fact(~n - 1);< 138892#factENTRY ~n := #in~n; 138932#L25 assume !(~n <= 0); 138887#L26 call #t~ret0 := fact(~n - 1);< 138899#factENTRY ~n := #in~n; 138931#L25 assume ~n <= 0;#res := 1; 138929#factFINAL assume true; 138926#factEXIT >#66#return; 138922#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138919#factFINAL assume true; 138915#factEXIT >#66#return; 138890#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138867#factFINAL assume true; 138467#factEXIT >#78#return; 138466#L30-8 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; 138167#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 138168#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 138208#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 138177#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 138178#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 138195#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 138196#L43 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; 138618#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 138620#factENTRY ~n := #in~n; 138663#L25 assume !(~n <= 0); 138637#L26 call #t~ret0 := fact(~n - 1);< 138660#factENTRY ~n := #in~n; 138670#L25 assume ~n <= 0;#res := 1; 138669#factFINAL assume true; 138659#factEXIT >#66#return; 138657#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138655#factFINAL assume true; 138617#factEXIT >#68#return; 138614#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 138578#factENTRY ~n := #in~n; 138642#L25 assume ~n <= 0;#res := 1; 138641#factFINAL assume true; 138613#factEXIT >#70#return; 138544#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 138571#factENTRY ~n := #in~n; 138581#L25 assume !(~n <= 0); 138554#L26 call #t~ret0 := fact(~n - 1);< 138611#factENTRY ~n := #in~n; 138569#L25 assume ~n <= 0;#res := 1; 138565#factFINAL assume true; 138552#factEXIT >#66#return; 138560#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138550#factFINAL assume true; 138543#factEXIT >#72#return; 138546#L30-3 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; 138570#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 138568#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 138564#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 138551#L43 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; 138523#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 138533#factENTRY ~n := #in~n; 138580#L25 assume !(~n <= 0); 138557#L26 call #t~ret0 := fact(~n - 1);< 138563#factENTRY ~n := #in~n; 138569#L25 assume ~n <= 0;#res := 1; 138565#factFINAL assume true; 138552#factEXIT >#66#return; 138560#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138550#factFINAL assume true; 138543#factEXIT >#68#return; 138535#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 138539#factENTRY ~n := #in~n; 138572#L25 assume !(~n <= 0); 138555#L26 call #t~ret0 := fact(~n - 1);< 138563#factENTRY ~n := #in~n; 138569#L25 assume ~n <= 0;#res := 1; 138565#factFINAL assume true; 138552#factEXIT >#66#return; 138549#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138541#factFINAL assume true; 138534#factEXIT >#70#return; 138529#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 138531#factENTRY ~n := #in~n; 138540#L25 assume ~n <= 0;#res := 1; 138532#factFINAL assume true; 138522#factEXIT >#72#return; 138521#L30-3 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; 138520#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 138519#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 138509#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 138506#L43 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; 138495#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 138499#factENTRY ~n := #in~n; 138822#L25 assume !(~n <= 0); 138511#L26 call #t~ret0 := fact(~n - 1);< 138796#factENTRY ~n := #in~n; 138747#L25 assume !(~n <= 0); 138512#L26 call #t~ret0 := fact(~n - 1);< 138746#factENTRY ~n := #in~n; 138756#L25 assume ~n <= 0;#res := 1; 138748#factFINAL assume true; 138745#factEXIT >#66#return; 138744#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138740#factFINAL assume true; 138718#factEXIT >#66#return; 138701#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138700#factFINAL assume true; 138694#factEXIT >#74#return; 138695#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 138826#factENTRY ~n := #in~n; 138832#L25 assume !(~n <= 0); 138514#L26 call #t~ret0 := fact(~n - 1);< 138796#factENTRY ~n := #in~n; 138813#L25 assume ~n <= 0;#res := 1; 138801#factFINAL assume true; 138788#factEXIT >#66#return; 138790#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138827#factFINAL assume true; 138823#factEXIT >#76#return; 138809#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 138821#factENTRY ~n := #in~n; 138819#L25 assume !(~n <= 0); 138793#L26 call #t~ret0 := fact(~n - 1);< 138797#factENTRY ~n := #in~n; 138818#L25 assume ~n <= 0;#res := 1; 138808#factFINAL assume true; 138792#factEXIT >#66#return; 138795#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138862#factFINAL assume true; 138861#factEXIT >#78#return; 138824#L30-8 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; 138866#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 138488#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 138487#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 138179#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 138180#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 138244#L42-3 [2022-07-14 14:50:56,315 INFO L754 eck$LassoCheckResult]: Loop: 138244#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 138183#L43 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; 138184#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 138227#factENTRY ~n := #in~n; 138228#L25 assume !(~n <= 0); 138221#L26 call #t~ret0 := fact(~n - 1);< 138224#factENTRY ~n := #in~n; 138232#L25 assume !(~n <= 0); 138220#L26 call #t~ret0 := fact(~n - 1);< 138237#factENTRY ~n := #in~n; 138239#L25 assume ~n <= 0;#res := 1; 138238#factFINAL assume true; 138235#factEXIT >#66#return; 138236#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138242#factFINAL assume true; 138219#factEXIT >#66#return; 138217#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138218#factFINAL assume true; 138213#factEXIT >#68#return; 138214#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 138203#factENTRY ~n := #in~n; 138425#L25 assume ~n <= 0;#res := 1; 138423#factFINAL assume true; 138392#factEXIT >#70#return; 138325#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 138333#factENTRY ~n := #in~n; 138401#L25 assume !(~n <= 0); 138341#L26 call #t~ret0 := fact(~n - 1);< 138399#factENTRY ~n := #in~n; 138417#L25 assume !(~n <= 0); 138346#L26 call #t~ret0 := fact(~n - 1);< 138416#factENTRY ~n := #in~n; 138426#L25 assume ~n <= 0;#res := 1; 138424#factFINAL assume true; 138413#factEXIT >#66#return; 138412#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138402#factFINAL assume true; 138395#factEXIT >#66#return; 138390#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138389#factFINAL assume true; 138368#factEXIT >#72#return; 138372#L30-3 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; 138387#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 138386#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 138385#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 138383#L43 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; 138371#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 138374#factENTRY ~n := #in~n; 138400#L25 assume !(~n <= 0); 138396#L26 call #t~ret0 := fact(~n - 1);< 138398#factENTRY ~n := #in~n; 138420#L25 assume !(~n <= 0); 138414#L26 call #t~ret0 := fact(~n - 1);< 138415#factENTRY ~n := #in~n; 138426#L25 assume ~n <= 0;#res := 1; 138424#factFINAL assume true; 138413#factEXIT >#66#return; 138412#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138402#factFINAL assume true; 138395#factEXIT >#66#return; 138390#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138389#factFINAL assume true; 138368#factEXIT >#68#return; 138318#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 138321#factENTRY ~n := #in~n; 138418#L25 assume !(~n <= 0); 138345#L26 call #t~ret0 := fact(~n - 1);< 138365#factENTRY ~n := #in~n; 138382#L25 assume ~n <= 0;#res := 1; 138375#factFINAL assume true; 138361#factEXIT >#66#return; 138364#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138367#factFINAL assume true; 138360#factEXIT >#70#return; 138310#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 138358#factENTRY ~n := #in~n; 138388#L25 assume !(~n <= 0); 138362#L26 call #t~ret0 := fact(~n - 1);< 138366#factENTRY ~n := #in~n; 138382#L25 assume ~n <= 0;#res := 1; 138375#factFINAL assume true; 138361#factEXIT >#66#return; 138359#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138357#factFINAL assume true; 138355#factEXIT >#72#return; 138356#L30-3 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; 138411#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 138410#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 138408#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 138406#L43 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; 138369#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 138374#factENTRY ~n := #in~n; 138400#L25 assume !(~n <= 0); 138396#L26 call #t~ret0 := fact(~n - 1);< 138398#factENTRY ~n := #in~n; 138420#L25 assume !(~n <= 0); 138414#L26 call #t~ret0 := fact(~n - 1);< 138415#factENTRY ~n := #in~n; 138426#L25 assume ~n <= 0;#res := 1; 138424#factFINAL assume true; 138413#factEXIT >#66#return; 138412#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138402#factFINAL assume true; 138395#factEXIT >#66#return; 138390#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138389#factFINAL assume true; 138368#factEXIT >#68#return; 138319#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 138321#factENTRY ~n := #in~n; 138418#L25 assume !(~n <= 0); 138345#L26 call #t~ret0 := fact(~n - 1);< 138365#factENTRY ~n := #in~n; 138417#L25 assume !(~n <= 0); 138346#L26 call #t~ret0 := fact(~n - 1);< 138416#factENTRY ~n := #in~n; 138426#L25 assume ~n <= 0;#res := 1; 138424#factFINAL assume true; 138413#factEXIT >#66#return; 138412#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138402#factFINAL assume true; 138395#factEXIT >#66#return; 138350#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138431#factFINAL assume true; 138316#factEXIT >#70#return; 138311#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 138314#factENTRY ~n := #in~n; 138322#L25 assume ~n <= 0;#res := 1; 138315#factFINAL assume true; 138307#factEXIT >#72#return; 138306#L30-3 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; 138304#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 138302#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 138300#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 138291#L43 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; 138149#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 138125#factENTRY ~n := #in~n; 138150#L25 assume !(~n <= 0); 138269#L26 call #t~ret0 := fact(~n - 1);< 138280#factENTRY ~n := #in~n; 138288#L25 assume !(~n <= 0); 138266#L26 call #t~ret0 := fact(~n - 1);< 138285#factENTRY ~n := #in~n; 138288#L25 assume !(~n <= 0); 138266#L26 call #t~ret0 := fact(~n - 1);< 138285#factENTRY ~n := #in~n; 138290#L25 assume ~n <= 0;#res := 1; 138287#factFINAL assume true; 138284#factEXIT >#66#return; 138282#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138281#factFINAL assume true; 138279#factEXIT >#66#return; 138271#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138274#factFINAL assume true; 138265#factEXIT >#66#return; 138264#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138263#factFINAL assume true; 138259#factEXIT >#74#return; 138132#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 138206#factENTRY ~n := #in~n; 138433#L25 assume !(~n <= 0); 138267#L26 call #t~ret0 := fact(~n - 1);< 138429#factENTRY ~n := #in~n; 138288#L25 assume !(~n <= 0); 138266#L26 call #t~ret0 := fact(~n - 1);< 138285#factENTRY ~n := #in~n; 138288#L25 assume !(~n <= 0); 138266#L26 call #t~ret0 := fact(~n - 1);< 138285#factENTRY ~n := #in~n; 138290#L25 assume ~n <= 0;#res := 1; 138287#factFINAL assume true; 138284#factEXIT >#66#return; 138282#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138281#factFINAL assume true; 138279#factEXIT >#66#return; 138271#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138274#factFINAL assume true; 138265#factEXIT >#66#return; 138264#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138263#factFINAL assume true; 138259#factEXIT >#76#return; 138161#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 138210#factENTRY ~n := #in~n; 138273#L25 assume !(~n <= 0); 138160#L26 call #t~ret0 := fact(~n - 1);< 138163#factENTRY ~n := #in~n; 138199#L25 assume ~n <= 0;#res := 1; 138200#factFINAL assume true; 138451#factEXIT >#66#return; 138187#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 138188#factFINAL assume true; 138465#factEXIT >#78#return; 138262#L30-8 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; 138258#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 138255#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 138252#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 138249#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 138247#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 138244#L42-3 [2022-07-14 14:50:56,315 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:56,315 INFO L85 PathProgramCache]: Analyzing trace with hash 52177008, now seen corresponding path program 15 times [2022-07-14 14:50:56,315 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:56,316 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [54104792] [2022-07-14 14:50:56,316 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:56,316 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:56,322 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:56,323 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1028926937] [2022-07-14 14:50:56,323 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-14 14:50:56,323 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:56,323 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:56,329 INFO L229 MonitoredProcess]: Starting monitored process 131 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:56,359 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (131)] Waiting until timeout for monitored process [2022-07-14 14:50:56,612 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 23 check-sat command(s) [2022-07-14 14:50:56,612 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-14 14:50:56,612 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:50:56,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:50:56,694 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:50:56,694 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:56,694 INFO L85 PathProgramCache]: Analyzing trace with hash 425654410, now seen corresponding path program 15 times [2022-07-14 14:50:56,694 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:56,695 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [462417368] [2022-07-14 14:50:56,695 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:56,695 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:56,700 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:56,700 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [521098472] [2022-07-14 14:50:56,700 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-14 14:50:56,700 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:56,701 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:56,709 INFO L229 MonitoredProcess]: Starting monitored process 132 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:56,710 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (132)] Waiting until timeout for monitored process [2022-07-14 14:50:56,804 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 9 check-sat command(s) [2022-07-14 14:50:56,804 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-14 14:50:56,806 INFO L263 TraceCheckSpWp]: Trace formula consists of 304 conjuncts, 18 conjunts are in the unsatisfiable core [2022-07-14 14:50:56,808 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:56,974 INFO L134 CoverageAnalysis]: Checked inductivity of 2239 backedges. 742 proven. 152 refuted. 0 times theorem prover too weak. 1345 trivial. 0 not checked. [2022-07-14 14:50:56,974 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:50:57,595 INFO L134 CoverageAnalysis]: Checked inductivity of 2239 backedges. 474 proven. 206 refuted. 0 times theorem prover too weak. 1559 trivial. 0 not checked. [2022-07-14 14:50:57,595 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:50:57,596 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [462417368] [2022-07-14 14:50:57,596 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:50:57,596 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [521098472] [2022-07-14 14:50:57,596 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [521098472] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:50:57,596 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:50:57,596 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 17] total 20 [2022-07-14 14:50:57,596 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1545519003] [2022-07-14 14:50:57,596 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-14 14:50:57,597 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-14 14:50:57,597 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-14 14:50:57,597 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-07-14 14:50:57,597 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=317, Unknown=0, NotChecked=0, Total=380 [2022-07-14 14:50:57,597 INFO L87 Difference]: Start difference. First operand 942 states and 1305 transitions. cyclomatic complexity: 378 Second operand has 20 states, 17 states have (on average 3.3529411764705883) internal successors, (57), 20 states have internal predecessors, (57), 13 states have call successors, (20), 2 states have call predecessors, (20), 8 states have return successors, (22), 9 states have call predecessors, (22), 13 states have call successors, (22) [2022-07-14 14:50:58,508 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-14 14:50:58,508 INFO L93 Difference]: Finished difference Result 1109 states and 1570 transitions. [2022-07-14 14:50:58,509 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-07-14 14:50:58,509 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1109 states and 1570 transitions. [2022-07-14 14:50:58,513 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 169 [2022-07-14 14:50:58,517 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1109 states to 1102 states and 1563 transitions. [2022-07-14 14:50:58,517 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 150 [2022-07-14 14:50:58,518 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 156 [2022-07-14 14:50:58,518 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1102 states and 1563 transitions. [2022-07-14 14:50:58,518 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-14 14:50:58,518 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1102 states and 1563 transitions. [2022-07-14 14:50:58,518 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1102 states and 1563 transitions. [2022-07-14 14:50:58,533 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1102 to 1030. [2022-07-14 14:50:58,534 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1030 states, 657 states have (on average 1.1035007610350076) internal successors, (725), 652 states have internal predecessors, (725), 251 states have call successors, (251), 142 states have call predecessors, (251), 122 states have return successors, (470), 235 states have call predecessors, (470), 251 states have call successors, (470) [2022-07-14 14:50:58,538 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1030 states to 1030 states and 1446 transitions. [2022-07-14 14:50:58,538 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1030 states and 1446 transitions. [2022-07-14 14:50:58,538 INFO L374 stractBuchiCegarLoop]: Abstraction has 1030 states and 1446 transitions. [2022-07-14 14:50:58,539 INFO L287 stractBuchiCegarLoop]: ======== Iteration 30 ============ [2022-07-14 14:50:58,539 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1030 states and 1446 transitions. [2022-07-14 14:50:58,541 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 133 [2022-07-14 14:50:58,541 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-14 14:50:58,541 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-14 14:50:58,543 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [32, 32, 18, 14, 14, 14, 14, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1] [2022-07-14 14:50:58,543 INFO L180 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, 1] [2022-07-14 14:50:58,544 INFO L752 eck$LassoCheckResult]: Stem: 141460#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 141434#L-1 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~ret9#1, main_#t~ret10#1, main_#t~post8#1, main_~k~0#1, main_#t~post7#1, main_~n~0#1, main_~x~0#1, main_~y~0#1, main_~z~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; 141435#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 141459#L38 assume !(main_~y~0#1 < 0);main_~z~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;main_~n~0#1 := 0; 141448#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 141449#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 141743#L43 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; 141714#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 141715#factENTRY ~n := #in~n; 141722#L25 assume ~n <= 0;#res := 1; 141721#factFINAL assume true; 141713#factEXIT >#68#return; 141710#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 141711#factENTRY ~n := #in~n; 141724#L25 assume ~n <= 0;#res := 1; 141723#factFINAL assume true; 141709#factEXIT >#70#return; 141707#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 141708#factENTRY ~n := #in~n; 141726#L25 assume ~n <= 0;#res := 1; 141725#factFINAL assume true; 141706#factEXIT >#72#return; 141695#L30-3 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; 141690#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 141689#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 141688#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 141687#L43 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; 141684#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 141685#factENTRY ~n := #in~n; 141732#L25 assume !(~n <= 0); 141704#L26 call #t~ret0 := fact(~n - 1);< 141705#factENTRY ~n := #in~n; 141734#L25 assume ~n <= 0;#res := 1; 141730#factFINAL assume true; 141703#factEXIT >#66#return; 141700#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 141694#factFINAL assume true; 141683#factEXIT >#74#return; 141657#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 141661#factENTRY ~n := #in~n; 141693#L25 assume ~n <= 0;#res := 1; 141682#factFINAL assume true; 141654#factEXIT >#76#return; 141652#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 141653#factENTRY ~n := #in~n; 141680#L25 assume !(~n <= 0); 141677#L26 call #t~ret0 := fact(~n - 1);< 141678#factENTRY ~n := #in~n; 141692#L25 assume ~n <= 0;#res := 1; 141681#factFINAL assume true; 141676#factEXIT >#66#return; 141674#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 141673#factFINAL assume true; 141651#factEXIT >#78#return; 141649#L30-8 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; 141648#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 141636#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 141631#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 141630#L43 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; 141575#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 141611#factENTRY ~n := #in~n; 141880#L25 assume !(~n <= 0); 141619#L26 call #t~ret0 := fact(~n - 1);< 141851#factENTRY ~n := #in~n; 141686#L25 assume !(~n <= 0); 141618#L26 call #t~ret0 := fact(~n - 1);< 141662#factENTRY ~n := #in~n; 141679#L25 assume ~n <= 0;#res := 1; 141675#factFINAL assume true; 141670#factEXIT >#66#return; 141667#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 141666#factFINAL assume true; 141639#factEXIT >#66#return; 141634#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 141627#factFINAL assume true; 141612#factEXIT >#74#return; 141590#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 141608#factENTRY ~n := #in~n; 141717#L25 assume ~n <= 0;#res := 1; 141718#factFINAL assume true; 141607#factEXIT >#76#return; 141572#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 141579#factENTRY ~n := #in~n; 141868#L25 assume !(~n <= 0); 141620#L26 call #t~ret0 := fact(~n - 1);< 141625#factENTRY ~n := #in~n; 141686#L25 assume !(~n <= 0); 141618#L26 call #t~ret0 := fact(~n - 1);< 141662#factENTRY ~n := #in~n; 141679#L25 assume ~n <= 0;#res := 1; 141675#factFINAL assume true; 141670#factEXIT >#66#return; 141667#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 141666#factFINAL assume true; 141639#factEXIT >#66#return; 141642#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 141842#factFINAL assume true; 141589#factEXIT >#78#return; 141568#L30-8 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; 141566#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 141563#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 141562#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 141452#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 141453#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 141470#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 141471#L43 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; 142083#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 142085#factENTRY ~n := #in~n; 142129#L25 assume !(~n <= 0); 142127#L26 call #t~ret0 := fact(~n - 1);< 142128#factENTRY ~n := #in~n; 142131#L25 assume ~n <= 0;#res := 1; 142130#factFINAL assume true; 142126#factEXIT >#66#return; 142125#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 142114#factFINAL assume true; 142082#factEXIT >#68#return; 142063#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 141476#factENTRY ~n := #in~n; 142256#L25 assume ~n <= 0;#res := 1; 142254#factFINAL assume true; 142061#factEXIT >#70#return; 142030#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 142058#factENTRY ~n := #in~n; 142141#L25 assume !(~n <= 0); 142044#L26 call #t~ret0 := fact(~n - 1);< 142097#factENTRY ~n := #in~n; 142057#L25 assume ~n <= 0;#res := 1; 142053#factFINAL assume true; 142037#factEXIT >#66#return; 142048#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 142050#factFINAL assume true; 142028#factEXIT >#72#return; 142031#L30-3 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; 142052#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 142036#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 142035#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 142034#L43 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; 141997#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 142004#factENTRY ~n := #in~n; 142253#L25 assume !(~n <= 0); 142041#L26 call #t~ret0 := fact(~n - 1);< 142049#factENTRY ~n := #in~n; 142057#L25 assume ~n <= 0;#res := 1; 142053#factFINAL assume true; 142037#factEXIT >#66#return; 142048#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 142050#factFINAL assume true; 142028#factEXIT >#68#return; 142018#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 142020#factENTRY ~n := #in~n; 142142#L25 assume !(~n <= 0); 142038#L26 call #t~ret0 := fact(~n - 1);< 142049#factENTRY ~n := #in~n; 142057#L25 assume ~n <= 0;#res := 1; 142053#factFINAL assume true; 142037#factEXIT >#66#return; 142027#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 142024#factFINAL assume true; 142015#factEXIT >#70#return; 142000#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 142014#factENTRY ~n := #in~n; 142021#L25 assume ~n <= 0;#res := 1; 142013#factFINAL assume true; 141995#factEXIT >#72#return; 142003#L30-3 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; 142155#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 142152#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 142151#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 142149#L43 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; 141957#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 142147#factENTRY ~n := #in~n; 141969#L25 assume !(~n <= 0); 141970#L26 call #t~ret0 := fact(~n - 1);< 142230#factENTRY ~n := #in~n; 142211#L25 assume !(~n <= 0); 141982#L26 call #t~ret0 := fact(~n - 1);< 142065#factENTRY ~n := #in~n; 142186#L25 assume ~n <= 0;#res := 1; 142185#factFINAL assume true; 142180#factEXIT >#66#return; 142179#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 142177#factFINAL assume true; 142167#factEXIT >#66#return; 142170#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 142146#factFINAL assume true; 142144#factEXIT >#74#return; 142119#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 142122#factENTRY ~n := #in~n; 142173#L25 assume !(~n <= 0); 142169#L26 call #t~ret0 := fact(~n - 1);< 142171#factENTRY ~n := #in~n; 142184#L25 assume ~n <= 0;#res := 1; 142234#factFINAL assume true; 142226#factEXIT >#66#return; 142225#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 142123#factFINAL assume true; 142115#factEXIT >#76#return; 141535#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 142056#factENTRY ~n := #in~n; 142051#L25 assume !(~n <= 0); 142010#L26 call #t~ret0 := fact(~n - 1);< 142012#factENTRY ~n := #in~n; 142026#L25 assume ~n <= 0;#res := 1; 142022#factFINAL assume true; 142008#factEXIT >#66#return; 142011#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 142176#factFINAL assume true; 141534#factEXIT >#78#return; 141537#L30-8 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; 142105#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 142104#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 142103#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 142102#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 142101#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 141516#L42-3 [2022-07-14 14:50:58,544 INFO L754 eck$LassoCheckResult]: Loop: 141516#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 141461#L43 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; 141462#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 141499#factENTRY ~n := #in~n; 141500#L25 assume !(~n <= 0); 141494#L26 call #t~ret0 := fact(~n - 1);< 141496#factENTRY ~n := #in~n; 141505#L25 assume !(~n <= 0); 141492#L26 call #t~ret0 := fact(~n - 1);< 141512#factENTRY ~n := #in~n; 141514#L25 assume ~n <= 0;#res := 1; 141513#factFINAL assume true; 141510#factEXIT >#66#return; 141511#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 141542#factFINAL assume true; 141491#factEXIT >#66#return; 141489#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 141490#factFINAL assume true; 141485#factEXIT >#68#return; 141486#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 141474#factENTRY ~n := #in~n; 141864#L25 assume ~n <= 0;#res := 1; 141861#factFINAL assume true; 141856#factEXIT >#70#return; 141752#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 141783#factENTRY ~n := #in~n; 141907#L25 assume !(~n <= 0); 141800#L26 call #t~ret0 := fact(~n - 1);< 141821#factENTRY ~n := #in~n; 141839#L25 assume !(~n <= 0); 141801#L26 call #t~ret0 := fact(~n - 1);< 141826#factENTRY ~n := #in~n; 141836#L25 assume ~n <= 0;#res := 1; 141834#factFINAL assume true; 141823#factEXIT >#66#return; 141822#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 141820#factFINAL assume true; 141810#factEXIT >#66#return; 141815#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 141841#factFINAL assume true; 141827#factEXIT >#72#return; 141831#L30-3 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; 141840#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 141838#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 141837#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 141835#L43 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; 141829#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 141833#factENTRY ~n := #in~n; 141852#L25 assume !(~n <= 0); 141813#L26 call #t~ret0 := fact(~n - 1);< 141845#factENTRY ~n := #in~n; 141883#L25 assume !(~n <= 0); 141824#L26 call #t~ret0 := fact(~n - 1);< 141825#factENTRY ~n := #in~n; 141836#L25 assume ~n <= 0;#res := 1; 141834#factFINAL assume true; 141823#factEXIT >#66#return; 141822#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 141820#factFINAL assume true; 141810#factEXIT >#66#return; 141815#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 141841#factFINAL assume true; 141827#factEXIT >#68#return; 141745#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 141760#factENTRY ~n := #in~n; 141817#L25 assume !(~n <= 0); 141811#L26 call #t~ret0 := fact(~n - 1);< 141816#factENTRY ~n := #in~n; 141905#L25 assume ~n <= 0;#res := 1; 141898#factFINAL assume true; 141893#factEXIT >#66#return; 141896#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 141892#factFINAL assume true; 141890#factEXIT >#70#return; 141599#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 141888#factENTRY ~n := #in~n; 141903#L25 assume !(~n <= 0); 141894#L26 call #t~ret0 := fact(~n - 1);< 141897#factENTRY ~n := #in~n; 141905#L25 assume ~n <= 0;#res := 1; 141898#factFINAL assume true; 141893#factEXIT >#66#return; 141891#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 141889#factFINAL assume true; 141886#factEXIT >#72#return; 141867#L30-3 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; 141865#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 141863#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 141860#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 141854#L43 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; 141828#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 141833#factENTRY ~n := #in~n; 141852#L25 assume !(~n <= 0); 141813#L26 call #t~ret0 := fact(~n - 1);< 141845#factENTRY ~n := #in~n; 141883#L25 assume !(~n <= 0); 141824#L26 call #t~ret0 := fact(~n - 1);< 141825#factENTRY ~n := #in~n; 141836#L25 assume ~n <= 0;#res := 1; 141834#factFINAL assume true; 141823#factEXIT >#66#return; 141822#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 141820#factFINAL assume true; 141810#factEXIT >#66#return; 141815#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 141841#factFINAL assume true; 141827#factEXIT >#68#return; 141746#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 141760#factENTRY ~n := #in~n; 141817#L25 assume !(~n <= 0); 141811#L26 call #t~ret0 := fact(~n - 1);< 141816#factENTRY ~n := #in~n; 141883#L25 assume !(~n <= 0); 141824#L26 call #t~ret0 := fact(~n - 1);< 141825#factENTRY ~n := #in~n; 141836#L25 assume ~n <= 0;#res := 1; 141834#factFINAL assume true; 141823#factEXIT >#66#return; 141822#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 141820#factFINAL assume true; 141810#factEXIT >#66#return; 141762#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 141759#factFINAL assume true; 141744#factEXIT >#70#return; 141603#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 141606#factENTRY ~n := #in~n; 141882#L25 assume ~n <= 0;#res := 1; 141881#factFINAL assume true; 141597#factEXIT >#72#return; 141596#L30-3 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; 141581#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 141569#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 141567#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 141564#L43 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; 141561#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 141555#factENTRY ~n := #in~n; 141781#L25 assume !(~n <= 0); 141405#L26 call #t~ret0 := fact(~n - 1);< 141665#factENTRY ~n := #in~n; 141698#L25 assume !(~n <= 0); 141407#L26 call #t~ret0 := fact(~n - 1);< 141697#factENTRY ~n := #in~n; 141698#L25 assume !(~n <= 0); 141407#L26 call #t~ret0 := fact(~n - 1);< 141697#factENTRY ~n := #in~n; 141431#L25 assume ~n <= 0;#res := 1; 141712#factFINAL assume true; 141696#factEXIT >#66#return; 141691#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 141668#factFINAL assume true; 141663#factEXIT >#66#return; 141411#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 141423#factFINAL assume true; 141404#factEXIT >#66#return; 141410#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 141583#factFINAL assume true; 141556#factEXIT >#74#return; 141549#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 141478#factENTRY ~n := #in~n; 141733#L25 assume !(~n <= 0); 141664#L26 call #t~ret0 := fact(~n - 1);< 141701#factENTRY ~n := #in~n; 141699#L25 assume !(~n <= 0); 141430#L26 call #t~ret0 := fact(~n - 1);< 141429#factENTRY ~n := #in~n; 141431#L25 assume ~n <= 0;#res := 1; 141712#factFINAL assume true; 141696#factEXIT >#66#return; 141691#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 141668#factFINAL assume true; 141663#factEXIT >#66#return; 141637#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 141632#factFINAL assume true; 141613#factEXIT >#76#return; 141442#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 141482#factENTRY ~n := #in~n; 141466#L25 assume !(~n <= 0); 141440#L26 call #t~ret0 := fact(~n - 1);< 141443#factENTRY ~n := #in~n; 141774#L25 assume ~n <= 0;#res := 1; 141772#factFINAL assume true; 141769#factEXIT >#66#return; 141768#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 141767#factFINAL assume true; 141528#factEXIT >#78#return; 141526#L30-8 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; 141524#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 141522#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 141520#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 141518#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 141517#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 141516#L42-3 [2022-07-14 14:50:58,545 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:58,545 INFO L85 PathProgramCache]: Analyzing trace with hash 52177008, now seen corresponding path program 16 times [2022-07-14 14:50:58,545 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:58,545 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [638452123] [2022-07-14 14:50:58,545 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:58,545 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:58,555 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:58,555 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2122663180] [2022-07-14 14:50:58,555 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-14 14:50:58,556 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:58,556 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:58,561 INFO L229 MonitoredProcess]: Starting monitored process 133 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:58,562 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (133)] Waiting until timeout for monitored process [2022-07-14 14:50:58,756 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-14 14:50:58,756 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-14 14:50:58,756 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:50:58,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:50:58,843 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:50:58,844 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:58,844 INFO L85 PathProgramCache]: Analyzing trace with hash -1676318190, now seen corresponding path program 16 times [2022-07-14 14:50:58,844 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:58,844 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [891593227] [2022-07-14 14:50:58,844 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:58,844 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:58,848 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:58,848 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1995747703] [2022-07-14 14:50:58,848 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-14 14:50:58,849 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:58,849 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:58,850 INFO L229 MonitoredProcess]: Starting monitored process 134 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:58,851 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (134)] Waiting until timeout for monitored process [2022-07-14 14:50:59,017 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-14 14:50:59,017 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-14 14:50:59,017 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-14 14:50:59,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-14 14:50:59,100 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-14 14:50:59,101 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-14 14:50:59,103 INFO L85 PathProgramCache]: Analyzing trace with hash 1406721987, now seen corresponding path program 17 times [2022-07-14 14:50:59,103 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-14 14:50:59,103 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [533101643] [2022-07-14 14:50:59,103 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-14 14:50:59,104 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-14 14:50:59,124 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-14 14:50:59,124 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1940316102] [2022-07-14 14:50:59,124 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-14 14:50:59,125 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-14 14:50:59,125 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-14 14:50:59,127 INFO L229 MonitoredProcess]: Starting monitored process 135 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-14 14:50:59,127 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (135)] Waiting until timeout for monitored process [2022-07-14 14:50:59,367 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 27 check-sat command(s) [2022-07-14 14:50:59,367 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-14 14:50:59,371 INFO L263 TraceCheckSpWp]: Trace formula consists of 881 conjuncts, 15 conjunts are in the unsatisfiable core [2022-07-14 14:50:59,375 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-14 14:50:59,588 INFO L134 CoverageAnalysis]: Checked inductivity of 8838 backedges. 2448 proven. 391 refuted. 0 times theorem prover too weak. 5999 trivial. 0 not checked. [2022-07-14 14:50:59,588 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-14 14:51:00,089 INFO L134 CoverageAnalysis]: Checked inductivity of 8838 backedges. 164 proven. 522 refuted. 0 times theorem prover too weak. 8152 trivial. 0 not checked. [2022-07-14 14:51:00,090 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-14 14:51:00,090 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [533101643] [2022-07-14 14:51:00,090 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-14 14:51:00,090 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1940316102] [2022-07-14 14:51:00,090 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1940316102] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-14 14:51:00,090 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-14 14:51:00,090 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 15] total 21 [2022-07-14 14:51:00,090 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1412052549] [2022-07-14 14:51:00,091 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton