./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 35987657 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-?-3598765 [2022-07-22 01:29:12,720 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-07-22 01:29:12,722 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-07-22 01:29:12,768 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-07-22 01:29:12,769 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-07-22 01:29:12,770 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-07-22 01:29:12,773 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-07-22 01:29:12,776 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-07-22 01:29:12,778 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-07-22 01:29:12,782 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-07-22 01:29:12,784 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-07-22 01:29:12,785 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-07-22 01:29:12,786 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-07-22 01:29:12,788 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-07-22 01:29:12,789 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-07-22 01:29:12,794 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-07-22 01:29:12,795 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-07-22 01:29:12,796 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-07-22 01:29:12,798 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-07-22 01:29:12,803 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-07-22 01:29:12,804 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-07-22 01:29:12,805 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-07-22 01:29:12,807 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-07-22 01:29:12,807 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-07-22 01:29:12,809 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-07-22 01:29:12,815 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-07-22 01:29:12,815 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-07-22 01:29:12,816 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-07-22 01:29:12,816 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-07-22 01:29:12,817 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-07-22 01:29:12,818 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-07-22 01:29:12,818 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-07-22 01:29:12,819 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-07-22 01:29:12,820 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-07-22 01:29:12,821 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-07-22 01:29:12,822 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-07-22 01:29:12,822 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-07-22 01:29:12,823 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-07-22 01:29:12,823 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-07-22 01:29:12,823 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-07-22 01:29:12,824 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-07-22 01:29:12,825 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-07-22 01:29:12,827 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Termination-64bit-Automizer_Default.epf [2022-07-22 01:29:12,869 INFO L113 SettingsManager]: Loading preferences was successful [2022-07-22 01:29:12,869 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-07-22 01:29:12,870 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-07-22 01:29:12,870 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-07-22 01:29:12,872 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-07-22 01:29:12,872 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-07-22 01:29:12,872 INFO L138 SettingsManager]: * Use SBE=true [2022-07-22 01:29:12,872 INFO L136 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2022-07-22 01:29:12,872 INFO L138 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2022-07-22 01:29:12,873 INFO L138 SettingsManager]: * Use old map elimination=false [2022-07-22 01:29:12,873 INFO L138 SettingsManager]: * Use external solver (rank synthesis)=false [2022-07-22 01:29:12,874 INFO L138 SettingsManager]: * Use only trivial implications for array writes=true [2022-07-22 01:29:12,874 INFO L138 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2022-07-22 01:29:12,874 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-07-22 01:29:12,874 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-07-22 01:29:12,874 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-07-22 01:29:12,875 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-07-22 01:29:12,875 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2022-07-22 01:29:12,875 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2022-07-22 01:29:12,875 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2022-07-22 01:29:12,876 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-07-22 01:29:12,876 INFO L138 SettingsManager]: * Assume nondeterminstic values are in range=false [2022-07-22 01:29:12,876 INFO L138 SettingsManager]: * Use constant arrays=true [2022-07-22 01:29:12,876 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2022-07-22 01:29:12,876 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-07-22 01:29:12,877 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-07-22 01:29:12,877 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-07-22 01:29:12,877 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-07-22 01:29:12,879 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2022-07-22 01:29:12,879 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-22 01:29:13,162 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-07-22 01:29:13,180 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-07-22 01:29:13,183 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-07-22 01:29:13,184 INFO L271 PluginConnector]: Initializing CDTParser... [2022-07-22 01:29:13,184 INFO L275 PluginConnector]: CDTParser initialized [2022-07-22 01:29:13,185 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-22 01:29:13,245 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/bc5770768/ec22b560dce44e3894992561f030992a/FLAGc87947306 [2022-07-22 01:29:13,639 INFO L306 CDTParser]: Found 1 translation units. [2022-07-22 01:29:13,640 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/termination-numeric/Binomial.c [2022-07-22 01:29:13,645 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/bc5770768/ec22b560dce44e3894992561f030992a/FLAGc87947306 [2022-07-22 01:29:14,051 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/bc5770768/ec22b560dce44e3894992561f030992a [2022-07-22 01:29:14,054 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-07-22 01:29:14,055 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-07-22 01:29:14,063 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-07-22 01:29:14,063 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-07-22 01:29:14,071 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-07-22 01:29:14,072 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.07 01:29:14" (1/1) ... [2022-07-22 01:29:14,073 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6ab80521 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 01:29:14, skipping insertion in model container [2022-07-22 01:29:14,073 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.07 01:29:14" (1/1) ... [2022-07-22 01:29:14,078 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-07-22 01:29:14,089 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-07-22 01:29:14,233 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-07-22 01:29:14,237 INFO L203 MainTranslator]: Completed pre-run [2022-07-22 01:29:14,251 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-07-22 01:29:14,261 INFO L208 MainTranslator]: Completed translation [2022-07-22 01:29:14,262 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 01:29:14 WrapperNode [2022-07-22 01:29:14,262 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-07-22 01:29:14,263 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-07-22 01:29:14,263 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-07-22 01:29:14,263 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-07-22 01:29:14,270 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 01:29:14" (1/1) ... [2022-07-22 01:29:14,273 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 01:29:14" (1/1) ... [2022-07-22 01:29:14,296 INFO L137 Inliner]: procedures = 6, calls = 8, calls flagged for inlining = 4, calls inlined = 4, statements flattened = 55 [2022-07-22 01:29:14,297 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-07-22 01:29:14,298 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-07-22 01:29:14,298 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-07-22 01:29:14,298 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-07-22 01:29:14,304 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 01:29:14" (1/1) ... [2022-07-22 01:29:14,304 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 01:29:14" (1/1) ... [2022-07-22 01:29:14,307 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 01:29:14" (1/1) ... [2022-07-22 01:29:14,307 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 01:29:14" (1/1) ... [2022-07-22 01:29:14,313 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 01:29:14" (1/1) ... [2022-07-22 01:29:14,316 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 01:29:14" (1/1) ... [2022-07-22 01:29:14,328 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 01:29:14" (1/1) ... [2022-07-22 01:29:14,331 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-07-22 01:29:14,332 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-07-22 01:29:14,332 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-07-22 01:29:14,333 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-07-22 01:29:14,334 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 01:29:14" (1/1) ... [2022-07-22 01:29:14,339 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:14,347 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:14,365 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-22 01:29:14,390 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-22 01:29:14,409 INFO L130 BoogieDeclarations]: Found specification of procedure fact [2022-07-22 01:29:14,410 INFO L138 BoogieDeclarations]: Found implementation of procedure fact [2022-07-22 01:29:14,410 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-07-22 01:29:14,411 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-07-22 01:29:14,463 INFO L234 CfgBuilder]: Building ICFG [2022-07-22 01:29:14,465 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-07-22 01:29:14,612 INFO L275 CfgBuilder]: Performing block encoding [2022-07-22 01:29:14,617 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-07-22 01:29:14,617 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-07-22 01:29:14,632 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.07 01:29:14 BoogieIcfgContainer [2022-07-22 01:29:14,632 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-07-22 01:29:14,633 INFO L113 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2022-07-22 01:29:14,633 INFO L271 PluginConnector]: Initializing BuchiAutomizer... [2022-07-22 01:29:14,636 INFO L275 PluginConnector]: BuchiAutomizer initialized [2022-07-22 01:29:14,637 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-22 01:29:14,637 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 22.07 01:29:14" (1/3) ... [2022-07-22 01:29:14,637 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@1a6d1c56 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 22.07 01:29:14, skipping insertion in model container [2022-07-22 01:29:14,638 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-22 01:29:14,638 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 01:29:14" (2/3) ... [2022-07-22 01:29:14,638 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@1a6d1c56 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 22.07 01:29:14, skipping insertion in model container [2022-07-22 01:29:14,638 INFO L99 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2022-07-22 01:29:14,638 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.07 01:29:14" (3/3) ... [2022-07-22 01:29:14,639 INFO L354 chiAutomizerObserver]: Analyzing ICFG Binomial.c [2022-07-22 01:29:14,680 INFO L255 stractBuchiCegarLoop]: Interprodecural is true [2022-07-22 01:29:14,680 INFO L256 stractBuchiCegarLoop]: Hoare is false [2022-07-22 01:29:14,680 INFO L257 stractBuchiCegarLoop]: Compute interpolants for ForwardPredicates [2022-07-22 01:29:14,680 INFO L258 stractBuchiCegarLoop]: Backedges is STRAIGHT_LINE [2022-07-22 01:29:14,681 INFO L259 stractBuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2022-07-22 01:29:14,681 INFO L260 stractBuchiCegarLoop]: Difference is false [2022-07-22 01:29:14,681 INFO L261 stractBuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2022-07-22 01:29:14,681 INFO L265 stractBuchiCegarLoop]: ======== Iteration 0 == of CEGAR loop == BuchiAutomatonCegarLoop ======== [2022-07-22 01:29:14,684 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-22 01:29:14,701 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 18 [2022-07-22 01:29:14,701 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:14,701 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:14,705 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2022-07-22 01:29:14,705 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 01:29:14,705 INFO L287 stractBuchiCegarLoop]: ======== Iteration 1 ============ [2022-07-22 01:29:14,705 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-22 01:29:14,712 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 18 [2022-07-22 01:29:14,712 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:14,712 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:14,713 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2022-07-22 01:29:14,713 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 01:29:14,718 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-22 01:29:14,718 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-22 01:29:14,723 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:14,723 INFO L85 PathProgramCache]: Analyzing trace with hash 1171944, now seen corresponding path program 1 times [2022-07-22 01:29:14,730 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:14,730 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1224039822] [2022-07-22 01:29:14,730 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:14,731 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:14,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:14,792 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:14,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:14,808 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:14,810 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:14,810 INFO L85 PathProgramCache]: Analyzing trace with hash 57812, now seen corresponding path program 1 times [2022-07-22 01:29:14,811 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:14,811 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2116042128] [2022-07-22 01:29:14,811 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:14,812 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:14,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:14,835 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:14,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:14,846 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:14,848 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:14,849 INFO L85 PathProgramCache]: Analyzing trace with hash 553673357, now seen corresponding path program 1 times [2022-07-22 01:29:14,849 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:14,849 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [222727260] [2022-07-22 01:29:14,849 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:14,850 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:14,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:14,926 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-22 01:29:14,927 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:14,928 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [222727260] [2022-07-22 01:29:14,928 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [222727260] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-22 01:29:14,928 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-22 01:29:14,929 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-07-22 01:29:14,929 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [790840720] [2022-07-22 01:29:14,930 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-22 01:29:14,990 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 01:29:14,991 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 01:29:14,991 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 01:29:14,991 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 01:29:14,991 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-22 01:29:14,992 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:14,992 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 01:29:14,992 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 01:29:14,992 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration1_Loop [2022-07-22 01:29:14,993 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 01:29:14,993 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 01:29:15,007 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-22 01:29:15,012 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-22 01:29:15,059 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 01:29:15,059 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-22 01:29:15,061 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:15,061 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:15,063 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-22 01:29:15,068 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:15,068 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:15,074 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-22 01:29:15,094 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:15,094 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-22 01:29:15,120 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-22 01:29:15,121 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:15,121 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:15,122 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-22 01:29:15,123 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-22 01:29:15,125 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:15,125 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:15,195 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-22 01:29:15,196 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:15,196 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:15,197 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-22 01:29:15,199 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-22 01:29:15,201 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-22 01:29:15,201 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:15,379 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-22 01:29:15,382 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (4)] Ended with exit code 0 [2022-07-22 01:29:15,382 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 01:29:15,383 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 01:29:15,383 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 01:29:15,383 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 01:29:15,383 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-22 01:29:15,383 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:15,383 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 01:29:15,383 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 01:29:15,383 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration1_Loop [2022-07-22 01:29:15,383 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 01:29:15,383 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 01:29:15,384 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-22 01:29:15,390 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-22 01:29:15,428 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 01:29:15,433 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-22 01:29:15,434 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:15,434 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:15,435 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-22 01:29:15,446 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-22 01:29:15,447 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-22 01:29:15,453 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:15,454 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:15,454 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:15,454 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:15,454 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:15,456 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:15,456 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:15,463 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:15,478 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-22 01:29:15,479 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:15,479 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:15,480 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-22 01:29:15,481 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-22 01:29:15,482 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-22 01:29:15,488 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:15,488 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:15,488 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:15,488 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:15,488 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:15,490 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:15,490 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:15,506 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-22 01:29:15,511 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2022-07-22 01:29:15,511 INFO L444 ModelExtractionUtils]: 1 out of 5 variables were initially zero. Simplification set additionally 2 variables to zero. [2022-07-22 01:29:15,512 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:15,513 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:15,519 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-22 01:29:15,524 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-22 01:29:15,524 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-22 01:29:15,524 INFO L513 LassoAnalysis]: Proved termination. [2022-07-22 01:29:15,525 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-22 01:29:15,533 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-22 01:29:15,543 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (6)] Forceful destruction successful, exit code 0 [2022-07-22 01:29:15,546 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-22 01:29:15,571 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:15,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:15,580 INFO L263 TraceCheckSpWp]: Trace formula consists of 12 conjuncts, 2 conjunts are in the unsatisfiable core [2022-07-22 01:29:15,583 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:15,602 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:15,603 WARN L261 TraceCheckSpWp]: Trace formula consists of 8 conjuncts, 6 conjunts are in the unsatisfiable core [2022-07-22 01:29:15,604 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:15,656 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-22 01:29:15,680 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-22 01:29:15,681 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-22 01:29:15,807 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-22 01:29:15,823 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-22 01:29:15,825 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-22 01:29:15,839 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-22 01:29:15,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2022-07-22 01:29:15,842 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 54 transitions. Stem has 4 letters. Loop has 3 letters. [2022-07-22 01:29:15,852 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:15,852 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 54 transitions. Stem has 7 letters. Loop has 3 letters. [2022-07-22 01:29:15,852 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:15,852 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 54 transitions. Stem has 4 letters. Loop has 6 letters. [2022-07-22 01:29:15,853 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:15,853 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 73 states and 106 transitions. [2022-07-22 01:29:15,858 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 18 [2022-07-22 01:29:15,869 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 73 states to 33 states and 48 transitions. [2022-07-22 01:29:15,870 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 29 [2022-07-22 01:29:15,871 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 30 [2022-07-22 01:29:15,871 INFO L73 IsDeterministic]: Start isDeterministic. Operand 33 states and 48 transitions. [2022-07-22 01:29:15,872 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:15,872 INFO L369 hiAutomatonCegarLoop]: Abstraction has 33 states and 48 transitions. [2022-07-22 01:29:15,884 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states and 48 transitions. [2022-07-22 01:29:15,905 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 30. [2022-07-22 01:29:15,905 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-22 01:29:15,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 42 transitions. [2022-07-22 01:29:15,908 INFO L392 hiAutomatonCegarLoop]: Abstraction has 30 states and 42 transitions. [2022-07-22 01:29:15,908 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:15,910 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-07-22 01:29:15,910 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-07-22 01:29:15,911 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-22 01:29:15,954 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:15,954 INFO L93 Difference]: Finished difference Result 29 states and 38 transitions. [2022-07-22 01:29:15,955 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-07-22 01:29:15,956 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 29 states and 38 transitions. [2022-07-22 01:29:15,958 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 19 [2022-07-22 01:29:15,959 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 29 states to 28 states and 37 transitions. [2022-07-22 01:29:15,959 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 28 [2022-07-22 01:29:15,959 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 28 [2022-07-22 01:29:15,960 INFO L73 IsDeterministic]: Start isDeterministic. Operand 28 states and 37 transitions. [2022-07-22 01:29:15,960 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2022-07-22 01:29:15,960 INFO L369 hiAutomatonCegarLoop]: Abstraction has 28 states and 37 transitions. [2022-07-22 01:29:15,960 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states and 37 transitions. [2022-07-22 01:29:15,963 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 26. [2022-07-22 01:29:15,963 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-22 01:29:15,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 35 transitions. [2022-07-22 01:29:15,964 INFO L392 hiAutomatonCegarLoop]: Abstraction has 26 states and 35 transitions. [2022-07-22 01:29:15,964 INFO L374 stractBuchiCegarLoop]: Abstraction has 26 states and 35 transitions. [2022-07-22 01:29:15,965 INFO L287 stractBuchiCegarLoop]: ======== Iteration 2 ============ [2022-07-22 01:29:15,965 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 26 states and 35 transitions. [2022-07-22 01:29:15,966 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 19 [2022-07-22 01:29:15,966 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:15,966 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:15,967 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2022-07-22 01:29:15,967 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-22 01:29:15,968 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-22 01:29:15,968 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-22 01:29:15,968 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:15,969 INFO L85 PathProgramCache]: Analyzing trace with hash 1171944, now seen corresponding path program 2 times [2022-07-22 01:29:15,969 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:15,969 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [407733359] [2022-07-22 01:29:15,969 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:15,970 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:15,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:15,973 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:15,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:15,976 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:15,977 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:15,977 INFO L85 PathProgramCache]: Analyzing trace with hash -743603515, now seen corresponding path program 1 times [2022-07-22 01:29:15,977 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:15,977 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [148376062] [2022-07-22 01:29:15,978 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:15,978 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:15,990 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:15,990 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [292505447] [2022-07-22 01:29:15,991 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:15,991 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:15,991 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:15,992 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-22 01:29:15,994 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-22 01:29:16,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:16,028 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:16,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:16,048 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:16,049 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:16,049 INFO L85 PathProgramCache]: Analyzing trace with hash 343305470, now seen corresponding path program 1 times [2022-07-22 01:29:16,049 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:16,050 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [606219901] [2022-07-22 01:29:16,050 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:16,050 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:16,088 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:16,089 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1695610966] [2022-07-22 01:29:16,089 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:16,089 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:16,089 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:16,091 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-22 01:29:16,092 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-22 01:29:16,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:16,132 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:16,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:16,163 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:16,467 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 01:29:16,467 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 01:29:16,468 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 01:29:16,468 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 01:29:16,468 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-22 01:29:16,468 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:16,468 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 01:29:16,468 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 01:29:16,469 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration2_Loop [2022-07-22 01:29:16,469 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 01:29:16,469 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 01:29:16,471 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-22 01:29:16,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-22 01:29:16,476 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-22 01:29:16,478 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-22 01:29:16,480 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-22 01:29:16,483 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-22 01:29:16,485 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-22 01:29:16,491 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-22 01:29:16,607 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 01:29:16,608 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-22 01:29:16,608 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:16,608 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:16,612 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-22 01:29:16,616 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-22 01:29:16,616 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:16,617 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:16,644 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:16,645 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-22 01:29:16,667 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-22 01:29:16,668 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:16,668 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:16,669 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-22 01:29:16,670 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-22 01:29:16,671 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:16,672 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:16,679 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:16,679 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-22 01:29:16,695 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-22 01:29:16,695 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:16,695 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:16,697 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-22 01:29:16,698 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-22 01:29:16,699 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:16,699 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:16,706 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:16,706 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-22 01:29:16,721 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-22 01:29:16,721 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:16,721 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:16,722 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-22 01:29:16,724 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-22 01:29:16,724 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:16,724 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:16,731 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:16,731 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-22 01:29:16,756 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-22 01:29:16,756 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:16,756 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:16,757 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-22 01:29:16,766 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:16,766 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:16,775 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-22 01:29:16,791 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:16,791 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-22 01:29:16,809 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-22 01:29:16,809 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:16,810 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:16,811 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-22 01:29:16,816 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:16,816 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:16,816 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-22 01:29:16,840 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:16,840 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-22 01:29:16,864 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-22 01:29:16,864 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:16,864 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:16,865 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-22 01:29:16,873 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-22 01:29:16,874 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:16,874 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:16,894 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:16,895 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-22 01:29:16,911 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-22 01:29:16,912 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:16,912 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:16,913 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-22 01:29:16,914 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-22 01:29:16,915 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:16,915 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:16,942 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-22 01:29:16,942 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:16,942 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:16,943 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-22 01:29:16,944 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-22 01:29:16,947 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-22 01:29:16,947 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:17,303 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-22 01:29:17,309 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-22 01:29:17,309 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 01:29:17,309 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 01:29:17,309 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 01:29:17,309 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 01:29:17,310 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-22 01:29:17,310 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:17,310 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 01:29:17,310 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 01:29:17,310 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration2_Loop [2022-07-22 01:29:17,310 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 01:29:17,310 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 01:29:17,311 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-22 01:29:17,317 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-22 01:29:17,318 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-22 01:29:17,320 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-22 01:29:17,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-22 01:29:17,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-22 01:29:17,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-22 01:29:17,336 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-22 01:29:17,443 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 01:29:17,443 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-22 01:29:17,443 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:17,443 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:17,445 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-22 01:29:17,446 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-22 01:29:17,447 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-22 01:29:17,455 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:17,456 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:17,456 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:17,456 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:17,456 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:17,457 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:17,457 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:17,470 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:17,494 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-22 01:29:17,495 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:17,495 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:17,496 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-22 01:29:17,497 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-22 01:29:17,499 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 01:29:17,506 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:17,506 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:17,506 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:17,506 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:17,506 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:17,507 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:17,507 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:17,523 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:17,545 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-22 01:29:17,545 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:17,547 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:17,548 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-22 01:29:17,554 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-22 01:29:17,561 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:17,561 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:17,561 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:17,561 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:17,561 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:17,562 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:17,562 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:17,564 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-22 01:29:17,571 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:17,595 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-22 01:29:17,595 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:17,596 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:17,597 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-22 01:29:17,605 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-22 01:29:17,611 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-22 01:29:17,612 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:17,612 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:17,612 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:17,615 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:17,615 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:17,616 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:17,616 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:17,623 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:17,638 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-22 01:29:17,638 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:17,638 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:17,639 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-22 01:29:17,640 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-22 01:29:17,654 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 01:29:17,660 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:17,660 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:17,660 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:17,660 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:17,661 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:17,661 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:17,661 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:17,673 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:17,688 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-22 01:29:17,688 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:17,688 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:17,689 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-22 01:29:17,690 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-22 01:29:17,691 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-22 01:29:17,699 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:17,699 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:17,699 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:17,699 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:17,699 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:17,701 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:17,701 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:17,703 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:17,751 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-22 01:29:17,752 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:17,752 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:17,753 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-22 01:29:17,753 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-22 01:29:17,755 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-22 01:29:17,761 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:17,761 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:17,761 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:17,761 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:17,761 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:17,762 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:17,762 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:17,763 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:17,777 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-22 01:29:17,778 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:17,778 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:17,779 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-22 01:29:17,781 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-22 01:29:17,782 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-22 01:29:17,788 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:17,788 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:17,788 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:17,788 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:17,788 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:17,791 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:17,791 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:17,802 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-22 01:29:17,828 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2022-07-22 01:29:17,828 INFO L444 ModelExtractionUtils]: 5 out of 9 variables were initially zero. Simplification set additionally 1 variables to zero. [2022-07-22 01:29:17,829 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:17,829 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:17,835 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-22 01:29:17,844 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-22 01:29:17,844 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-22 01:29:17,844 INFO L513 LassoAnalysis]: Proved termination. [2022-07-22 01:29:17,844 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-22 01:29:17,847 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-22 01:29:17,868 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-22 01:29:17,869 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-22 01:29:17,880 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:17,885 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:17,885 INFO L263 TraceCheckSpWp]: Trace formula consists of 12 conjuncts, 2 conjunts are in the unsatisfiable core [2022-07-22 01:29:17,886 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:17,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:17,917 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 14 conjunts are in the unsatisfiable core [2022-07-22 01:29:17,919 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:18,041 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-22 01:29:18,042 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-22 01:29:18,042 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-22 01:29:18,152 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-22 01:29:18,306 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-22 01:29:18,306 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-22 01:29:18,307 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-22 01:29:18,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 74 transitions. [2022-07-22 01:29:18,308 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 8 states and 74 transitions. Stem has 4 letters. Loop has 23 letters. [2022-07-22 01:29:18,309 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:18,309 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 8 states and 74 transitions. Stem has 27 letters. Loop has 23 letters. [2022-07-22 01:29:18,309 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:18,309 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 8 states and 74 transitions. Stem has 4 letters. Loop has 46 letters. [2022-07-22 01:29:18,310 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:18,310 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 117 states and 182 transitions. [2022-07-22 01:29:18,314 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 33 [2022-07-22 01:29:18,318 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 117 states to 116 states and 181 transitions. [2022-07-22 01:29:18,318 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 59 [2022-07-22 01:29:18,318 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 60 [2022-07-22 01:29:18,318 INFO L73 IsDeterministic]: Start isDeterministic. Operand 116 states and 181 transitions. [2022-07-22 01:29:18,318 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:18,318 INFO L369 hiAutomatonCegarLoop]: Abstraction has 116 states and 181 transitions. [2022-07-22 01:29:18,319 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states and 181 transitions. [2022-07-22 01:29:18,335 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 105. [2022-07-22 01:29:18,339 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-22 01:29:18,344 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 154 transitions. [2022-07-22 01:29:18,344 INFO L392 hiAutomatonCegarLoop]: Abstraction has 105 states and 154 transitions. [2022-07-22 01:29:18,344 INFO L374 stractBuchiCegarLoop]: Abstraction has 105 states and 154 transitions. [2022-07-22 01:29:18,344 INFO L287 stractBuchiCegarLoop]: ======== Iteration 3 ============ [2022-07-22 01:29:18,344 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 105 states and 154 transitions. [2022-07-22 01:29:18,350 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 32 [2022-07-22 01:29:18,351 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:18,351 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:18,353 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1] [2022-07-22 01:29:18,353 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-22 01:29:18,353 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-22 01:29:18,353 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-22 01:29:18,354 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:18,355 INFO L85 PathProgramCache]: Analyzing trace with hash 36330292, now seen corresponding path program 1 times [2022-07-22 01:29:18,355 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:18,356 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1746367094] [2022-07-22 01:29:18,356 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:18,356 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:18,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:18,368 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:18,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:18,374 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:18,376 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:18,376 INFO L85 PathProgramCache]: Analyzing trace with hash 471779129, now seen corresponding path program 1 times [2022-07-22 01:29:18,376 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:18,376 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [151957566] [2022-07-22 01:29:18,376 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:18,377 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:18,387 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:18,389 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [819043545] [2022-07-22 01:29:18,389 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:18,390 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:18,390 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:18,392 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-22 01:29:18,393 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-22 01:29:18,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:18,430 INFO L263 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 11 conjunts are in the unsatisfiable core [2022-07-22 01:29:18,432 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:18,505 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-22 01:29:18,505 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:18,729 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-22 01:29:18,730 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:18,730 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [151957566] [2022-07-22 01:29:18,731 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:18,731 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [819043545] [2022-07-22 01:29:18,731 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [819043545] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:18,731 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:18,731 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 13 [2022-07-22 01:29:18,732 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [370747984] [2022-07-22 01:29:18,732 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:18,732 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:29:18,732 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:18,734 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-07-22 01:29:18,734 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-07-22 01:29:18,734 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-22 01:29:19,034 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:19,034 INFO L93 Difference]: Finished difference Result 307 states and 482 transitions. [2022-07-22 01:29:19,034 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-07-22 01:29:19,035 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 307 states and 482 transitions. [2022-07-22 01:29:19,040 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 112 [2022-07-22 01:29:19,045 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 307 states to 307 states and 482 transitions. [2022-07-22 01:29:19,046 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 151 [2022-07-22 01:29:19,046 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 151 [2022-07-22 01:29:19,046 INFO L73 IsDeterministic]: Start isDeterministic. Operand 307 states and 482 transitions. [2022-07-22 01:29:19,046 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:19,047 INFO L369 hiAutomatonCegarLoop]: Abstraction has 307 states and 482 transitions. [2022-07-22 01:29:19,047 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 307 states and 482 transitions. [2022-07-22 01:29:19,065 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 307 to 149. [2022-07-22 01:29:19,066 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-22 01:29:19,068 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 149 states to 149 states and 264 transitions. [2022-07-22 01:29:19,068 INFO L392 hiAutomatonCegarLoop]: Abstraction has 149 states and 264 transitions. [2022-07-22 01:29:19,068 INFO L374 stractBuchiCegarLoop]: Abstraction has 149 states and 264 transitions. [2022-07-22 01:29:19,068 INFO L287 stractBuchiCegarLoop]: ======== Iteration 4 ============ [2022-07-22 01:29:19,068 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 149 states and 264 transitions. [2022-07-22 01:29:19,070 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 40 [2022-07-22 01:29:19,070 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:19,070 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:19,071 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1] [2022-07-22 01:29:19,071 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-22 01:29:19,071 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; 1261#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 1221#L42-3 [2022-07-22 01:29:19,072 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);< 1266#factENTRY ~n := #in~n; 1273#L25 assume !(~n <= 0); 1186#L26 call #t~ret0 := fact(~n - 1);< 1216#factENTRY ~n := #in~n; 1264#L25 assume !(~n <= 0); 1185#L26 call #t~ret0 := fact(~n - 1);< 1216#factENTRY ~n := #in~n; 1264#L25 assume ~n <= 0;#res := 1; 1200#factFINAL assume true; 1184#factEXIT >#66#return; 1188#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 1305#factFINAL assume true; 1303#factEXIT >#66#return; 1304#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 1314#factFINAL assume true; 1276#factEXIT >#68#return; 1268#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 1266#factENTRY ~n := #in~n; 1273#L25 assume ~n <= 0;#res := 1; 1254#factFINAL assume true; 1284#factEXIT >#70#return; 1270#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 1266#factENTRY ~n := #in~n; 1273#L25 assume ~n <= 0;#res := 1; 1254#factFINAL assume true; 1284#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; 1308#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 1307#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-22 01:29:19,072 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:19,072 INFO L85 PathProgramCache]: Analyzing trace with hash 36330292, now seen corresponding path program 2 times [2022-07-22 01:29:19,072 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:19,073 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [904592289] [2022-07-22 01:29:19,073 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:19,073 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:19,076 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:19,076 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:19,078 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:19,079 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:19,079 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:19,080 INFO L85 PathProgramCache]: Analyzing trace with hash -2146445903, now seen corresponding path program 2 times [2022-07-22 01:29:19,080 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:19,080 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1729398983] [2022-07-22 01:29:19,080 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:19,080 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:19,085 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:19,086 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2145701981] [2022-07-22 01:29:19,086 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 01:29:19,086 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:19,087 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:19,088 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-22 01:29:19,111 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-22 01:29:19,124 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 01:29:19,124 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:29:19,125 INFO L263 TraceCheckSpWp]: Trace formula consists of 83 conjuncts, 11 conjunts are in the unsatisfiable core [2022-07-22 01:29:19,129 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:19,201 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-22 01:29:19,201 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:19,411 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-22 01:29:19,411 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:19,411 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1729398983] [2022-07-22 01:29:19,411 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:19,411 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2145701981] [2022-07-22 01:29:19,411 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2145701981] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:19,412 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:19,412 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-07-22 01:29:19,412 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1990061519] [2022-07-22 01:29:19,412 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:19,412 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:29:19,412 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:19,413 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-07-22 01:29:19,413 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=143, Unknown=0, NotChecked=0, Total=182 [2022-07-22 01:29:19,413 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-22 01:29:19,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:19,777 INFO L93 Difference]: Finished difference Result 377 states and 584 transitions. [2022-07-22 01:29:19,778 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-07-22 01:29:19,778 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 377 states and 584 transitions. [2022-07-22 01:29:19,783 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 123 [2022-07-22 01:29:19,787 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 377 states to 365 states and 564 transitions. [2022-07-22 01:29:19,788 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 178 [2022-07-22 01:29:19,788 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 178 [2022-07-22 01:29:19,788 INFO L73 IsDeterministic]: Start isDeterministic. Operand 365 states and 564 transitions. [2022-07-22 01:29:19,788 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:19,789 INFO L369 hiAutomatonCegarLoop]: Abstraction has 365 states and 564 transitions. [2022-07-22 01:29:19,789 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 365 states and 564 transitions. [2022-07-22 01:29:19,804 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 365 to 183. [2022-07-22 01:29:19,804 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-22 01:29:19,806 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 183 states to 183 states and 308 transitions. [2022-07-22 01:29:19,806 INFO L392 hiAutomatonCegarLoop]: Abstraction has 183 states and 308 transitions. [2022-07-22 01:29:19,806 INFO L374 stractBuchiCegarLoop]: Abstraction has 183 states and 308 transitions. [2022-07-22 01:29:19,806 INFO L287 stractBuchiCegarLoop]: ======== Iteration 5 ============ [2022-07-22 01:29:19,806 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 183 states and 308 transitions. [2022-07-22 01:29:19,808 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 45 [2022-07-22 01:29:19,808 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:19,808 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:19,809 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1] [2022-07-22 01:29:19,809 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-22 01:29:19,809 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-22 01:29:19,810 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; 2112#L25 assume !(~n <= 0); 1946#L26 call #t~ret0 := fact(~n - 1);< 1980#factENTRY ~n := #in~n; 2098#L25 assume !(~n <= 0); 1945#L26 call #t~ret0 := fact(~n - 1);< 1980#factENTRY ~n := #in~n; 2098#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; 2112#L25 assume !(~n <= 0); 1946#L26 call #t~ret0 := fact(~n - 1);< 1980#factENTRY ~n := #in~n; 2098#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);< 2109#factENTRY ~n := #in~n; 2111#L25 assume !(~n <= 0); 1946#L26 call #t~ret0 := fact(~n - 1);< 1980#factENTRY ~n := #in~n; 2098#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-22 01:29:19,810 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:19,810 INFO L85 PathProgramCache]: Analyzing trace with hash 36330292, now seen corresponding path program 3 times [2022-07-22 01:29:19,810 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:19,810 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1824723390] [2022-07-22 01:29:19,811 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:19,811 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:19,814 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:19,814 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:19,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:19,817 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:19,817 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:19,817 INFO L85 PathProgramCache]: Analyzing trace with hash 1703111285, now seen corresponding path program 1 times [2022-07-22 01:29:19,817 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:19,818 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [345951120] [2022-07-22 01:29:19,818 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:19,818 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:19,823 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:19,824 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [418653779] [2022-07-22 01:29:19,824 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:19,824 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:19,824 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:19,826 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-22 01:29:19,831 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-22 01:29:19,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:19,890 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:19,905 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:19,919 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:19,920 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:19,920 INFO L85 PathProgramCache]: Analyzing trace with hash 1023536866, now seen corresponding path program 1 times [2022-07-22 01:29:19,920 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:19,920 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1538760721] [2022-07-22 01:29:19,920 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:19,920 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:19,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:19,953 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-07-22 01:29:19,956 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:19,956 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1538760721] [2022-07-22 01:29:19,956 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: Unsupported non-linear arithmetic [2022-07-22 01:29:19,956 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [427615999] [2022-07-22 01:29:19,957 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:19,957 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:19,957 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:20,000 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-22 01:29:20,001 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-22 01:29:20,043 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:20,043 INFO L263 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 3 conjunts are in the unsatisfiable core [2022-07-22 01:29:20,045 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:20,073 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-22 01:29:20,073 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-07-22 01:29:20,074 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [427615999] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-22 01:29:20,074 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-22 01:29:20,074 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-07-22 01:29:20,075 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [409212598] [2022-07-22 01:29:20,079 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-22 01:29:20,967 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 01:29:20,967 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 01:29:20,967 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 01:29:20,967 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 01:29:20,967 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-22 01:29:20,967 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:20,968 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 01:29:20,968 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 01:29:20,968 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration5_Loop [2022-07-22 01:29:20,968 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 01:29:20,968 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 01:29:20,969 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-22 01:29:20,971 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-22 01:29:20,973 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-22 01:29:20,975 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-22 01:29:20,977 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-22 01:29:20,978 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-22 01:29:21,020 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-22 01:29:21,202 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 01:29:21,202 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-22 01:29:21,202 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:21,203 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:21,207 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-22 01:29:21,207 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-22 01:29:21,208 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:21,209 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:21,216 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:21,216 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-22 01:29:21,231 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (32)] Forceful destruction successful, exit code 0 [2022-07-22 01:29:21,231 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:21,231 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:21,232 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-22 01:29:21,233 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-22 01:29:21,234 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:21,234 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:21,240 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:21,241 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-22 01:29:21,256 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (33)] Ended with exit code 0 [2022-07-22 01:29:21,256 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:21,257 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:21,258 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-22 01:29:21,262 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-22 01:29:21,262 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:21,262 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:21,269 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:21,269 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-22 01:29:21,284 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-22 01:29:21,284 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:21,284 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:21,285 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-22 01:29:21,286 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-22 01:29:21,287 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:21,287 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:21,293 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:21,293 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-22 01:29:21,308 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-22 01:29:21,308 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:21,308 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:21,309 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-22 01:29:21,310 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-22 01:29:21,311 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:21,311 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:21,317 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:21,317 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-22 01:29:21,332 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-22 01:29:21,332 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:21,333 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:21,334 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-22 01:29:21,334 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-22 01:29:21,336 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:21,336 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:21,361 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (37)] Ended with exit code 0 [2022-07-22 01:29:21,362 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:21,362 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:21,363 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-22 01:29:21,370 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-22 01:29:21,370 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-22 01:29:21,370 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:21,399 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-22 01:29:21,421 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (38)] Forceful destruction successful, exit code 0 [2022-07-22 01:29:21,421 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 01:29:21,421 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 01:29:21,421 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 01:29:21,421 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 01:29:21,421 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-22 01:29:21,421 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:21,421 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 01:29:21,421 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 01:29:21,421 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration5_Loop [2022-07-22 01:29:21,422 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 01:29:21,422 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 01:29:21,423 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-22 01:29:21,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-22 01:29:21,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-22 01:29:21,430 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-22 01:29:21,480 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-22 01:29:21,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-22 01:29:21,483 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-22 01:29:21,708 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 01:29:21,708 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-22 01:29:21,709 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:21,709 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:21,710 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-22 01:29:21,710 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-22 01:29:21,712 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-22 01:29:21,718 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:21,718 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:21,718 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:21,718 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:21,718 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:21,718 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:21,719 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:21,719 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:21,734 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (39)] Forceful destruction successful, exit code 0 [2022-07-22 01:29:21,735 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:21,735 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:21,736 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-22 01:29:21,740 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-22 01:29:21,740 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-22 01:29:21,746 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:21,746 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:21,746 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:21,746 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:21,746 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:21,747 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:21,747 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:21,748 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:21,762 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-22 01:29:21,762 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:21,763 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:21,763 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-22 01:29:21,764 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-22 01:29:21,766 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-22 01:29:21,772 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:21,772 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:21,772 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:21,772 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:21,772 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:21,777 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:21,777 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:21,786 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:21,807 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (41)] Ended with exit code 0 [2022-07-22 01:29:21,807 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:21,808 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:21,808 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-22 01:29:21,809 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-22 01:29:21,810 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-22 01:29:21,816 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:21,817 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:21,817 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:21,817 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:21,817 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:21,820 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:21,820 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:21,832 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-22 01:29:21,845 INFO L443 ModelExtractionUtils]: Simplification made 5 calls to the SMT solver. [2022-07-22 01:29:21,846 INFO L444 ModelExtractionUtils]: 5 out of 10 variables were initially zero. Simplification set additionally 2 variables to zero. [2022-07-22 01:29:21,846 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:21,846 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:21,851 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-22 01:29:21,855 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-22 01:29:21,855 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-22 01:29:21,855 INFO L513 LassoAnalysis]: Proved termination. [2022-07-22 01:29:21,855 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-22 01:29:21,863 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-22 01:29:21,874 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (42)] Forceful destruction successful, exit code 0 [2022-07-22 01:29:21,875 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-22 01:29:21,885 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:21,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:21,890 INFO L263 TraceCheckSpWp]: Trace formula consists of 15 conjuncts, 2 conjunts are in the unsatisfiable core [2022-07-22 01:29:21,890 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:21,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:21,938 INFO L263 TraceCheckSpWp]: Trace formula consists of 303 conjuncts, 27 conjunts are in the unsatisfiable core [2022-07-22 01:29:21,940 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:22,012 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-22 01:29:22,154 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-22 01:29:22,155 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-22 01:29:22,155 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-22 01:29:22,547 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-22 01:29:22,548 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-22 01:29:22,549 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-22 01:29:22,549 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 113 transitions. [2022-07-22 01:29:22,549 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 11 states and 113 transitions. Stem has 5 letters. Loop has 47 letters. [2022-07-22 01:29:22,551 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:22,551 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 11 states and 113 transitions. Stem has 52 letters. Loop has 47 letters. [2022-07-22 01:29:22,552 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:22,552 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 11 states and 113 transitions. Stem has 5 letters. Loop has 94 letters. [2022-07-22 01:29:22,554 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:22,554 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1103 states and 1896 transitions. [2022-07-22 01:29:22,567 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 95 [2022-07-22 01:29:22,578 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1103 states to 847 states and 1435 transitions. [2022-07-22 01:29:22,578 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 275 [2022-07-22 01:29:22,578 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 277 [2022-07-22 01:29:22,578 INFO L73 IsDeterministic]: Start isDeterministic. Operand 847 states and 1435 transitions. [2022-07-22 01:29:22,579 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:22,579 INFO L369 hiAutomatonCegarLoop]: Abstraction has 847 states and 1435 transitions. [2022-07-22 01:29:22,579 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 847 states and 1435 transitions. [2022-07-22 01:29:22,605 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 847 to 737. [2022-07-22 01:29:22,607 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-22 01:29:22,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 737 states to 737 states and 1175 transitions. [2022-07-22 01:29:22,615 INFO L392 hiAutomatonCegarLoop]: Abstraction has 737 states and 1175 transitions. [2022-07-22 01:29:22,615 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:22,616 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-07-22 01:29:22,616 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-07-22 01:29:22,616 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-22 01:29:22,655 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:22,655 INFO L93 Difference]: Finished difference Result 799 states and 1321 transitions. [2022-07-22 01:29:22,656 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-07-22 01:29:22,657 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 799 states and 1321 transitions. [2022-07-22 01:29:22,674 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 93 [2022-07-22 01:29:22,684 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 799 states to 799 states and 1321 transitions. [2022-07-22 01:29:22,684 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 258 [2022-07-22 01:29:22,685 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 258 [2022-07-22 01:29:22,685 INFO L73 IsDeterministic]: Start isDeterministic. Operand 799 states and 1321 transitions. [2022-07-22 01:29:22,685 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:22,685 INFO L369 hiAutomatonCegarLoop]: Abstraction has 799 states and 1321 transitions. [2022-07-22 01:29:22,685 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 799 states and 1321 transitions. [2022-07-22 01:29:22,705 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 799 to 741. [2022-07-22 01:29:22,707 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-22 01:29:22,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 741 states to 741 states and 1179 transitions. [2022-07-22 01:29:22,712 INFO L392 hiAutomatonCegarLoop]: Abstraction has 741 states and 1179 transitions. [2022-07-22 01:29:22,712 INFO L374 stractBuchiCegarLoop]: Abstraction has 741 states and 1179 transitions. [2022-07-22 01:29:22,712 INFO L287 stractBuchiCegarLoop]: ======== Iteration 6 ============ [2022-07-22 01:29:22,712 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 741 states and 1179 transitions. [2022-07-22 01:29:22,716 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 83 [2022-07-22 01:29:22,716 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:22,717 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:22,717 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1] [2022-07-22 01:29:22,718 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-22 01:29:22,718 INFO L752 eck$LassoCheckResult]: Stem: 5273#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 5250#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; 5251#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; 5294#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 5643#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 5381#L43 [2022-07-22 01:29:22,718 INFO L754 eck$LassoCheckResult]: Loop: 5381#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; 5316#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 5323#factENTRY ~n := #in~n; 5386#L25 assume !(~n <= 0); 5335#L26 call #t~ret0 := fact(~n - 1);< 5356#factENTRY ~n := #in~n; 5370#L25 assume ~n <= 0;#res := 1; 5369#factFINAL assume true; 5360#factEXIT >#66#return; 5367#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 5385#factFINAL assume true; 5317#factEXIT >#68#return; 5318#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 5323#factENTRY ~n := #in~n; 5386#L25 assume ~n <= 0;#res := 1; 5384#factFINAL assume true; 5392#factEXIT >#70#return; 5320#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 5390#factENTRY ~n := #in~n; 5388#L25 assume !(~n <= 0); 5335#L26 call #t~ret0 := fact(~n - 1);< 5356#factENTRY ~n := #in~n; 5370#L25 assume !(~n <= 0); 5331#L26 call #t~ret0 := fact(~n - 1);< 5356#factENTRY ~n := #in~n; 5370#L25 assume ~n <= 0;#res := 1; 5369#factFINAL assume true; 5360#factEXIT >#66#return; 5359#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 5357#factFINAL assume true; 5353#factEXIT >#66#return; 5346#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 5378#factFINAL assume true; 5380#factEXIT >#72#return; 5312#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; 5303#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 5301#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 5299#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 5270#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 5263#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 5264#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 5381#L43 [2022-07-22 01:29:22,718 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:22,719 INFO L85 PathProgramCache]: Analyzing trace with hash 1126239088, now seen corresponding path program 1 times [2022-07-22 01:29:22,719 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:22,719 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2129386745] [2022-07-22 01:29:22,719 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:22,719 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:22,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:22,723 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:22,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:22,726 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:22,727 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:22,727 INFO L85 PathProgramCache]: Analyzing trace with hash 249527309, now seen corresponding path program 3 times [2022-07-22 01:29:22,727 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:22,727 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [18484602] [2022-07-22 01:29:22,727 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:22,727 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:22,732 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:22,732 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [571247662] [2022-07-22 01:29:22,732 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 01:29:22,732 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:22,732 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:22,734 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-22 01:29:22,751 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-22 01:29:22,772 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2022-07-22 01:29:22,772 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:29:22,773 INFO L263 TraceCheckSpWp]: Trace formula consists of 47 conjuncts, 5 conjunts are in the unsatisfiable core [2022-07-22 01:29:22,774 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:22,803 INFO L134 CoverageAnalysis]: Checked inductivity of 67 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 66 trivial. 0 not checked. [2022-07-22 01:29:22,803 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-07-22 01:29:22,803 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:22,803 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [18484602] [2022-07-22 01:29:22,803 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:22,803 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [571247662] [2022-07-22 01:29:22,804 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [571247662] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-22 01:29:22,804 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-22 01:29:22,804 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-07-22 01:29:22,804 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [143012138] [2022-07-22 01:29:22,804 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-22 01:29:22,804 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:29:22,804 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:22,805 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-07-22 01:29:22,805 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-07-22 01:29:22,805 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-22 01:29:22,866 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:22,867 INFO L93 Difference]: Finished difference Result 884 states and 1467 transitions. [2022-07-22 01:29:22,867 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-07-22 01:29:22,868 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 884 states and 1467 transitions. [2022-07-22 01:29:22,878 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 125 [2022-07-22 01:29:22,910 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 884 states to 866 states and 1449 transitions. [2022-07-22 01:29:22,911 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 284 [2022-07-22 01:29:22,912 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 284 [2022-07-22 01:29:22,912 INFO L73 IsDeterministic]: Start isDeterministic. Operand 866 states and 1449 transitions. [2022-07-22 01:29:22,916 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:22,916 INFO L369 hiAutomatonCegarLoop]: Abstraction has 866 states and 1449 transitions. [2022-07-22 01:29:22,916 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 866 states and 1449 transitions. [2022-07-22 01:29:22,941 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 866 to 759. [2022-07-22 01:29:22,942 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-22 01:29:22,947 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 759 states to 759 states and 1197 transitions. [2022-07-22 01:29:22,947 INFO L392 hiAutomatonCegarLoop]: Abstraction has 759 states and 1197 transitions. [2022-07-22 01:29:22,947 INFO L374 stractBuchiCegarLoop]: Abstraction has 759 states and 1197 transitions. [2022-07-22 01:29:22,947 INFO L287 stractBuchiCegarLoop]: ======== Iteration 7 ============ [2022-07-22 01:29:22,947 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 759 states and 1197 transitions. [2022-07-22 01:29:22,952 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 85 [2022-07-22 01:29:22,952 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:22,952 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:22,956 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1] [2022-07-22 01:29:22,956 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [14, 14, 8, 8, 8, 8, 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-22 01:29:22,957 INFO L752 eck$LassoCheckResult]: Stem: 7028#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 7001#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; 7002#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 7027#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; 7051#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 7421#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 7150#L43 [2022-07-22 01:29:22,958 INFO L754 eck$LassoCheckResult]: Loop: 7150#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; 7069#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 7136#factENTRY ~n := #in~n; 7148#L25 assume !(~n <= 0); 7087#L26 call #t~ret0 := fact(~n - 1);< 7101#factENTRY ~n := #in~n; 7115#L25 assume !(~n <= 0); 7082#L26 call #t~ret0 := fact(~n - 1);< 7101#factENTRY ~n := #in~n; 7115#L25 assume ~n <= 0;#res := 1; 7114#factFINAL assume true; 7105#factEXIT >#66#return; 7104#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 7102#factFINAL assume true; 7098#factEXIT >#66#return; 7095#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 7134#factFINAL assume true; 7135#factEXIT >#68#return; 7126#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 7136#factENTRY ~n := #in~n; 7148#L25 assume !(~n <= 0); 7087#L26 call #t~ret0 := fact(~n - 1);< 7101#factENTRY ~n := #in~n; 7115#L25 assume ~n <= 0;#res := 1; 7114#factFINAL assume true; 7105#factEXIT >#66#return; 7109#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 7154#factFINAL assume true; 7144#factEXIT >#70#return; 7124#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 7136#factENTRY ~n := #in~n; 7148#L25 assume ~n <= 0;#res := 1; 7145#factFINAL assume true; 7123#factEXIT >#72#return; 7122#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; 7121#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 7120#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 7118#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 7055#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; 7061#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 7068#factENTRY ~n := #in~n; 7152#L25 assume !(~n <= 0); 7078#L26 call #t~ret0 := fact(~n - 1);< 7101#factENTRY ~n := #in~n; 7115#L25 assume !(~n <= 0); 7082#L26 call #t~ret0 := fact(~n - 1);< 7101#factENTRY ~n := #in~n; 7115#L25 assume !(~n <= 0); 7082#L26 call #t~ret0 := fact(~n - 1);< 7101#factENTRY ~n := #in~n; 7115#L25 assume ~n <= 0;#res := 1; 7114#factFINAL assume true; 7105#factEXIT >#66#return; 7104#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 7102#factFINAL assume true; 7098#factEXIT >#66#return; 7094#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 7097#factFINAL assume true; 7073#factEXIT >#66#return; 7072#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 7071#factFINAL assume true; 7070#factEXIT >#74#return; 7062#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 7068#factENTRY ~n := #in~n; 7152#L25 assume !(~n <= 0); 7078#L26 call #t~ret0 := fact(~n - 1);< 7101#factENTRY ~n := #in~n; 7115#L25 assume ~n <= 0;#res := 1; 7114#factFINAL assume true; 7105#factEXIT >#66#return; 7110#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 7132#factFINAL assume true; 7059#factEXIT >#76#return; 7060#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 7117#factENTRY ~n := #in~n; 7116#L25 assume !(~n <= 0); 7078#L26 call #t~ret0 := fact(~n - 1);< 7101#factENTRY ~n := #in~n; 7115#L25 assume ~n <= 0;#res := 1; 7114#factFINAL assume true; 7105#factEXIT >#66#return; 7110#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 7132#factFINAL assume true; 7059#factEXIT >#78#return; 7058#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; 7057#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 7056#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 7054#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 7024#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 7014#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 7015#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 7150#L43 [2022-07-22 01:29:22,958 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:22,958 INFO L85 PathProgramCache]: Analyzing trace with hash 1126239088, now seen corresponding path program 2 times [2022-07-22 01:29:22,959 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:22,959 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1855399858] [2022-07-22 01:29:22,959 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:22,959 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:22,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:22,971 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:22,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:22,982 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:22,983 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:22,983 INFO L85 PathProgramCache]: Analyzing trace with hash -1733614270, now seen corresponding path program 1 times [2022-07-22 01:29:22,983 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:22,983 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [828345915] [2022-07-22 01:29:22,983 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:22,983 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:22,989 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:22,989 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [933180596] [2022-07-22 01:29:22,989 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:22,989 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:22,989 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:22,993 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-22 01:29:22,994 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-22 01:29:23,043 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:23,044 INFO L263 TraceCheckSpWp]: Trace formula consists of 206 conjuncts, 13 conjunts are in the unsatisfiable core [2022-07-22 01:29:23,048 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:23,124 INFO L134 CoverageAnalysis]: Checked inductivity of 425 backedges. 241 proven. 27 refuted. 0 times theorem prover too weak. 157 trivial. 0 not checked. [2022-07-22 01:29:23,125 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:23,417 INFO L134 CoverageAnalysis]: Checked inductivity of 425 backedges. 19 proven. 180 refuted. 0 times theorem prover too weak. 226 trivial. 0 not checked. [2022-07-22 01:29:23,417 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:23,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [828345915] [2022-07-22 01:29:23,418 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:23,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [933180596] [2022-07-22 01:29:23,418 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [933180596] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:23,418 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:23,418 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 12] total 15 [2022-07-22 01:29:23,418 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [446690801] [2022-07-22 01:29:23,418 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:23,419 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:29:23,419 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:23,419 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-07-22 01:29:23,419 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=169, Unknown=0, NotChecked=0, Total=210 [2022-07-22 01:29:23,420 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.5) internal successors, (42), 12 states have internal predecessors, (42), 10 states have call successors, (17), 2 states have call predecessors, (17), 6 states have return successors, (18), 8 states have call predecessors, (18), 10 states have call successors, (18) [2022-07-22 01:29:23,750 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:23,751 INFO L93 Difference]: Finished difference Result 1161 states and 1751 transitions. [2022-07-22 01:29:23,751 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-07-22 01:29:23,752 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1161 states and 1751 transitions. [2022-07-22 01:29:23,762 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 195 [2022-07-22 01:29:23,772 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1161 states to 1161 states and 1751 transitions. [2022-07-22 01:29:23,773 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 367 [2022-07-22 01:29:23,773 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 367 [2022-07-22 01:29:23,773 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1161 states and 1751 transitions. [2022-07-22 01:29:23,774 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:23,774 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1161 states and 1751 transitions. [2022-07-22 01:29:23,774 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1161 states and 1751 transitions. [2022-07-22 01:29:23,793 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1161 to 759. [2022-07-22 01:29:23,795 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-22 01:29:23,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 759 states to 759 states and 1197 transitions. [2022-07-22 01:29:23,799 INFO L392 hiAutomatonCegarLoop]: Abstraction has 759 states and 1197 transitions. [2022-07-22 01:29:23,799 INFO L374 stractBuchiCegarLoop]: Abstraction has 759 states and 1197 transitions. [2022-07-22 01:29:23,799 INFO L287 stractBuchiCegarLoop]: ======== Iteration 8 ============ [2022-07-22 01:29:23,799 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 759 states and 1197 transitions. [2022-07-22 01:29:23,803 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 85 [2022-07-22 01:29:23,803 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:23,803 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:23,804 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1] [2022-07-22 01:29:23,804 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [16, 16, 10, 10, 10, 10, 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-22 01:29:23,804 INFO L752 eck$LassoCheckResult]: Stem: 9514#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 9490#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; 9491#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 9513#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; 9534#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 9902#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 9515#L43 [2022-07-22 01:29:23,805 INFO L754 eck$LassoCheckResult]: Loop: 9515#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; 9516#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 9625#factENTRY ~n := #in~n; 9632#L25 assume !(~n <= 0); 9572#L26 call #t~ret0 := fact(~n - 1);< 9585#factENTRY ~n := #in~n; 9599#L25 assume ~n <= 0;#res := 1; 9598#factFINAL assume true; 9589#factEXIT >#66#return; 9595#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 9630#factFINAL assume true; 9626#factEXIT >#68#return; 9616#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 9625#factENTRY ~n := #in~n; 9632#L25 assume !(~n <= 0); 9572#L26 call #t~ret0 := fact(~n - 1);< 9585#factENTRY ~n := #in~n; 9599#L25 assume !(~n <= 0); 9565#L26 call #t~ret0 := fact(~n - 1);< 9585#factENTRY ~n := #in~n; 9599#L25 assume ~n <= 0;#res := 1; 9598#factFINAL assume true; 9589#factEXIT >#66#return; 9588#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 9586#factFINAL assume true; 9582#factEXIT >#66#return; 9580#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 9623#factFINAL assume true; 9624#factEXIT >#70#return; 9617#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 9628#factENTRY ~n := #in~n; 9629#L25 assume ~n <= 0;#res := 1; 9627#factFINAL assume true; 9614#factEXIT >#72#return; 9613#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; 9612#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 9611#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 9610#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 9540#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; 9547#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 9553#factENTRY ~n := #in~n; 9605#L25 assume !(~n <= 0); 9569#L26 call #t~ret0 := fact(~n - 1);< 9585#factENTRY ~n := #in~n; 9599#L25 assume !(~n <= 0); 9565#L26 call #t~ret0 := fact(~n - 1);< 9585#factENTRY ~n := #in~n; 9599#L25 assume !(~n <= 0); 9565#L26 call #t~ret0 := fact(~n - 1);< 9585#factENTRY ~n := #in~n; 9599#L25 assume ~n <= 0;#res := 1; 9598#factFINAL assume true; 9589#factEXIT >#66#return; 9588#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 9586#factFINAL assume true; 9582#factEXIT >#66#return; 9579#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 9581#factFINAL assume true; 9557#factEXIT >#66#return; 9556#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 9555#factFINAL assume true; 9554#factEXIT >#74#return; 9545#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 9553#factENTRY ~n := #in~n; 9605#L25 assume !(~n <= 0); 9569#L26 call #t~ret0 := fact(~n - 1);< 9585#factENTRY ~n := #in~n; 9599#L25 assume !(~n <= 0); 9565#L26 call #t~ret0 := fact(~n - 1);< 9585#factENTRY ~n := #in~n; 9599#L25 assume ~n <= 0;#res := 1; 9598#factFINAL assume true; 9589#factEXIT >#66#return; 9588#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 9586#factFINAL assume true; 9582#factEXIT >#66#return; 9584#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 9550#factFINAL assume true; 9552#factEXIT >#76#return; 9546#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 9549#factENTRY ~n := #in~n; 9600#L25 assume !(~n <= 0); 9569#L26 call #t~ret0 := fact(~n - 1);< 9585#factENTRY ~n := #in~n; 9599#L25 assume !(~n <= 0); 9565#L26 call #t~ret0 := fact(~n - 1);< 9585#factENTRY ~n := #in~n; 9599#L25 assume ~n <= 0;#res := 1; 9598#factFINAL assume true; 9589#factEXIT >#66#return; 9588#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 9586#factFINAL assume true; 9582#factEXIT >#66#return; 9584#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 9550#factFINAL assume true; 9552#factEXIT >#78#return; 9543#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; 9542#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 9541#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 9539#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 9510#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 9502#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 9503#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 9515#L43 [2022-07-22 01:29:23,805 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:23,805 INFO L85 PathProgramCache]: Analyzing trace with hash 1126239088, now seen corresponding path program 3 times [2022-07-22 01:29:23,805 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:23,806 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [771667418] [2022-07-22 01:29:23,806 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:23,806 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:23,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:23,809 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:23,811 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:23,812 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:23,812 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:23,812 INFO L85 PathProgramCache]: Analyzing trace with hash 476967090, now seen corresponding path program 2 times [2022-07-22 01:29:23,812 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:23,812 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1994251415] [2022-07-22 01:29:23,813 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:23,813 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:23,818 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:23,818 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [425552179] [2022-07-22 01:29:23,818 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 01:29:23,818 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:23,819 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:23,823 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-22 01:29:23,844 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-22 01:29:23,901 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 01:29:23,901 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:29:23,902 INFO L263 TraceCheckSpWp]: Trace formula consists of 230 conjuncts, 15 conjunts are in the unsatisfiable core [2022-07-22 01:29:23,905 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:23,997 INFO L134 CoverageAnalysis]: Checked inductivity of 575 backedges. 270 proven. 27 refuted. 0 times theorem prover too weak. 278 trivial. 0 not checked. [2022-07-22 01:29:23,997 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:24,285 INFO L134 CoverageAnalysis]: Checked inductivity of 575 backedges. 8 proven. 203 refuted. 0 times theorem prover too weak. 364 trivial. 0 not checked. [2022-07-22 01:29:24,285 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:24,285 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1994251415] [2022-07-22 01:29:24,285 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:24,285 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [425552179] [2022-07-22 01:29:24,285 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [425552179] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:24,285 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:24,285 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 12] total 15 [2022-07-22 01:29:24,286 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [145235503] [2022-07-22 01:29:24,286 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:24,286 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:29:24,286 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:24,286 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-07-22 01:29:24,287 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=169, Unknown=0, NotChecked=0, Total=210 [2022-07-22 01:29:24,287 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-22 01:29:24,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:24,580 INFO L93 Difference]: Finished difference Result 968 states and 1497 transitions. [2022-07-22 01:29:24,581 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-07-22 01:29:24,582 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 968 states and 1497 transitions. [2022-07-22 01:29:24,589 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 125 [2022-07-22 01:29:24,597 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 968 states to 963 states and 1482 transitions. [2022-07-22 01:29:24,597 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 304 [2022-07-22 01:29:24,597 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 304 [2022-07-22 01:29:24,597 INFO L73 IsDeterministic]: Start isDeterministic. Operand 963 states and 1482 transitions. [2022-07-22 01:29:24,597 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:24,598 INFO L369 hiAutomatonCegarLoop]: Abstraction has 963 states and 1482 transitions. [2022-07-22 01:29:24,598 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 963 states and 1482 transitions. [2022-07-22 01:29:24,617 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 963 to 813. [2022-07-22 01:29:24,618 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-22 01:29:24,621 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 813 states to 813 states and 1258 transitions. [2022-07-22 01:29:24,622 INFO L392 hiAutomatonCegarLoop]: Abstraction has 813 states and 1258 transitions. [2022-07-22 01:29:24,622 INFO L374 stractBuchiCegarLoop]: Abstraction has 813 states and 1258 transitions. [2022-07-22 01:29:24,622 INFO L287 stractBuchiCegarLoop]: ======== Iteration 9 ============ [2022-07-22 01:29:24,622 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 813 states and 1258 transitions. [2022-07-22 01:29:24,626 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 85 [2022-07-22 01:29:24,626 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:24,626 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:24,627 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1] [2022-07-22 01:29:24,627 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [16, 16, 10, 10, 10, 10, 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-22 01:29:24,627 INFO L752 eck$LassoCheckResult]: Stem: 11890#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 11863#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; 11864#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 11889#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; 11911#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 12277#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 11891#L43 [2022-07-22 01:29:24,627 INFO L754 eck$LassoCheckResult]: Loop: 11891#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; 11892#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 12007#factENTRY ~n := #in~n; 12016#L25 assume !(~n <= 0); 11948#L26 call #t~ret0 := fact(~n - 1);< 11963#factENTRY ~n := #in~n; 11980#L25 assume !(~n <= 0); 11946#L26 call #t~ret0 := fact(~n - 1);< 11963#factENTRY ~n := #in~n; 11980#L25 assume ~n <= 0;#res := 1; 11979#factFINAL assume true; 11967#factEXIT >#66#return; 11966#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 11964#factFINAL assume true; 11961#factEXIT >#66#return; 11956#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 12012#factFINAL assume true; 12008#factEXIT >#68#return; 11997#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 12007#factENTRY ~n := #in~n; 12016#L25 assume !(~n <= 0); 11948#L26 call #t~ret0 := fact(~n - 1);< 11963#factENTRY ~n := #in~n; 11980#L25 assume !(~n <= 0); 11946#L26 call #t~ret0 := fact(~n - 1);< 11963#factENTRY ~n := #in~n; 11980#L25 assume ~n <= 0;#res := 1; 11979#factFINAL assume true; 11967#factEXIT >#66#return; 11966#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 11964#factFINAL assume true; 11961#factEXIT >#66#return; 11956#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 12012#factFINAL assume true; 12008#factEXIT >#70#return; 12000#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 12007#factENTRY ~n := #in~n; 12016#L25 assume !(~n <= 0); 11948#L26 call #t~ret0 := fact(~n - 1);< 11963#factENTRY ~n := #in~n; 11980#L25 assume ~n <= 0;#res := 1; 11979#factFINAL assume true; 11967#factEXIT >#66#return; 11977#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 12005#factFINAL assume true; 12006#factEXIT >#72#return; 11995#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; 11994#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 11993#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 11990#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 11916#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; 11923#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 11929#factENTRY ~n := #in~n; 11987#L25 assume !(~n <= 0); 11934#L26 call #t~ret0 := fact(~n - 1);< 11963#factENTRY ~n := #in~n; 11980#L25 assume !(~n <= 0); 11946#L26 call #t~ret0 := fact(~n - 1);< 11963#factENTRY ~n := #in~n; 11980#L25 assume !(~n <= 0); 11946#L26 call #t~ret0 := fact(~n - 1);< 11963#factENTRY ~n := #in~n; 11980#L25 assume ~n <= 0;#res := 1; 11979#factFINAL assume true; 11967#factEXIT >#66#return; 11966#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 11964#factFINAL assume true; 11961#factEXIT >#66#return; 11957#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 11960#factFINAL assume true; 11933#factEXIT >#66#return; 11932#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 11931#factFINAL assume true; 11930#factEXIT >#74#return; 11922#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 11929#factENTRY ~n := #in~n; 11987#L25 assume !(~n <= 0); 11934#L26 call #t~ret0 := fact(~n - 1);< 11963#factENTRY ~n := #in~n; 11980#L25 assume ~n <= 0;#res := 1; 11979#factFINAL assume true; 11967#factEXIT >#66#return; 11971#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 11988#factFINAL assume true; 11920#factEXIT >#76#return; 11921#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 11925#factENTRY ~n := #in~n; 11982#L25 assume !(~n <= 0); 11934#L26 call #t~ret0 := fact(~n - 1);< 11963#factENTRY ~n := #in~n; 11980#L25 assume ~n <= 0;#res := 1; 11979#factFINAL assume true; 11967#factEXIT >#66#return; 11971#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 11988#factFINAL assume true; 11920#factEXIT >#78#return; 11919#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; 11918#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 11917#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 11915#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 11886#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 11877#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 11878#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 11891#L43 [2022-07-22 01:29:24,628 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:24,628 INFO L85 PathProgramCache]: Analyzing trace with hash 1126239088, now seen corresponding path program 4 times [2022-07-22 01:29:24,628 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:24,628 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [186512524] [2022-07-22 01:29:24,628 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:24,628 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:24,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:24,631 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:24,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:24,634 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:24,634 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:24,634 INFO L85 PathProgramCache]: Analyzing trace with hash -370835662, now seen corresponding path program 3 times [2022-07-22 01:29:24,634 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:24,634 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [595386311] [2022-07-22 01:29:24,634 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:24,635 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:24,640 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:24,640 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1830368835] [2022-07-22 01:29:24,640 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 01:29:24,641 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:24,641 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:24,644 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-22 01:29:24,645 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-22 01:29:24,699 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2022-07-22 01:29:24,699 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:29:24,700 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 9 conjunts are in the unsatisfiable core [2022-07-22 01:29:24,702 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:24,759 INFO L134 CoverageAnalysis]: Checked inductivity of 575 backedges. 338 proven. 1 refuted. 0 times theorem prover too weak. 236 trivial. 0 not checked. [2022-07-22 01:29:24,759 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:24,899 INFO L134 CoverageAnalysis]: Checked inductivity of 575 backedges. 32 proven. 35 refuted. 0 times theorem prover too weak. 508 trivial. 0 not checked. [2022-07-22 01:29:24,899 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:24,899 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [595386311] [2022-07-22 01:29:24,899 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:24,900 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1830368835] [2022-07-22 01:29:24,901 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1830368835] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:24,901 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:24,901 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2022-07-22 01:29:24,901 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [258458063] [2022-07-22 01:29:24,901 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:24,902 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:29:24,902 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:24,902 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-07-22 01:29:24,902 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-07-22 01:29:24,902 INFO L87 Difference]: Start difference. First operand 813 states and 1258 transitions. cyclomatic complexity: 456 Second operand has 9 states, 7 states have (on average 4.285714285714286) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-07-22 01:29:25,024 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:25,024 INFO L93 Difference]: Finished difference Result 876 states and 1321 transitions. [2022-07-22 01:29:25,025 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-07-22 01:29:25,025 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 876 states and 1321 transitions. [2022-07-22 01:29:25,042 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 108 [2022-07-22 01:29:25,049 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 876 states to 876 states and 1321 transitions. [2022-07-22 01:29:25,049 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 285 [2022-07-22 01:29:25,050 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 285 [2022-07-22 01:29:25,050 INFO L73 IsDeterministic]: Start isDeterministic. Operand 876 states and 1321 transitions. [2022-07-22 01:29:25,050 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:25,050 INFO L369 hiAutomatonCegarLoop]: Abstraction has 876 states and 1321 transitions. [2022-07-22 01:29:25,051 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 876 states and 1321 transitions. [2022-07-22 01:29:25,069 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 876 to 865. [2022-07-22 01:29:25,070 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 865 states, 568 states have (on average 1.125) internal successors, (639), 534 states have internal predecessors, (639), 206 states have call successors, (206), 113 states have call predecessors, (206), 91 states have return successors, (465), 217 states have call predecessors, (465), 206 states have call successors, (465) [2022-07-22 01:29:25,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 865 states to 865 states and 1310 transitions. [2022-07-22 01:29:25,075 INFO L392 hiAutomatonCegarLoop]: Abstraction has 865 states and 1310 transitions. [2022-07-22 01:29:25,075 INFO L374 stractBuchiCegarLoop]: Abstraction has 865 states and 1310 transitions. [2022-07-22 01:29:25,075 INFO L287 stractBuchiCegarLoop]: ======== Iteration 10 ============ [2022-07-22 01:29:25,075 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 865 states and 1310 transitions. [2022-07-22 01:29:25,080 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 103 [2022-07-22 01:29:25,080 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:25,080 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:25,081 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1] [2022-07-22 01:29:25,081 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [6, 6, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:29:25,081 INFO L752 eck$LassoCheckResult]: Stem: 14215#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 14184#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; 14185#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 14214#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; 14235#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 14766#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 14307#L43 [2022-07-22 01:29:25,081 INFO L754 eck$LassoCheckResult]: Loop: 14307#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; 14258#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 14303#factENTRY ~n := #in~n; 14340#L25 assume !(~n <= 0); 14267#L26 call #t~ret0 := fact(~n - 1);< 14301#factENTRY ~n := #in~n; 14323#L25 assume ~n <= 0;#res := 1; 14321#factFINAL assume true; 14309#factEXIT >#66#return; 14313#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 14333#factFINAL assume true; 14334#factEXIT >#68#return; 14291#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 14336#factENTRY ~n := #in~n; 14342#L25 assume ~n <= 0;#res := 1; 14302#factFINAL assume true; 14290#factEXIT >#70#return; 14295#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 14338#factENTRY ~n := #in~n; 14341#L25 assume !(~n <= 0); 14267#L26 call #t~ret0 := fact(~n - 1);< 14301#factENTRY ~n := #in~n; 14323#L25 assume !(~n <= 0); 14264#L26 call #t~ret0 := fact(~n - 1);< 14301#factENTRY ~n := #in~n; 14323#L25 assume ~n <= 0;#res := 1; 14321#factFINAL assume true; 14309#factEXIT >#66#return; 14308#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 14304#factFINAL assume true; 14298#factEXIT >#66#return; 14281#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 14337#factFINAL assume true; 14331#factEXIT >#72#return; 14332#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; 14346#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 14343#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 14203#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 14307#L43 [2022-07-22 01:29:25,081 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:25,081 INFO L85 PathProgramCache]: Analyzing trace with hash 1126239088, now seen corresponding path program 5 times [2022-07-22 01:29:25,081 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:25,082 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1067761405] [2022-07-22 01:29:25,082 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:25,082 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:25,085 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:25,085 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:25,086 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:25,087 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:25,087 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:25,087 INFO L85 PathProgramCache]: Analyzing trace with hash 2056016184, now seen corresponding path program 1 times [2022-07-22 01:29:25,088 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:25,088 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1035066183] [2022-07-22 01:29:25,094 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:25,094 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:25,098 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:25,098 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1242358303] [2022-07-22 01:29:25,098 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:25,098 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:25,098 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:25,103 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-22 01:29:25,124 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-22 01:29:25,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:25,142 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:25,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:25,162 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:25,163 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:25,163 INFO L85 PathProgramCache]: Analyzing trace with hash -1896328857, now seen corresponding path program 1 times [2022-07-22 01:29:25,163 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:25,163 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1720417509] [2022-07-22 01:29:25,163 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:25,163 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:25,170 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:25,171 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1185631096] [2022-07-22 01:29:25,171 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:25,171 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:25,171 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:25,179 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-22 01:29:25,195 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-22 01:29:25,221 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:25,222 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 6 conjunts are in the unsatisfiable core [2022-07-22 01:29:25,223 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:25,245 INFO L134 CoverageAnalysis]: Checked inductivity of 67 backedges. 39 proven. 1 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-07-22 01:29:25,245 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:25,296 INFO L134 CoverageAnalysis]: Checked inductivity of 67 backedges. 3 proven. 17 refuted. 0 times theorem prover too weak. 47 trivial. 0 not checked. [2022-07-22 01:29:25,297 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:25,297 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1720417509] [2022-07-22 01:29:25,297 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:25,297 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1185631096] [2022-07-22 01:29:25,297 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1185631096] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:25,298 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:25,298 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-07-22 01:29:25,298 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1205028434] [2022-07-22 01:29:25,298 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:25,766 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 01:29:25,766 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 01:29:25,766 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 01:29:25,766 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 01:29:25,766 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-22 01:29:25,766 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:25,766 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 01:29:25,766 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 01:29:25,766 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration10_Loop [2022-07-22 01:29:25,767 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 01:29:25,767 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 01:29:25,768 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-22 01:29:25,771 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-22 01:29:25,772 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-22 01:29:25,774 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-22 01:29:25,807 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-22 01:29:25,808 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-22 01:29:26,045 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 01:29:26,045 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-22 01:29:26,045 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:26,046 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:26,050 INFO L229 MonitoredProcess]: Starting monitored process 50 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-22 01:29:26,056 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:26,056 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:26,065 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (50)] Waiting until timeout for monitored process [2022-07-22 01:29:26,072 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:26,072 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-22 01:29:26,089 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (50)] Ended with exit code 0 [2022-07-22 01:29:26,090 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:26,090 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:26,091 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-22 01:29:26,092 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-22 01:29:26,093 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:26,093 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:26,100 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:26,100 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-22 01:29:26,115 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (51)] Ended with exit code 0 [2022-07-22 01:29:26,115 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:26,115 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:26,116 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-22 01:29:26,117 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-22 01:29:26,118 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:26,118 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:26,125 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:26,126 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-22 01:29:26,140 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (52)] Ended with exit code 0 [2022-07-22 01:29:26,141 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:26,141 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:26,142 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-22 01:29:26,142 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-22 01:29:26,143 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:26,144 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:26,187 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-22 01:29:26,188 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:26,188 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:26,189 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-22 01:29:26,190 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-22 01:29:26,191 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-22 01:29:26,191 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:26,223 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-22 01:29:26,243 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (54)] Forceful destruction successful, exit code 0 [2022-07-22 01:29:26,243 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 01:29:26,243 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 01:29:26,243 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 01:29:26,243 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 01:29:26,243 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-22 01:29:26,243 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:26,244 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 01:29:26,244 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 01:29:26,244 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration10_Loop [2022-07-22 01:29:26,244 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 01:29:26,244 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 01:29:26,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-22 01:29:26,247 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-22 01:29:26,248 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-22 01:29:26,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-22 01:29:26,252 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-22 01:29:26,253 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-22 01:29:26,508 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 01:29:26,508 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-22 01:29:26,509 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:26,509 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:26,512 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-22 01:29:26,515 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-22 01:29:26,523 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:26,523 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:26,523 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:26,523 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:26,523 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:26,525 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-22 01:29:26,525 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:26,525 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:26,526 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:26,541 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-22 01:29:26,541 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:26,541 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:26,543 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-22 01:29:26,543 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-22 01:29:26,546 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-22 01:29:26,551 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:26,552 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:26,552 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:26,552 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:26,552 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:26,552 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:26,552 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:26,555 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:26,570 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-22 01:29:26,570 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:26,570 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:26,571 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-22 01:29:26,572 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-22 01:29:26,573 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-22 01:29:26,578 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:26,579 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:26,579 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:26,579 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:26,579 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:26,579 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:26,579 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:26,580 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:26,595 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-22 01:29:26,595 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:26,595 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:26,596 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-22 01:29:26,597 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-22 01:29:26,598 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-22 01:29:26,609 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:26,609 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:26,609 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:26,609 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:26,609 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:26,609 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:26,609 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:26,610 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:26,625 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (58)] Ended with exit code 0 [2022-07-22 01:29:26,625 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:26,625 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:26,626 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-22 01:29:26,627 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-22 01:29:26,628 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-22 01:29:26,633 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:26,634 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:26,634 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:26,634 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:26,634 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:26,634 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:26,634 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:26,635 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:26,650 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-22 01:29:26,650 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:26,650 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:26,651 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-22 01:29:26,652 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-22 01:29:26,653 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-22 01:29:26,659 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:26,659 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:26,659 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:26,659 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:26,659 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:26,661 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:26,661 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:26,664 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-22 01:29:26,670 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2022-07-22 01:29:26,670 INFO L444 ModelExtractionUtils]: 6 out of 10 variables were initially zero. Simplification set additionally 2 variables to zero. [2022-07-22 01:29:26,670 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:26,670 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:26,672 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-22 01:29:26,672 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-22 01:29:26,673 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-22 01:29:26,673 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-22 01:29:26,673 INFO L513 LassoAnalysis]: Proved termination. [2022-07-22 01:29:26,673 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~k~0#1) = -1*ULTIMATE.start_main_~k~0#1 Supporting invariants [] [2022-07-22 01:29:26,688 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-22 01:29:26,689 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-22 01:29:26,698 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:26,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:26,703 INFO L263 TraceCheckSpWp]: Trace formula consists of 16 conjuncts, 2 conjunts are in the unsatisfiable core [2022-07-22 01:29:26,703 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:26,744 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:26,745 INFO L263 TraceCheckSpWp]: Trace formula consists of 257 conjuncts, 27 conjunts are in the unsatisfiable core [2022-07-22 01:29:26,747 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:26,772 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-22 01:29:27,002 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 13 proven. 33 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-07-22 01:29:27,003 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 12 loop predicates [2022-07-22 01:29:27,004 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 865 states and 1310 transitions. cyclomatic complexity: 456 Second operand has 13 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 12 states have internal predecessors, (27), 5 states have call successors, (6), 1 states have call predecessors, (6), 5 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-07-22 01:29:27,397 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 865 states and 1310 transitions. cyclomatic complexity: 456. Second operand has 13 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 12 states have internal predecessors, (27), 5 states have call successors, (6), 1 states have call predecessors, (6), 5 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Result 3140 states and 4548 transitions. Complement of second has 59 states. [2022-07-22 01:29:27,398 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-22 01:29:27,398 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 12 states have internal predecessors, (27), 5 states have call successors, (6), 1 states have call predecessors, (6), 5 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-07-22 01:29:27,399 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 67 transitions. [2022-07-22 01:29:27,399 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 12 states and 67 transitions. Stem has 6 letters. Loop has 38 letters. [2022-07-22 01:29:27,400 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:27,400 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 12 states and 67 transitions. Stem has 44 letters. Loop has 38 letters. [2022-07-22 01:29:27,400 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:27,400 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 12 states and 67 transitions. Stem has 6 letters. Loop has 76 letters. [2022-07-22 01:29:27,401 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:27,402 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 3140 states and 4548 transitions. [2022-07-22 01:29:27,440 INFO L131 ngComponentsAnalysis]: Automaton has 10 accepting balls. 237 [2022-07-22 01:29:27,463 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 3140 states to 3050 states and 4441 transitions. [2022-07-22 01:29:27,463 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 623 [2022-07-22 01:29:27,464 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 628 [2022-07-22 01:29:27,464 INFO L73 IsDeterministic]: Start isDeterministic. Operand 3050 states and 4441 transitions. [2022-07-22 01:29:27,465 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:27,465 INFO L369 hiAutomatonCegarLoop]: Abstraction has 3050 states and 4441 transitions. [2022-07-22 01:29:27,466 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 3050 states and 4441 transitions. [2022-07-22 01:29:27,530 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 3050 to 2859. [2022-07-22 01:29:27,534 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2859 states, 1850 states have (on average 1.1135135135135135) internal successors, (2060), 1752 states have internal predecessors, (2060), 676 states have call successors, (676), 373 states have call predecessors, (676), 333 states have return successors, (1504), 733 states have call predecessors, (1504), 676 states have call successors, (1504) [2022-07-22 01:29:27,544 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2859 states to 2859 states and 4240 transitions. [2022-07-22 01:29:27,544 INFO L392 hiAutomatonCegarLoop]: Abstraction has 2859 states and 4240 transitions. [2022-07-22 01:29:27,544 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:27,544 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-07-22 01:29:27,545 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-07-22 01:29:27,545 INFO L87 Difference]: Start difference. First operand 2859 states and 4240 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-22 01:29:27,679 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:27,679 INFO L93 Difference]: Finished difference Result 1775 states and 2510 transitions. [2022-07-22 01:29:27,680 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-07-22 01:29:27,680 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1775 states and 2510 transitions. [2022-07-22 01:29:27,692 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 153 [2022-07-22 01:29:27,704 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1775 states to 1619 states and 2319 transitions. [2022-07-22 01:29:27,704 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 422 [2022-07-22 01:29:27,704 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 422 [2022-07-22 01:29:27,705 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1619 states and 2319 transitions. [2022-07-22 01:29:27,705 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:27,705 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1619 states and 2319 transitions. [2022-07-22 01:29:27,706 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1619 states and 2319 transitions. [2022-07-22 01:29:27,734 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1619 to 1560. [2022-07-22 01:29:27,736 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1560 states, 1043 states have (on average 1.1236816874400768) internal successors, (1172), 985 states have internal predecessors, (1172), 337 states have call successors, (337), 205 states have call predecessors, (337), 180 states have return successors, (740), 369 states have call predecessors, (740), 336 states have call successors, (740) [2022-07-22 01:29:27,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1560 states to 1560 states and 2249 transitions. [2022-07-22 01:29:27,741 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1560 states and 2249 transitions. [2022-07-22 01:29:27,741 INFO L374 stractBuchiCegarLoop]: Abstraction has 1560 states and 2249 transitions. [2022-07-22 01:29:27,741 INFO L287 stractBuchiCegarLoop]: ======== Iteration 11 ============ [2022-07-22 01:29:27,741 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1560 states and 2249 transitions. [2022-07-22 01:29:27,748 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 147 [2022-07-22 01:29:27,748 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:27,748 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:27,749 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:29:27,749 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:29:27,749 INFO L752 eck$LassoCheckResult]: Stem: 23346#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 23316#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; 23317#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 23345#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; 23330#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 23331#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 23652#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; 23304#L30 [2022-07-22 01:29:27,749 INFO L754 eck$LassoCheckResult]: Loop: 23304#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 23305#factENTRY ~n := #in~n; 23517#L25 assume ~n <= 0;#res := 1; 23515#factFINAL assume true; 23506#factEXIT >#68#return; 23358#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 23359#factENTRY ~n := #in~n; 23891#L25 assume ~n <= 0;#res := 1; 23811#factFINAL assume true; 23814#factEXIT >#70#return; 23812#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 23893#factENTRY ~n := #in~n; 23908#L25 assume !(~n <= 0); 23286#L26 call #t~ret0 := fact(~n - 1);< 23835#factENTRY ~n := #in~n; 23841#L25 assume ~n <= 0;#res := 1; 23834#factFINAL assume true; 23827#factEXIT >#66#return; 23820#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 23818#factFINAL assume true; 23817#factEXIT >#72#return; 23335#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; 23336#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 23802#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 23801#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 23347#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; 23304#L30 [2022-07-22 01:29:27,750 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:27,750 INFO L85 PathProgramCache]: Analyzing trace with hash 553673399, now seen corresponding path program 1 times [2022-07-22 01:29:27,750 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:27,750 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [135769515] [2022-07-22 01:29:27,750 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:27,751 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:27,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:27,754 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:27,756 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:27,757 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:27,757 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:27,758 INFO L85 PathProgramCache]: Analyzing trace with hash 1411935530, now seen corresponding path program 2 times [2022-07-22 01:29:27,758 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:27,758 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1487222115] [2022-07-22 01:29:27,758 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:27,758 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:27,762 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:27,762 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1336193970] [2022-07-22 01:29:27,762 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 01:29:27,762 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:27,763 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:27,764 INFO L229 MonitoredProcess]: Starting monitored process 62 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:29:27,787 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (62)] Waiting until timeout for monitored process [2022-07-22 01:29:27,804 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 01:29:27,804 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-22 01:29:27,805 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:27,812 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:27,818 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:27,818 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:27,818 INFO L85 PathProgramCache]: Analyzing trace with hash -46909344, now seen corresponding path program 2 times [2022-07-22 01:29:27,819 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:27,819 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2117961564] [2022-07-22 01:29:27,819 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:27,819 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:27,824 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:27,824 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1199190160] [2022-07-22 01:29:27,824 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 01:29:27,824 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:27,824 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:27,826 INFO L229 MonitoredProcess]: Starting monitored process 63 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:29:27,827 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (63)] Waiting until timeout for monitored process [2022-07-22 01:29:27,877 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 01:29:27,878 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:29:27,879 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 9 conjunts are in the unsatisfiable core [2022-07-22 01:29:27,880 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:27,945 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 10 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-07-22 01:29:27,945 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:28,016 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 10 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-07-22 01:29:28,016 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:28,016 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2117961564] [2022-07-22 01:29:28,016 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:28,017 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1199190160] [2022-07-22 01:29:28,017 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1199190160] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:28,017 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:28,017 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-07-22 01:29:28,017 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1642282618] [2022-07-22 01:29:28,017 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:28,286 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 01:29:28,286 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 01:29:28,286 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 01:29:28,286 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 01:29:28,287 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-22 01:29:28,287 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:28,287 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 01:29:28,287 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 01:29:28,287 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration11_Loop [2022-07-22 01:29:28,287 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 01:29:28,287 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 01:29:28,288 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-22 01:29:28,290 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-22 01:29:28,291 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-22 01:29:28,293 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-22 01:29:28,295 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-22 01:29:28,311 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-22 01:29:28,313 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-22 01:29:28,377 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 01:29:28,377 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-22 01:29:28,377 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:28,377 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:28,383 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-22 01:29:28,388 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:28,388 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:28,397 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-22 01:29:28,411 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:28,411 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-22 01:29:28,433 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (64)] Forceful destruction successful, exit code 0 [2022-07-22 01:29:28,433 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:28,433 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:28,435 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-22 01:29:28,443 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-22 01:29:28,443 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:28,444 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:28,451 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:28,451 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-22 01:29:28,466 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-22 01:29:28,466 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:28,466 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:28,467 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-22 01:29:28,468 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-22 01:29:28,469 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:28,469 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:28,475 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:28,475 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-22 01:29:28,490 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (66)] Ended with exit code 0 [2022-07-22 01:29:28,491 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:28,491 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:28,492 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-22 01:29:28,492 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-22 01:29:28,494 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:28,494 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:28,500 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:28,500 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-22 01:29:28,515 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (67)] Forceful destruction successful, exit code 0 [2022-07-22 01:29:28,516 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:28,516 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:28,517 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-22 01:29:28,518 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-22 01:29:28,519 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:28,519 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:28,541 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (68)] Forceful destruction successful, exit code 0 [2022-07-22 01:29:28,541 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:28,541 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:28,542 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-22 01:29:28,543 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-22 01:29:28,544 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-22 01:29:28,544 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:29,151 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-22 01:29:29,157 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-22 01:29:29,157 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 01:29:29,157 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 01:29:29,158 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 01:29:29,158 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 01:29:29,158 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-22 01:29:29,158 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:29,158 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 01:29:29,158 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 01:29:29,158 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration11_Loop [2022-07-22 01:29:29,158 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 01:29:29,158 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 01:29:29,159 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-22 01:29:29,160 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-22 01:29:29,162 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-22 01:29:29,163 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-22 01:29:29,164 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-22 01:29:29,166 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-22 01:29:29,197 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-22 01:29:29,258 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 01:29:29,258 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-22 01:29:29,258 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:29,258 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:29,260 INFO L229 MonitoredProcess]: Starting monitored process 70 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-22 01:29:29,261 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (70)] Waiting until timeout for monitored process [2022-07-22 01:29:29,262 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-22 01:29:29,267 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:29,268 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:29,268 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:29,268 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:29,268 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:29,268 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:29,268 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:29,269 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:29,284 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (70)] Ended with exit code 0 [2022-07-22 01:29:29,284 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:29,284 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:29,285 INFO L229 MonitoredProcess]: Starting monitored process 71 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-22 01:29:29,286 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (71)] Waiting until timeout for monitored process [2022-07-22 01:29:29,287 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-22 01:29:29,292 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:29,292 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:29,292 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:29,292 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:29,292 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:29,293 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:29,293 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:29,294 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:29,308 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (71)] Ended with exit code 0 [2022-07-22 01:29:29,309 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:29,309 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:29,310 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-22 01:29:29,310 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-22 01:29:29,312 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-22 01:29:29,317 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:29,317 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:29,318 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:29,318 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:29,318 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:29,318 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:29,318 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:29,319 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:29,336 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (72)] Ended with exit code 0 [2022-07-22 01:29:29,337 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:29,337 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:29,338 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-22 01:29:29,338 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-22 01:29:29,339 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-22 01:29:29,345 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:29,345 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:29,345 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:29,345 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:29,345 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:29,346 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:29,346 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:29,347 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:29,361 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (73)] Ended with exit code 0 [2022-07-22 01:29:29,362 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:29,362 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:29,363 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-22 01:29:29,363 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-22 01:29:29,365 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-22 01:29:29,371 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:29,371 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:29,371 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:29,371 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:29,371 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:29,372 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:29,372 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:29,373 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:29,388 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-22 01:29:29,388 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:29,388 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:29,389 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-22 01:29:29,389 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-22 01:29:29,391 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-22 01:29:29,397 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:29,397 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:29,397 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:29,397 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:29,398 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:29,399 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:29,400 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:29,402 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-22 01:29:29,406 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2022-07-22 01:29:29,406 INFO L444 ModelExtractionUtils]: 5 out of 9 variables were initially zero. Simplification set additionally 1 variables to zero. [2022-07-22 01:29:29,406 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:29,406 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:29,419 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-22 01:29:29,420 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-22 01:29:29,420 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-22 01:29:29,420 INFO L513 LassoAnalysis]: Proved termination. [2022-07-22 01:29:29,420 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-22 01:29:29,435 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-22 01:29:29,442 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (75)] Forceful destruction successful, exit code 0 [2022-07-22 01:29:29,443 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-22 01:29:29,451 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:29,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:29,458 INFO L263 TraceCheckSpWp]: Trace formula consists of 25 conjuncts, 2 conjunts are in the unsatisfiable core [2022-07-22 01:29:29,458 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:29,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:29,488 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 12 conjunts are in the unsatisfiable core [2022-07-22 01:29:29,489 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:29,548 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-07-22 01:29:29,548 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.1 stem predicates 4 loop predicates [2022-07-22 01:29:29,548 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1560 states and 2249 transitions. cyclomatic complexity: 716 Second operand has 6 states, 5 states have (on average 3.4) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-07-22 01:29:29,660 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (76)] Forceful destruction successful, exit code 0 [2022-07-22 01:29:29,665 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1560 states and 2249 transitions. cyclomatic complexity: 716. Second operand has 6 states, 5 states have (on average 3.4) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) Result 2302 states and 3232 transitions. Complement of second has 13 states. [2022-07-22 01:29:29,666 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 5 states 1 stem states 3 non-accepting loop states 1 accepting loop states [2022-07-22 01:29:29,666 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 3.4) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-07-22 01:29:29,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 38 transitions. [2022-07-22 01:29:29,667 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 38 transitions. Stem has 7 letters. Loop has 26 letters. [2022-07-22 01:29:29,667 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:29,667 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 38 transitions. Stem has 33 letters. Loop has 26 letters. [2022-07-22 01:29:29,668 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:29,668 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 38 transitions. Stem has 7 letters. Loop has 52 letters. [2022-07-22 01:29:29,668 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:29,669 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2302 states and 3232 transitions. [2022-07-22 01:29:29,688 INFO L131 ngComponentsAnalysis]: Automaton has 6 accepting balls. 106 [2022-07-22 01:29:29,702 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2302 states to 1797 states and 2562 transitions. [2022-07-22 01:29:29,702 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 372 [2022-07-22 01:29:29,703 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 377 [2022-07-22 01:29:29,703 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1797 states and 2562 transitions. [2022-07-22 01:29:29,703 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:29,703 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1797 states and 2562 transitions. [2022-07-22 01:29:29,704 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1797 states and 2562 transitions. [2022-07-22 01:29:29,735 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1797 to 1740. [2022-07-22 01:29:29,738 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1740 states, 1155 states have (on average 1.1264069264069263) internal successors, (1301), 1098 states have internal predecessors, (1301), 374 states have call successors, (375), 232 states have call predecessors, (375), 211 states have return successors, (822), 409 states have call predecessors, (822), 368 states have call successors, (822) [2022-07-22 01:29:29,743 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1740 states to 1740 states and 2498 transitions. [2022-07-22 01:29:29,743 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1740 states and 2498 transitions. [2022-07-22 01:29:29,744 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:29,744 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-07-22 01:29:29,744 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-07-22 01:29:29,744 INFO L87 Difference]: Start difference. First operand 1740 states and 2498 transitions. Second operand has 10 states, 8 states have (on average 3.0) internal successors, (24), 10 states have internal predecessors, (24), 3 states have call successors, (7), 1 states have call predecessors, (7), 2 states have return successors, (7), 4 states have call predecessors, (7), 3 states have call successors, (7) [2022-07-22 01:29:29,998 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:29,999 INFO L93 Difference]: Finished difference Result 1781 states and 2601 transitions. [2022-07-22 01:29:29,999 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-07-22 01:29:30,000 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1781 states and 2601 transitions. [2022-07-22 01:29:30,012 INFO L131 ngComponentsAnalysis]: Automaton has 7 accepting balls. 123 [2022-07-22 01:29:30,024 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1781 states to 1415 states and 2072 transitions. [2022-07-22 01:29:30,024 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 380 [2022-07-22 01:29:30,025 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 380 [2022-07-22 01:29:30,025 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1415 states and 2072 transitions. [2022-07-22 01:29:30,025 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:30,025 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1415 states and 2072 transitions. [2022-07-22 01:29:30,026 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1415 states and 2072 transitions. [2022-07-22 01:29:30,073 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1415 to 1360. [2022-07-22 01:29:30,075 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1360 states, 866 states have (on average 1.130484988452656) internal successors, (979), 837 states have internal predecessors, (979), 330 states have call successors, (331), 174 states have call predecessors, (331), 164 states have return successors, (678), 348 states have call predecessors, (678), 316 states have call successors, (678) [2022-07-22 01:29:30,079 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1360 states to 1360 states and 1988 transitions. [2022-07-22 01:29:30,079 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1360 states and 1988 transitions. [2022-07-22 01:29:30,080 INFO L374 stractBuchiCegarLoop]: Abstraction has 1360 states and 1988 transitions. [2022-07-22 01:29:30,080 INFO L287 stractBuchiCegarLoop]: ======== Iteration 12 ============ [2022-07-22 01:29:30,080 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1360 states and 1988 transitions. [2022-07-22 01:29:30,085 INFO L131 ngComponentsAnalysis]: Automaton has 7 accepting balls. 113 [2022-07-22 01:29:30,085 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:30,085 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:30,085 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:29:30,086 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 01:29:30,086 INFO L752 eck$LassoCheckResult]: Stem: 31080#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 31053#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; 31054#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 31079#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; 31066#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 31067#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 31081#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; 31082#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 31488#factENTRY ~n := #in~n; 31406#L25 assume !(~n <= 0); 31008#L26 call #t~ret0 := fact(~n - 1);< 31392#factENTRY [2022-07-22 01:29:30,086 INFO L754 eck$LassoCheckResult]: Loop: 31392#factENTRY ~n := #in~n; 31442#L25 assume !(~n <= 0); 31010#L26 call #t~ret0 := fact(~n - 1);< 31392#factENTRY [2022-07-22 01:29:30,086 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:30,087 INFO L85 PathProgramCache]: Analyzing trace with hash 271623377, now seen corresponding path program 1 times [2022-07-22 01:29:30,087 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:30,087 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1864563718] [2022-07-22 01:29:30,087 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:30,087 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:30,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:30,108 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-22 01:29:30,108 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:30,108 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1864563718] [2022-07-22 01:29:30,109 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1864563718] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-22 01:29:30,109 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-22 01:29:30,109 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-07-22 01:29:30,109 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [927017238] [2022-07-22 01:29:30,109 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-22 01:29:30,109 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:29:30,110 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:30,110 INFO L85 PathProgramCache]: Analyzing trace with hash 29980, now seen corresponding path program 1 times [2022-07-22 01:29:30,110 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:30,110 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2132611098] [2022-07-22 01:29:30,110 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:30,110 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:30,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:30,113 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:30,113 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:30,114 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:30,135 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 01:29:30,135 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 01:29:30,136 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 01:29:30,136 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 01:29:30,136 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-22 01:29:30,136 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:30,136 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 01:29:30,136 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 01:29:30,136 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration12_Loop [2022-07-22 01:29:30,136 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 01:29:30,137 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 01:29:30,137 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-22 01:29:30,139 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-22 01:29:30,143 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-22 01:29:30,144 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-22 01:29:30,171 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 01:29:30,171 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-22 01:29:30,172 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:30,172 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:30,173 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-22 01:29:30,180 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:30,180 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:30,188 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-22 01:29:30,203 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:30,203 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-22 01:29:30,225 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (77)] Forceful destruction successful, exit code 0 [2022-07-22 01:29:30,226 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:30,226 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:30,227 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-22 01:29:30,231 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:30,232 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:30,239 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-22 01:29:30,274 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (78)] Forceful destruction successful, exit code 0 [2022-07-22 01:29:30,274 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:30,274 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:30,275 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-22 01:29:30,279 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-22 01:29:30,280 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:30,303 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-22 01:29:30,326 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-22 01:29:30,330 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (79)] Forceful destruction successful, exit code 0 [2022-07-22 01:29:30,330 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 01:29:30,331 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 01:29:30,331 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 01:29:30,331 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 01:29:30,331 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-22 01:29:30,331 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:30,331 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 01:29:30,331 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 01:29:30,331 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration12_Loop [2022-07-22 01:29:30,331 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 01:29:30,331 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 01:29:30,332 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-22 01:29:30,334 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-22 01:29:30,339 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-22 01:29:30,340 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-22 01:29:30,359 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 01:29:30,359 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-22 01:29:30,359 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:30,360 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:30,361 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-22 01:29:30,367 INFO L120 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSESNumber of strict supporting invariants: 0Number of non-strict supporting invariants: 1Consider only non-deceasing supporting invariants: trueSimplify termination arguments: trueSimplify supporting invariants: trueOverapproximate stem: false [2022-07-22 01:29:30,375 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:30,375 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:30,375 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:30,375 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:30,375 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:30,376 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:30,376 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:30,377 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-22 01:29:30,391 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:30,413 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (80)] Forceful destruction successful, exit code 0 [2022-07-22 01:29:30,414 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:30,414 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:30,415 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-22 01:29:30,417 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-22 01:29:30,418 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-22 01:29:30,425 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:30,425 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:30,425 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:30,426 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:30,426 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:30,426 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:30,426 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:30,440 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-22 01:29:30,442 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2022-07-22 01:29:30,442 INFO L444 ModelExtractionUtils]: 0 out of 3 variables were initially zero. Simplification set additionally 1 variables to zero. [2022-07-22 01:29:30,443 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:30,443 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:30,448 INFO L229 MonitoredProcess]: Starting monitored process 82 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-22 01:29:30,449 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (82)] Waiting until timeout for monitored process [2022-07-22 01:29:30,450 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-22 01:29:30,450 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-22 01:29:30,450 INFO L513 LassoAnalysis]: Proved termination. [2022-07-22 01:29:30,450 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(fact_#in~n) = 1*fact_#in~n Supporting invariants [] [2022-07-22 01:29:30,473 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (81)] Forceful destruction successful, exit code 0 [2022-07-22 01:29:30,473 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-22 01:29:30,483 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:30,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:30,498 INFO L263 TraceCheckSpWp]: Trace formula consists of 92 conjuncts, 6 conjunts are in the unsatisfiable core [2022-07-22 01:29:30,498 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:30,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:30,515 INFO L263 TraceCheckSpWp]: Trace formula consists of 37 conjuncts, 7 conjunts are in the unsatisfiable core [2022-07-22 01:29:30,515 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:30,532 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-22 01:29:30,532 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-22 01:29:30,532 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1360 states and 1988 transitions. cyclomatic complexity: 651 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-22 01:29:30,584 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1360 states and 1988 transitions. cyclomatic complexity: 651. 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 1620 states and 2362 transitions. Complement of second has 13 states. [2022-07-22 01:29:30,585 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-22 01:29:30,585 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-22 01:29:30,586 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 32 transitions. [2022-07-22 01:29:30,586 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 32 transitions. Stem has 11 letters. Loop has 3 letters. [2022-07-22 01:29:30,586 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:30,586 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 32 transitions. Stem has 14 letters. Loop has 3 letters. [2022-07-22 01:29:30,586 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:30,586 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 4 states and 32 transitions. Stem has 11 letters. Loop has 6 letters. [2022-07-22 01:29:30,587 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:30,587 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1620 states and 2362 transitions. [2022-07-22 01:29:30,598 INFO L131 ngComponentsAnalysis]: Automaton has 7 accepting balls. 113 [2022-07-22 01:29:30,611 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1620 states to 1544 states and 2267 transitions. [2022-07-22 01:29:30,612 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 371 [2022-07-22 01:29:30,612 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 373 [2022-07-22 01:29:30,612 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1544 states and 2267 transitions. [2022-07-22 01:29:30,612 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:30,613 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1544 states and 2267 transitions. [2022-07-22 01:29:30,613 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1544 states and 2267 transitions. [2022-07-22 01:29:30,661 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1544 to 1534. [2022-07-22 01:29:30,663 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1534 states, 977 states have (on average 1.1371545547594677) internal successors, (1111), 961 states have internal predecessors, (1111), 371 states have call successors, (371), 209 states have call predecessors, (371), 186 states have return successors, (763), 363 states have call predecessors, (763), 357 states have call successors, (763) [2022-07-22 01:29:30,668 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1534 states to 1534 states and 2245 transitions. [2022-07-22 01:29:30,668 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1534 states and 2245 transitions. [2022-07-22 01:29:30,668 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:30,668 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (82)] Forceful destruction successful, exit code 0 [2022-07-22 01:29:30,669 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-07-22 01:29:30,669 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-07-22 01:29:30,669 INFO L87 Difference]: Start difference. First operand 1534 states and 2245 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-22 01:29:30,742 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:30,743 INFO L93 Difference]: Finished difference Result 1552 states and 2274 transitions. [2022-07-22 01:29:30,743 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-07-22 01:29:30,744 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1552 states and 2274 transitions. [2022-07-22 01:29:30,754 INFO L131 ngComponentsAnalysis]: Automaton has 7 accepting balls. 113 [2022-07-22 01:29:30,766 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1552 states to 1552 states and 2274 transitions. [2022-07-22 01:29:30,766 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 373 [2022-07-22 01:29:30,767 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 373 [2022-07-22 01:29:30,767 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1552 states and 2274 transitions. [2022-07-22 01:29:30,767 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:30,767 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1552 states and 2274 transitions. [2022-07-22 01:29:30,768 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1552 states and 2274 transitions. [2022-07-22 01:29:30,795 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1552 to 1534. [2022-07-22 01:29:30,797 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1534 states, 977 states have (on average 1.136131013306039) internal successors, (1110), 961 states have internal predecessors, (1110), 371 states have call successors, (371), 209 states have call predecessors, (371), 186 states have return successors, (763), 363 states have call predecessors, (763), 357 states have call successors, (763) [2022-07-22 01:29:30,803 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1534 states to 1534 states and 2244 transitions. [2022-07-22 01:29:30,803 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1534 states and 2244 transitions. [2022-07-22 01:29:30,803 INFO L374 stractBuchiCegarLoop]: Abstraction has 1534 states and 2244 transitions. [2022-07-22 01:29:30,803 INFO L287 stractBuchiCegarLoop]: ======== Iteration 13 ============ [2022-07-22 01:29:30,803 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1534 states and 2244 transitions. [2022-07-22 01:29:30,809 INFO L131 ngComponentsAnalysis]: Automaton has 7 accepting balls. 113 [2022-07-22 01:29:30,809 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:30,809 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:30,810 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [5, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:29:30,810 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [1, 1, 1] [2022-07-22 01:29:30,810 INFO L752 eck$LassoCheckResult]: Stem: 37210#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 37181#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; 37182#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 37209#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; 37196#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 37197#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 37211#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; 37172#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 37173#factENTRY ~n := #in~n; 37574#L25 assume ~n <= 0;#res := 1; 37572#factFINAL assume true; 37569#factEXIT >#68#return; 37564#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 37567#factENTRY ~n := #in~n; 38586#L25 assume !(~n <= 0); 38559#L26 call #t~ret0 := fact(~n - 1);< 38575#factENTRY ~n := #in~n; 38585#L25 assume ~n <= 0;#res := 1; 38574#factFINAL assume true; 38558#factEXIT >#66#return; 38557#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 38554#factFINAL assume true; 38551#factEXIT >#70#return; 37156#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 37157#factENTRY ~n := #in~n; 38591#L25 assume ~n <= 0;#res := 1; 38548#factFINAL assume true; 38549#factEXIT >#72#return; 38589#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; 37208#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 37195#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 37231#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 38556#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; 37578#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 38645#factENTRY ~n := #in~n; 38682#L25 assume !(~n <= 0); 38651#L26 call #t~ret0 := fact(~n - 1);< 38655#factENTRY [2022-07-22 01:29:30,810 INFO L754 eck$LassoCheckResult]: Loop: 38655#factENTRY ~n := #in~n; 38674#L25 assume !(~n <= 0); 38650#L26 call #t~ret0 := fact(~n - 1);< 38655#factENTRY [2022-07-22 01:29:30,811 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:30,811 INFO L85 PathProgramCache]: Analyzing trace with hash 1605874444, now seen corresponding path program 1 times [2022-07-22 01:29:30,811 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:30,811 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1027356990] [2022-07-22 01:29:30,811 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:30,811 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:30,818 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:30,818 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1166050733] [2022-07-22 01:29:30,818 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:30,818 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:30,818 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:30,820 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-22 01:29:30,821 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-22 01:29:30,858 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:30,858 INFO L263 TraceCheckSpWp]: Trace formula consists of 99 conjuncts, 6 conjunts are in the unsatisfiable core [2022-07-22 01:29:30,859 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:30,886 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 26 proven. 1 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-07-22 01:29:30,887 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:30,945 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 16 proven. 4 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-07-22 01:29:30,945 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:30,945 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1027356990] [2022-07-22 01:29:30,946 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:30,946 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1166050733] [2022-07-22 01:29:30,946 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1166050733] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:30,946 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:30,946 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-07-22 01:29:30,947 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1653043519] [2022-07-22 01:29:30,947 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:30,947 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:29:30,947 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:30,948 INFO L85 PathProgramCache]: Analyzing trace with hash 29980, now seen corresponding path program 2 times [2022-07-22 01:29:30,948 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:30,948 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [171131255] [2022-07-22 01:29:30,948 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:30,948 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:30,950 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:30,950 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:30,951 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:30,952 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:30,976 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 01:29:30,976 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 01:29:30,977 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 01:29:30,977 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 01:29:30,977 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-22 01:29:30,977 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:30,977 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 01:29:30,977 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 01:29:30,977 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration13_Loop [2022-07-22 01:29:30,977 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 01:29:30,978 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 01:29:30,978 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-22 01:29:30,980 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-22 01:29:30,981 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-22 01:29:30,986 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-22 01:29:31,005 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 01:29:31,006 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-22 01:29:31,006 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:31,006 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:31,008 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-22 01:29:31,016 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:31,016 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:31,025 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-22 01:29:31,030 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:31,030 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-22 01:29:31,045 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-22 01:29:31,045 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:31,046 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:31,047 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-22 01:29:31,047 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-22 01:29:31,048 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:31,048 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:31,055 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:31,055 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {fact_~n=0} Honda state: {fact_~n=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2022-07-22 01:29:31,070 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-22 01:29:31,070 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:31,070 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:31,071 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-22 01:29:31,072 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-22 01:29:31,073 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:31,074 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:31,094 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (86)] Ended with exit code 0 [2022-07-22 01:29:31,095 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:31,095 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:31,096 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-22 01:29:31,096 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-22 01:29:31,098 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-22 01:29:31,098 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:31,123 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-22 01:29:31,125 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (87)] Ended with exit code 0 [2022-07-22 01:29:31,125 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 01:29:31,125 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 01:29:31,126 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 01:29:31,126 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 01:29:31,126 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-22 01:29:31,126 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:31,126 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 01:29:31,126 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 01:29:31,126 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration13_Loop [2022-07-22 01:29:31,126 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 01:29:31,126 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 01:29:31,126 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-22 01:29:31,128 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-22 01:29:31,129 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-22 01:29:31,134 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-22 01:29:31,155 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 01:29:31,155 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-22 01:29:31,155 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:31,155 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:31,156 INFO L229 MonitoredProcess]: Starting monitored process 88 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-22 01:29:31,157 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (88)] Waiting until timeout for monitored process [2022-07-22 01:29:31,158 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-22 01:29:31,164 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:31,164 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:31,164 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:31,164 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:31,164 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:31,165 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:31,165 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:31,183 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:31,198 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (88)] Ended with exit code 0 [2022-07-22 01:29:31,198 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:31,199 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:31,200 INFO L229 MonitoredProcess]: Starting monitored process 89 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-22 01:29:31,200 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (89)] Waiting until timeout for monitored process [2022-07-22 01:29:31,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-22 01:29:31,207 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:31,207 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:31,207 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:31,207 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:31,207 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:31,207 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:31,207 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:31,208 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:31,223 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (89)] Ended with exit code 0 [2022-07-22 01:29:31,224 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:31,224 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:31,225 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-22 01:29:31,228 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-22 01:29:31,228 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-22 01:29:31,234 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:31,234 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:31,234 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:31,234 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:31,234 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:31,235 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:31,235 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:31,236 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-22 01:29:31,238 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2022-07-22 01:29:31,238 INFO L444 ModelExtractionUtils]: 0 out of 3 variables were initially zero. Simplification set additionally 1 variables to zero. [2022-07-22 01:29:31,238 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:31,238 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:31,240 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-22 01:29:31,240 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-22 01:29:31,241 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-22 01:29:31,241 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-22 01:29:31,241 INFO L513 LassoAnalysis]: Proved termination. [2022-07-22 01:29:31,241 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(fact_#in~n) = 1*fact_#in~n Supporting invariants [] [2022-07-22 01:29:31,257 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (90)] Ended with exit code 0 [2022-07-22 01:29:31,257 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-22 01:29:31,273 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:31,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:31,320 INFO L263 TraceCheckSpWp]: Trace formula consists of 267 conjuncts, 14 conjunts are in the unsatisfiable core [2022-07-22 01:29:31,321 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:31,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:31,461 INFO L263 TraceCheckSpWp]: Trace formula consists of 37 conjuncts, 7 conjunts are in the unsatisfiable core [2022-07-22 01:29:31,461 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:31,481 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-22 01:29:31,481 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-22 01:29:31,482 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1534 states and 2244 transitions. cyclomatic complexity: 742 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, (7), 3 states have call predecessors, (7), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-07-22 01:29:31,569 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1534 states and 2244 transitions. cyclomatic complexity: 742. 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, (7), 3 states have call predecessors, (7), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Result 1599 states and 2323 transitions. Complement of second has 13 states. [2022-07-22 01:29:31,570 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-22 01:29:31,570 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, (7), 3 states have call predecessors, (7), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-07-22 01:29:31,570 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 32 transitions. [2022-07-22 01:29:31,571 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 32 transitions. Stem has 37 letters. Loop has 3 letters. [2022-07-22 01:29:31,571 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:31,571 INFO L577 RefineBuchi]: Bad chosen interpolant automaton: word not accepted [2022-07-22 01:29:31,580 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:31,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:31,615 INFO L263 TraceCheckSpWp]: Trace formula consists of 267 conjuncts, 14 conjunts are in the unsatisfiable core [2022-07-22 01:29:31,616 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:31,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:31,750 INFO L263 TraceCheckSpWp]: Trace formula consists of 37 conjuncts, 7 conjunts are in the unsatisfiable core [2022-07-22 01:29:31,750 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:31,771 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-22 01:29:31,772 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-22 01:29:31,772 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1534 states and 2244 transitions. cyclomatic complexity: 742 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, (7), 3 states have call predecessors, (7), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-07-22 01:29:31,877 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (91)] Forceful destruction successful, exit code 0 [2022-07-22 01:29:31,896 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1534 states and 2244 transitions. cyclomatic complexity: 742. 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, (7), 3 states have call predecessors, (7), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Result 1599 states and 2323 transitions. Complement of second has 13 states. [2022-07-22 01:29:31,897 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-22 01:29:31,898 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, (7), 3 states have call predecessors, (7), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-07-22 01:29:31,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 32 transitions. [2022-07-22 01:29:31,899 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 32 transitions. Stem has 37 letters. Loop has 3 letters. [2022-07-22 01:29:31,899 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:31,899 INFO L577 RefineBuchi]: Bad chosen interpolant automaton: word not accepted [2022-07-22 01:29:31,910 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:31,947 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:31,949 INFO L263 TraceCheckSpWp]: Trace formula consists of 267 conjuncts, 14 conjunts are in the unsatisfiable core [2022-07-22 01:29:31,950 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:32,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:32,108 INFO L263 TraceCheckSpWp]: Trace formula consists of 37 conjuncts, 7 conjunts are in the unsatisfiable core [2022-07-22 01:29:32,109 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:32,132 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-22 01:29:32,132 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-22 01:29:32,132 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1534 states and 2244 transitions. cyclomatic complexity: 742 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, (7), 3 states have call predecessors, (7), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-07-22 01:29:32,226 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1534 states and 2244 transitions. cyclomatic complexity: 742. 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, (7), 3 states have call predecessors, (7), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Result 1794 states and 2565 transitions. Complement of second has 16 states. [2022-07-22 01:29:32,227 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-22 01:29:32,228 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, (7), 3 states have call predecessors, (7), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-07-22 01:29:32,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 40 transitions. [2022-07-22 01:29:32,228 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 40 transitions. Stem has 37 letters. Loop has 3 letters. [2022-07-22 01:29:32,228 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:32,228 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 40 transitions. Stem has 40 letters. Loop has 3 letters. [2022-07-22 01:29:32,229 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:32,229 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 5 states and 40 transitions. Stem has 37 letters. Loop has 6 letters. [2022-07-22 01:29:32,229 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:32,229 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1794 states and 2565 transitions. [2022-07-22 01:29:32,240 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 107 [2022-07-22 01:29:32,250 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1794 states to 1336 states and 1974 transitions. [2022-07-22 01:29:32,250 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 274 [2022-07-22 01:29:32,251 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 277 [2022-07-22 01:29:32,251 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1336 states and 1974 transitions. [2022-07-22 01:29:32,251 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:32,251 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1336 states and 1974 transitions. [2022-07-22 01:29:32,251 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1336 states and 1974 transitions. [2022-07-22 01:29:32,277 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1336 to 1269. [2022-07-22 01:29:32,291 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1269 states, 813 states have (on average 1.137761377613776) internal successors, (925), 789 states have internal predecessors, (925), 304 states have call successors, (304), 168 states have call predecessors, (304), 152 states have return successors, (628), 311 states have call predecessors, (628), 304 states have call successors, (628) [2022-07-22 01:29:32,296 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1269 states to 1269 states and 1857 transitions. [2022-07-22 01:29:32,296 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1269 states and 1857 transitions. [2022-07-22 01:29:32,296 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:32,296 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-07-22 01:29:32,297 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-07-22 01:29:32,297 INFO L87 Difference]: Start difference. First operand 1269 states and 1857 transitions. Second operand has 7 states, 6 states have (on average 4.166666666666667) internal successors, (25), 7 states have internal predecessors, (25), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-07-22 01:29:32,410 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:32,411 INFO L93 Difference]: Finished difference Result 1369 states and 2013 transitions. [2022-07-22 01:29:32,411 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-07-22 01:29:32,412 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1369 states and 2013 transitions. [2022-07-22 01:29:32,444 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 119 [2022-07-22 01:29:32,454 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1369 states to 1369 states and 2013 transitions. [2022-07-22 01:29:32,454 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 300 [2022-07-22 01:29:32,455 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 300 [2022-07-22 01:29:32,455 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1369 states and 2013 transitions. [2022-07-22 01:29:32,455 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:32,455 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1369 states and 2013 transitions. [2022-07-22 01:29:32,456 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1369 states and 2013 transitions. [2022-07-22 01:29:32,479 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1369 to 1296. [2022-07-22 01:29:32,481 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1296 states, 821 states have (on average 1.1364190012180269) internal successors, (933), 803 states have internal predecessors, (933), 323 states have call successors, (323), 168 states have call predecessors, (323), 152 states have return successors, (654), 324 states have call predecessors, (654), 323 states have call successors, (654) [2022-07-22 01:29:32,485 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1296 states to 1296 states and 1910 transitions. [2022-07-22 01:29:32,485 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1296 states and 1910 transitions. [2022-07-22 01:29:32,485 INFO L374 stractBuchiCegarLoop]: Abstraction has 1296 states and 1910 transitions. [2022-07-22 01:29:32,485 INFO L287 stractBuchiCegarLoop]: ======== Iteration 14 ============ [2022-07-22 01:29:32,486 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1296 states and 1910 transitions. [2022-07-22 01:29:32,490 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 112 [2022-07-22 01:29:32,490 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:32,490 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:32,492 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [7, 7, 6, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:29:32,492 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [24, 24, 15, 15, 15, 15, 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-22 01:29:32,493 INFO L752 eck$LassoCheckResult]: Stem: 47045#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 47013#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; 47014#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 47044#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; 47029#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 47030#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 47591#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; 47587#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 47589#factENTRY ~n := #in~n; 47598#L25 assume ~n <= 0;#res := 1; 47595#factFINAL assume true; 47586#factEXIT >#68#return; 47563#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 47565#factENTRY ~n := #in~n; 47581#L25 assume ~n <= 0;#res := 1; 47582#factFINAL assume true; 47732#factEXIT >#70#return; 47733#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 47734#factENTRY ~n := #in~n; 47735#L25 assume ~n <= 0;#res := 1; 47582#factFINAL assume true; 47732#factEXIT >#72#return; 47729#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; 47726#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 47724#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 47652#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 47596#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; 47307#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 47372#factENTRY ~n := #in~n; 47678#L25 assume ~n <= 0;#res := 1; 47677#factFINAL assume true; 47676#factEXIT >#74#return; 47414#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 47415#factENTRY ~n := #in~n; 47681#L25 assume ~n <= 0;#res := 1; 47679#factFINAL assume true; 47413#factEXIT >#76#return; 47314#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 47377#factENTRY ~n := #in~n; 47412#L25 assume !(~n <= 0); 47406#L26 call #t~ret0 := fact(~n - 1);< 47409#factENTRY ~n := #in~n; 47474#L25 assume ~n <= 0;#res := 1; 47472#factFINAL assume true; 47405#factEXIT >#66#return; 47400#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 47376#factFINAL assume true; 47312#factEXIT >#78#return; 47316#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; 47299#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 47300#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 47293#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 47291#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 47289#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 47194#L42-3 [2022-07-22 01:29:32,493 INFO L754 eck$LassoCheckResult]: Loop: 47194#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 47193#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; 47172#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 47181#factENTRY ~n := #in~n; 47195#L25 assume !(~n <= 0); 47098#L26 call #t~ret0 := fact(~n - 1);< 47149#factENTRY ~n := #in~n; 47119#L25 assume !(~n <= 0); 47097#L26 call #t~ret0 := fact(~n - 1);< 47118#factENTRY ~n := #in~n; 47123#L25 assume ~n <= 0;#res := 1; 47127#factFINAL assume true; 47126#factEXIT >#66#return; 47125#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 47124#factFINAL assume true; 47120#factEXIT >#66#return; 47111#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 47191#factFINAL assume true; 47186#factEXIT >#68#return; 47169#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 47181#factENTRY ~n := #in~n; 47195#L25 assume ~n <= 0;#res := 1; 47180#factFINAL assume true; 47160#factEXIT >#70#return; 47173#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 47190#factENTRY ~n := #in~n; 47197#L25 assume !(~n <= 0); 47099#L26 call #t~ret0 := fact(~n - 1);< 47115#factENTRY ~n := #in~n; 47119#L25 assume !(~n <= 0); 47097#L26 call #t~ret0 := fact(~n - 1);< 47118#factENTRY ~n := #in~n; 47123#L25 assume ~n <= 0;#res := 1; 47127#factFINAL assume true; 47126#factEXIT >#66#return; 47125#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 47124#factFINAL assume true; 47120#factEXIT >#66#return; 47111#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 47191#factFINAL assume true; 47186#factEXIT >#72#return; 47187#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; 47201#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 47199#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 47185#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 47184#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; 47091#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 47181#factENTRY ~n := #in~n; 47195#L25 assume !(~n <= 0); 47098#L26 call #t~ret0 := fact(~n - 1);< 47149#factENTRY ~n := #in~n; 47119#L25 assume !(~n <= 0); 47097#L26 call #t~ret0 := fact(~n - 1);< 47118#factENTRY ~n := #in~n; 47123#L25 assume ~n <= 0;#res := 1; 47127#factFINAL assume true; 47126#factEXIT >#66#return; 47125#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 47124#factFINAL assume true; 47120#factEXIT >#66#return; 47111#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 47191#factFINAL assume true; 47186#factEXIT >#68#return; 47168#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 47181#factENTRY ~n := #in~n; 47195#L25 assume !(~n <= 0); 47098#L26 call #t~ret0 := fact(~n - 1);< 47149#factENTRY ~n := #in~n; 47119#L25 assume !(~n <= 0); 47097#L26 call #t~ret0 := fact(~n - 1);< 47118#factENTRY ~n := #in~n; 47123#L25 assume ~n <= 0;#res := 1; 47127#factFINAL assume true; 47126#factEXIT >#66#return; 47125#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 47124#factFINAL assume true; 47120#factEXIT >#66#return; 47111#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 47191#factFINAL assume true; 47186#factEXIT >#70#return; 47166#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 47181#factENTRY ~n := #in~n; 47195#L25 assume ~n <= 0;#res := 1; 47180#factFINAL assume true; 47160#factEXIT >#72#return; 47158#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; 47159#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 47131#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 47132#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 47090#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; 47078#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 47085#factENTRY ~n := #in~n; 47088#L25 assume !(~n <= 0); 47089#L26 call #t~ret0 := fact(~n - 1);< 47149#factENTRY ~n := #in~n; 47119#L25 assume !(~n <= 0); 47097#L26 call #t~ret0 := fact(~n - 1);< 47118#factENTRY ~n := #in~n; 47119#L25 assume !(~n <= 0); 47097#L26 call #t~ret0 := fact(~n - 1);< 47118#factENTRY ~n := #in~n; 47123#L25 assume ~n <= 0;#res := 1; 47127#factFINAL assume true; 47126#factEXIT >#66#return; 47125#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 47124#factFINAL assume true; 47120#factEXIT >#66#return; 47110#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 47116#factFINAL assume true; 47094#factEXIT >#66#return; 47093#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 47092#factFINAL assume true; 47087#factEXIT >#74#return; 47079#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 47085#factENTRY ~n := #in~n; 47088#L25 assume !(~n <= 0); 47089#L26 call #t~ret0 := fact(~n - 1);< 47149#factENTRY ~n := #in~n; 47119#L25 assume !(~n <= 0); 47097#L26 call #t~ret0 := fact(~n - 1);< 47118#factENTRY ~n := #in~n; 47123#L25 assume ~n <= 0;#res := 1; 47127#factFINAL assume true; 47126#factEXIT >#66#return; 47125#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 47124#factFINAL assume true; 47120#factEXIT >#66#return; 47122#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 47157#factFINAL assume true; 47155#factEXIT >#76#return; 47080#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 47082#factENTRY ~n := #in~n; 47129#L25 assume !(~n <= 0); 47089#L26 call #t~ret0 := fact(~n - 1);< 47149#factENTRY ~n := #in~n; 47119#L25 assume !(~n <= 0); 47097#L26 call #t~ret0 := fact(~n - 1);< 47118#factENTRY ~n := #in~n; 47123#L25 assume ~n <= 0;#res := 1; 47127#factFINAL assume true; 47126#factEXIT >#66#return; 47125#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 47124#factFINAL assume true; 47120#factEXIT >#66#return; 47122#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 47157#factFINAL assume true; 47155#factEXIT >#78#return; 47076#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; 47075#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 47074#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 47072#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 47040#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 47041#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 47194#L42-3 [2022-07-22 01:29:32,494 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:32,494 INFO L85 PathProgramCache]: Analyzing trace with hash 1078509977, now seen corresponding path program 1 times [2022-07-22 01:29:32,494 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:32,494 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [202885514] [2022-07-22 01:29:32,494 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:32,494 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:32,499 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:32,500 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [14558140] [2022-07-22 01:29:32,500 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:32,500 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:32,500 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:32,504 INFO L229 MonitoredProcess]: Starting monitored process 92 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:29:32,523 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (92)] Waiting until timeout for monitored process [2022-07-22 01:29:32,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:32,554 INFO L263 TraceCheckSpWp]: Trace formula consists of 135 conjuncts, 7 conjunts are in the unsatisfiable core [2022-07-22 01:29:32,555 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:32,594 INFO L134 CoverageAnalysis]: Checked inductivity of 90 backedges. 63 proven. 0 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-07-22 01:29:32,594 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-07-22 01:29:32,594 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:32,595 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [202885514] [2022-07-22 01:29:32,595 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:32,595 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [14558140] [2022-07-22 01:29:32,595 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [14558140] provided 1 perfect and 0 imperfect interpolant sequences [2022-07-22 01:29:32,595 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-07-22 01:29:32,595 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-07-22 01:29:32,595 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1445581313] [2022-07-22 01:29:32,596 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-07-22 01:29:32,596 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:29:32,596 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:32,596 INFO L85 PathProgramCache]: Analyzing trace with hash -1384434917, now seen corresponding path program 4 times [2022-07-22 01:29:32,596 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:32,597 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [850562508] [2022-07-22 01:29:32,597 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:32,597 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:32,607 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:32,609 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1798588594] [2022-07-22 01:29:32,609 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-22 01:29:32,609 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:32,609 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:32,610 INFO L229 MonitoredProcess]: Starting monitored process 93 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:29:32,611 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (93)] Waiting until timeout for monitored process [2022-07-22 01:29:32,680 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-22 01:29:32,681 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:29:32,682 INFO L263 TraceCheckSpWp]: Trace formula consists of 341 conjuncts, 13 conjunts are in the unsatisfiable core [2022-07-22 01:29:32,684 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:32,773 INFO L134 CoverageAnalysis]: Checked inductivity of 1331 backedges. 791 proven. 32 refuted. 0 times theorem prover too weak. 508 trivial. 0 not checked. [2022-07-22 01:29:32,773 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:33,047 INFO L134 CoverageAnalysis]: Checked inductivity of 1331 backedges. 107 proven. 160 refuted. 0 times theorem prover too weak. 1064 trivial. 0 not checked. [2022-07-22 01:29:33,047 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:33,047 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [850562508] [2022-07-22 01:29:33,047 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:33,047 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1798588594] [2022-07-22 01:29:33,048 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1798588594] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:33,048 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:33,048 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 12] total 15 [2022-07-22 01:29:33,048 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [487931490] [2022-07-22 01:29:33,048 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:33,049 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:29:33,049 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:33,049 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-07-22 01:29:33,049 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2022-07-22 01:29:33,050 INFO L87 Difference]: Start difference. First operand 1296 states and 1910 transitions. cyclomatic complexity: 635 Second operand has 7 states, 6 states have (on average 4.833333333333333) internal successors, (29), 7 states have internal predecessors, (29), 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-22 01:29:33,187 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:33,187 INFO L93 Difference]: Finished difference Result 1295 states and 1862 transitions. [2022-07-22 01:29:33,188 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-07-22 01:29:33,188 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1295 states and 1862 transitions. [2022-07-22 01:29:33,195 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 116 [2022-07-22 01:29:33,205 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1295 states to 1261 states and 1825 transitions. [2022-07-22 01:29:33,205 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 297 [2022-07-22 01:29:33,205 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 297 [2022-07-22 01:29:33,206 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1261 states and 1825 transitions. [2022-07-22 01:29:33,206 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:33,206 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1261 states and 1825 transitions. [2022-07-22 01:29:33,206 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1261 states and 1825 transitions. [2022-07-22 01:29:33,224 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1261 to 1143. [2022-07-22 01:29:33,225 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1143 states, 732 states have (on average 1.1311475409836065) internal successors, (828), 715 states have internal predecessors, (828), 279 states have call successors, (279), 142 states have call predecessors, (279), 132 states have return successors, (554), 285 states have call predecessors, (554), 279 states have call successors, (554) [2022-07-22 01:29:33,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1143 states to 1143 states and 1661 transitions. [2022-07-22 01:29:33,229 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1143 states and 1661 transitions. [2022-07-22 01:29:33,229 INFO L374 stractBuchiCegarLoop]: Abstraction has 1143 states and 1661 transitions. [2022-07-22 01:29:33,230 INFO L287 stractBuchiCegarLoop]: ======== Iteration 15 ============ [2022-07-22 01:29:33,230 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1143 states and 1661 transitions. [2022-07-22 01:29:33,233 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 92 [2022-07-22 01:29:33,233 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:33,233 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:33,237 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-22 01:29:33,237 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [23, 23, 14, 14, 14, 14, 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-22 01:29:33,237 INFO L752 eck$LassoCheckResult]: Stem: 50721#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 50692#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; 50693#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 50720#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; 50707#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 50708#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 51154#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; 51152#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 51153#factENTRY ~n := #in~n; 51157#L25 assume ~n <= 0;#res := 1; 51156#factFINAL assume true; 51151#factEXIT >#68#return; 51148#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 51150#factENTRY ~n := #in~n; 51159#L25 assume ~n <= 0;#res := 1; 51158#factFINAL assume true; 51147#factEXIT >#70#return; 51149#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 51150#factENTRY ~n := #in~n; 51159#L25 assume ~n <= 0;#res := 1; 51158#factFINAL assume true; 51147#factEXIT >#72#return; 51146#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; 51145#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 51142#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 51140#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 51139#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; 51004#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 51034#factENTRY ~n := #in~n; 51095#L25 assume !(~n <= 0); 51012#L26 call #t~ret0 := fact(~n - 1);< 51094#factENTRY ~n := #in~n; 51122#L25 assume ~n <= 0;#res := 1; 51120#factFINAL assume true; 51092#factEXIT >#66#return; 51077#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 51051#factFINAL assume true; 51020#factEXIT >#74#return; 51021#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 51036#factENTRY ~n := #in~n; 51143#L25 assume ~n <= 0;#res := 1; 51141#factFINAL assume true; 51035#factEXIT >#76#return; 50994#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 51031#factENTRY ~n := #in~n; 51124#L25 assume !(~n <= 0); 51013#L26 call #t~ret0 := fact(~n - 1);< 51094#factENTRY ~n := #in~n; 51122#L25 assume ~n <= 0;#res := 1; 51120#factFINAL assume true; 51092#factEXIT >#66#return; 51093#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 50991#factFINAL assume true; 50995#factEXIT >#78#return; 51028#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; 50951#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 50952#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 50945#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 50943#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 50939#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 50842#L42-3 [2022-07-22 01:29:33,237 INFO L754 eck$LassoCheckResult]: Loop: 50842#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 50841#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; 50822#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 50838#factENTRY ~n := #in~n; 50863#L25 assume !(~n <= 0); 50775#L26 call #t~ret0 := fact(~n - 1);< 50813#factENTRY ~n := #in~n; 50815#L25 assume ~n <= 0;#res := 1; 50814#factFINAL assume true; 50805#factEXIT >#66#return; 50809#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 50857#factFINAL assume true; 50858#factEXIT >#68#return; 50825#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 50847#factENTRY ~n := #in~n; 50864#L25 assume ~n <= 0;#res := 1; 50839#factFINAL assume true; 50821#factEXIT >#70#return; 50837#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 50861#factENTRY ~n := #in~n; 50862#L25 assume !(~n <= 0); 50775#L26 call #t~ret0 := fact(~n - 1);< 50813#factENTRY ~n := #in~n; 50786#L25 assume !(~n <= 0); 50773#L26 call #t~ret0 := fact(~n - 1);< 50785#factENTRY ~n := #in~n; 50790#L25 assume ~n <= 0;#res := 1; 50794#factFINAL assume true; 50793#factEXIT >#66#return; 50792#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 50791#factFINAL assume true; 50787#factEXIT >#66#return; 50780#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 50860#factFINAL assume true; 50854#factEXIT >#72#return; 50855#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; 50868#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 50866#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 50856#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 50848#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; 50764#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 50838#factENTRY ~n := #in~n; 50863#L25 assume !(~n <= 0); 50775#L26 call #t~ret0 := fact(~n - 1);< 50813#factENTRY ~n := #in~n; 50786#L25 assume !(~n <= 0); 50773#L26 call #t~ret0 := fact(~n - 1);< 50785#factENTRY ~n := #in~n; 50790#L25 assume ~n <= 0;#res := 1; 50794#factFINAL assume true; 50793#factEXIT >#66#return; 50792#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 50791#factFINAL assume true; 50787#factEXIT >#66#return; 50780#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 50860#factFINAL assume true; 50854#factEXIT >#68#return; 50826#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 50838#factENTRY ~n := #in~n; 50863#L25 assume !(~n <= 0); 50775#L26 call #t~ret0 := fact(~n - 1);< 50813#factENTRY ~n := #in~n; 50786#L25 assume !(~n <= 0); 50773#L26 call #t~ret0 := fact(~n - 1);< 50785#factENTRY ~n := #in~n; 50790#L25 assume ~n <= 0;#res := 1; 50794#factFINAL assume true; 50793#factEXIT >#66#return; 50792#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 50791#factFINAL assume true; 50787#factEXIT >#66#return; 50780#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 50860#factFINAL assume true; 50854#factEXIT >#70#return; 50824#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 50838#factENTRY ~n := #in~n; 50863#L25 assume ~n <= 0;#res := 1; 50839#factFINAL assume true; 50821#factEXIT >#72#return; 50819#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; 50820#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 50798#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 50799#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 50763#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; 50751#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 50757#factENTRY ~n := #in~n; 50760#L25 assume !(~n <= 0); 50761#L26 call #t~ret0 := fact(~n - 1);< 50813#factENTRY ~n := #in~n; 50786#L25 assume !(~n <= 0); 50773#L26 call #t~ret0 := fact(~n - 1);< 50785#factENTRY ~n := #in~n; 50786#L25 assume !(~n <= 0); 50773#L26 call #t~ret0 := fact(~n - 1);< 50785#factENTRY ~n := #in~n; 50790#L25 assume ~n <= 0;#res := 1; 50794#factFINAL assume true; 50793#factEXIT >#66#return; 50792#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 50791#factFINAL assume true; 50787#factEXIT >#66#return; 50781#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 50783#factFINAL assume true; 50766#factEXIT >#66#return; 50765#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 50762#factFINAL assume true; 50759#factEXIT >#74#return; 50752#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 50757#factENTRY ~n := #in~n; 50760#L25 assume !(~n <= 0); 50761#L26 call #t~ret0 := fact(~n - 1);< 50813#factENTRY ~n := #in~n; 50786#L25 assume !(~n <= 0); 50773#L26 call #t~ret0 := fact(~n - 1);< 50785#factENTRY ~n := #in~n; 50790#L25 assume ~n <= 0;#res := 1; 50794#factFINAL assume true; 50793#factEXIT >#66#return; 50792#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 50791#factFINAL assume true; 50787#factEXIT >#66#return; 50788#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 50818#factFINAL assume true; 50816#factEXIT >#76#return; 50753#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 50754#factENTRY ~n := #in~n; 50796#L25 assume !(~n <= 0); 50761#L26 call #t~ret0 := fact(~n - 1);< 50813#factENTRY ~n := #in~n; 50786#L25 assume !(~n <= 0); 50773#L26 call #t~ret0 := fact(~n - 1);< 50785#factENTRY ~n := #in~n; 50790#L25 assume ~n <= 0;#res := 1; 50794#factFINAL assume true; 50793#factEXIT >#66#return; 50792#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 50791#factFINAL assume true; 50787#factEXIT >#66#return; 50788#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 50818#factFINAL assume true; 50816#factEXIT >#78#return; 50749#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; 50748#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 50747#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 50745#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 50716#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 50717#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 50842#L42-3 [2022-07-22 01:29:33,238 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:33,238 INFO L85 PathProgramCache]: Analyzing trace with hash -1978773599, now seen corresponding path program 2 times [2022-07-22 01:29:33,238 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:33,238 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [305803364] [2022-07-22 01:29:33,238 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:33,239 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:33,246 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:33,246 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [347496386] [2022-07-22 01:29:33,246 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 01:29:33,247 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:33,247 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:33,252 INFO L229 MonitoredProcess]: Starting monitored process 94 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:29:33,253 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (94)] Waiting until timeout for monitored process [2022-07-22 01:29:33,305 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 01:29:33,306 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-22 01:29:33,306 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:33,322 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:33,333 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:33,334 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:33,334 INFO L85 PathProgramCache]: Analyzing trace with hash 625155683, now seen corresponding path program 5 times [2022-07-22 01:29:33,334 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:33,334 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1832694497] [2022-07-22 01:29:33,334 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:33,334 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:33,340 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:33,340 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2133573995] [2022-07-22 01:29:33,340 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-22 01:29:33,340 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:33,340 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:33,361 INFO L229 MonitoredProcess]: Starting monitored process 95 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:29:33,362 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (95)] Waiting until timeout for monitored process [2022-07-22 01:29:33,431 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 12 check-sat command(s) [2022-07-22 01:29:33,431 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:29:33,433 INFO L263 TraceCheckSpWp]: Trace formula consists of 296 conjuncts, 15 conjunts are in the unsatisfiable core [2022-07-22 01:29:33,435 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:33,522 INFO L134 CoverageAnalysis]: Checked inductivity of 1211 backedges. 704 proven. 79 refuted. 0 times theorem prover too weak. 428 trivial. 0 not checked. [2022-07-22 01:29:33,522 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:33,841 INFO L134 CoverageAnalysis]: Checked inductivity of 1211 backedges. 78 proven. 255 refuted. 0 times theorem prover too weak. 878 trivial. 0 not checked. [2022-07-22 01:29:33,841 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:33,842 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1832694497] [2022-07-22 01:29:33,842 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:33,842 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2133573995] [2022-07-22 01:29:33,842 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2133573995] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:33,842 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:33,842 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 13] total 16 [2022-07-22 01:29:33,842 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1051836312] [2022-07-22 01:29:33,842 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:33,843 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:29:33,843 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:33,843 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-07-22 01:29:33,844 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=197, Unknown=0, NotChecked=0, Total=240 [2022-07-22 01:29:33,844 INFO L87 Difference]: Start difference. First operand 1143 states and 1661 transitions. cyclomatic complexity: 536 Second operand has 16 states, 13 states have (on average 3.769230769230769) internal successors, (49), 16 states have internal predecessors, (49), 11 states have call successors, (21), 2 states have call predecessors, (21), 6 states have return successors, (21), 7 states have call predecessors, (21), 11 states have call successors, (21) [2022-07-22 01:29:34,360 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:34,361 INFO L93 Difference]: Finished difference Result 1552 states and 2287 transitions. [2022-07-22 01:29:34,361 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-07-22 01:29:34,361 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1552 states and 2287 transitions. [2022-07-22 01:29:34,372 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 153 [2022-07-22 01:29:34,384 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1552 states to 1515 states and 2224 transitions. [2022-07-22 01:29:34,384 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 320 [2022-07-22 01:29:34,384 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 320 [2022-07-22 01:29:34,384 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1515 states and 2224 transitions. [2022-07-22 01:29:34,385 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:34,385 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1515 states and 2224 transitions. [2022-07-22 01:29:34,385 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1515 states and 2224 transitions. [2022-07-22 01:29:34,406 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1515 to 1339. [2022-07-22 01:29:34,407 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1339 states, 869 states have (on average 1.1495972382048332) internal successors, (999), 844 states have internal predecessors, (999), 339 states have call successors, (339), 163 states have call predecessors, (339), 131 states have return successors, (631), 331 states have call predecessors, (631), 339 states have call successors, (631) [2022-07-22 01:29:34,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1339 states to 1339 states and 1969 transitions. [2022-07-22 01:29:34,412 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1339 states and 1969 transitions. [2022-07-22 01:29:34,412 INFO L374 stractBuchiCegarLoop]: Abstraction has 1339 states and 1969 transitions. [2022-07-22 01:29:34,412 INFO L287 stractBuchiCegarLoop]: ======== Iteration 16 ============ [2022-07-22 01:29:34,412 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1339 states and 1969 transitions. [2022-07-22 01:29:34,416 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 129 [2022-07-22 01:29:34,416 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:34,416 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:34,417 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-22 01:29:34,417 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-22 01:29:34,418 INFO L752 eck$LassoCheckResult]: Stem: 54349#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 54320#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; 54321#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 54348#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; 54334#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 54335#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 54836#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; 54833#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 54834#factENTRY ~n := #in~n; 54840#L25 assume ~n <= 0;#res := 1; 54839#factFINAL assume true; 54832#factEXIT >#68#return; 54829#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 54831#factENTRY ~n := #in~n; 54837#L25 assume ~n <= 0;#res := 1; 54835#factFINAL assume true; 54828#factEXIT >#70#return; 54830#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 54831#factENTRY ~n := #in~n; 54837#L25 assume ~n <= 0;#res := 1; 54835#factFINAL assume true; 54828#factEXIT >#72#return; 54827#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; 54826#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 54825#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 54823#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 54821#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; 54641#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 54651#factENTRY ~n := #in~n; 54820#L25 assume !(~n <= 0); 54659#L26 call #t~ret0 := fact(~n - 1);< 54806#factENTRY ~n := #in~n; 54842#L25 assume ~n <= 0;#res := 1; 54841#factFINAL assume true; 54802#factEXIT >#66#return; 54804#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 54817#factFINAL assume true; 54639#factEXIT >#74#return; 54642#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 54697#factENTRY ~n := #in~n; 54754#L25 assume ~n <= 0;#res := 1; 54752#factFINAL assume true; 54723#factEXIT >#76#return; 54715#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 54718#factENTRY ~n := #in~n; 54847#L25 assume !(~n <= 0); 54660#L26 call #t~ret0 := fact(~n - 1);< 54806#factENTRY ~n := #in~n; 54842#L25 assume ~n <= 0;#res := 1; 54841#factFINAL assume true; 54802#factEXIT >#66#return; 54800#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 54728#factFINAL assume true; 54716#factEXIT >#78#return; 54713#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; 54614#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 54615#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 54610#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 54609#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 54605#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 54523#L42-3 [2022-07-22 01:29:34,418 INFO L754 eck$LassoCheckResult]: Loop: 54523#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 54496#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; 54484#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 54494#factENTRY ~n := #in~n; 54518#L25 assume !(~n <= 0); 54412#L26 call #t~ret0 := fact(~n - 1);< 54456#factENTRY ~n := #in~n; 54428#L25 assume !(~n <= 0); 54409#L26 call #t~ret0 := fact(~n - 1);< 54427#factENTRY ~n := #in~n; 54432#L25 assume ~n <= 0;#res := 1; 54436#factFINAL assume true; 54435#factEXIT >#66#return; 54434#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 54433#factFINAL assume true; 54429#factEXIT >#66#return; 54420#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 54505#factFINAL assume true; 54504#factEXIT >#68#return; 54482#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 54494#factENTRY ~n := #in~n; 54518#L25 assume ~n <= 0;#res := 1; 54493#factFINAL assume true; 54471#factEXIT >#70#return; 54486#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 54506#factENTRY ~n := #in~n; 54519#L25 assume !(~n <= 0); 54413#L26 call #t~ret0 := fact(~n - 1);< 54421#factENTRY ~n := #in~n; 54428#L25 assume !(~n <= 0); 54409#L26 call #t~ret0 := fact(~n - 1);< 54427#factENTRY ~n := #in~n; 54432#L25 assume ~n <= 0;#res := 1; 54436#factFINAL assume true; 54435#factEXIT >#66#return; 54434#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 54433#factFINAL assume true; 54429#factEXIT >#66#return; 54420#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 54505#factFINAL assume true; 54504#factEXIT >#72#return; 54500#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; 54527#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 54526#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 54524#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 54507#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; 54472#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 54494#factENTRY ~n := #in~n; 54518#L25 assume !(~n <= 0); 54412#L26 call #t~ret0 := fact(~n - 1);< 54456#factENTRY ~n := #in~n; 54428#L25 assume !(~n <= 0); 54409#L26 call #t~ret0 := fact(~n - 1);< 54427#factENTRY ~n := #in~n; 54432#L25 assume ~n <= 0;#res := 1; 54436#factFINAL assume true; 54435#factEXIT >#66#return; 54434#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 54433#factFINAL assume true; 54429#factEXIT >#66#return; 54420#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 54505#factFINAL assume true; 54504#factEXIT >#68#return; 54478#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 54494#factENTRY ~n := #in~n; 54518#L25 assume !(~n <= 0); 54412#L26 call #t~ret0 := fact(~n - 1);< 54456#factENTRY ~n := #in~n; 54428#L25 assume !(~n <= 0); 54409#L26 call #t~ret0 := fact(~n - 1);< 54427#factENTRY ~n := #in~n; 54432#L25 assume ~n <= 0;#res := 1; 54436#factFINAL assume true; 54435#factEXIT >#66#return; 54434#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 54433#factFINAL assume true; 54429#factEXIT >#66#return; 54420#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 54505#factFINAL assume true; 54504#factEXIT >#70#return; 54481#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 54494#factENTRY ~n := #in~n; 54518#L25 assume ~n <= 0;#res := 1; 54493#factFINAL assume true; 54471#factEXIT >#72#return; 54488#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; 54515#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 54513#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 54511#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 54508#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; 54382#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 54396#factENTRY ~n := #in~n; 54457#L25 assume !(~n <= 0); 54410#L26 call #t~ret0 := fact(~n - 1);< 54456#factENTRY ~n := #in~n; 54428#L25 assume !(~n <= 0); 54409#L26 call #t~ret0 := fact(~n - 1);< 54427#factENTRY ~n := #in~n; 54428#L25 assume !(~n <= 0); 54409#L26 call #t~ret0 := fact(~n - 1);< 54427#factENTRY ~n := #in~n; 54432#L25 assume ~n <= 0;#res := 1; 54436#factFINAL assume true; 54435#factEXIT >#66#return; 54434#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 54433#factFINAL assume true; 54429#factEXIT >#66#return; 54419#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 54424#factFINAL assume true; 54402#factEXIT >#66#return; 54401#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 54400#factFINAL assume true; 54399#factEXIT >#74#return; 54386#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 54396#factENTRY ~n := #in~n; 54457#L25 assume ~n <= 0;#res := 1; 54445#factFINAL assume true; 54442#factEXIT >#76#return; 54387#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 54392#factENTRY ~n := #in~n; 54461#L25 assume !(~n <= 0); 54408#L26 call #t~ret0 := fact(~n - 1);< 54421#factENTRY ~n := #in~n; 54428#L25 assume !(~n <= 0); 54409#L26 call #t~ret0 := fact(~n - 1);< 54427#factENTRY ~n := #in~n; 54432#L25 assume ~n <= 0;#res := 1; 54436#factFINAL assume true; 54435#factEXIT >#66#return; 54434#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 54433#factFINAL assume true; 54429#factEXIT >#66#return; 54431#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 54437#factFINAL assume true; 54381#factEXIT >#78#return; 54380#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; 54379#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 54378#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 54376#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 54338#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 54339#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 54523#L42-3 [2022-07-22 01:29:34,418 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:34,418 INFO L85 PathProgramCache]: Analyzing trace with hash -1978773599, now seen corresponding path program 3 times [2022-07-22 01:29:34,418 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:34,419 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [504348288] [2022-07-22 01:29:34,419 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:34,419 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:34,424 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:34,424 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1631060777] [2022-07-22 01:29:34,424 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 01:29:34,424 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:34,424 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:34,431 INFO L229 MonitoredProcess]: Starting monitored process 96 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:29:34,452 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (96)] Waiting until timeout for monitored process [2022-07-22 01:29:34,488 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 8 check-sat command(s) [2022-07-22 01:29:34,488 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-22 01:29:34,488 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:34,504 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:34,516 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:34,516 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:34,516 INFO L85 PathProgramCache]: Analyzing trace with hash -548467493, now seen corresponding path program 6 times [2022-07-22 01:29:34,516 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:34,516 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [698317346] [2022-07-22 01:29:34,517 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:34,517 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:34,523 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:34,526 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1859721263] [2022-07-22 01:29:34,526 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-22 01:29:34,526 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:34,527 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:34,528 INFO L229 MonitoredProcess]: Starting monitored process 97 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:29:34,529 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (97)] Waiting until timeout for monitored process [2022-07-22 01:29:34,639 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2022-07-22 01:29:34,639 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:29:34,640 INFO L263 TraceCheckSpWp]: Trace formula consists of 296 conjuncts, 11 conjunts are in the unsatisfiable core [2022-07-22 01:29:34,643 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:34,717 INFO L134 CoverageAnalysis]: Checked inductivity of 1097 backedges. 180 proven. 3 refuted. 0 times theorem prover too weak. 914 trivial. 0 not checked. [2022-07-22 01:29:34,717 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:34,932 INFO L134 CoverageAnalysis]: Checked inductivity of 1097 backedges. 180 proven. 4 refuted. 0 times theorem prover too weak. 913 trivial. 0 not checked. [2022-07-22 01:29:34,932 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:34,932 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [698317346] [2022-07-22 01:29:34,932 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:34,932 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1859721263] [2022-07-22 01:29:34,932 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1859721263] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:34,932 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:34,933 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 9] total 10 [2022-07-22 01:29:34,933 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1796307866] [2022-07-22 01:29:34,933 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:34,933 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:29:34,933 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:34,934 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-07-22 01:29:34,934 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-07-22 01:29:34,934 INFO L87 Difference]: Start difference. First operand 1339 states and 1969 transitions. cyclomatic complexity: 649 Second operand has 10 states, 9 states have (on average 3.6666666666666665) internal successors, (33), 10 states have internal predecessors, (33), 6 states have call successors, (13), 1 states have call predecessors, (13), 3 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-07-22 01:29:35,123 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:35,123 INFO L93 Difference]: Finished difference Result 1603 states and 2424 transitions. [2022-07-22 01:29:35,127 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-07-22 01:29:35,128 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1603 states and 2424 transitions. [2022-07-22 01:29:35,138 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 185 [2022-07-22 01:29:35,159 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1603 states to 1579 states and 2376 transitions. [2022-07-22 01:29:35,159 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 332 [2022-07-22 01:29:35,160 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 332 [2022-07-22 01:29:35,160 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1579 states and 2376 transitions. [2022-07-22 01:29:35,160 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:35,160 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1579 states and 2376 transitions. [2022-07-22 01:29:35,161 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1579 states and 2376 transitions. [2022-07-22 01:29:35,184 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1579 to 1435. [2022-07-22 01:29:35,186 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1435 states, 893 states have (on average 1.1657334826427772) internal successors, (1041), 886 states have internal predecessors, (1041), 411 states have call successors, (411), 163 states have call predecessors, (411), 131 states have return successors, (737), 385 states have call predecessors, (737), 411 states have call successors, (737) [2022-07-22 01:29:35,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1435 states to 1435 states and 2189 transitions. [2022-07-22 01:29:35,192 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1435 states and 2189 transitions. [2022-07-22 01:29:35,192 INFO L374 stractBuchiCegarLoop]: Abstraction has 1435 states and 2189 transitions. [2022-07-22 01:29:35,192 INFO L287 stractBuchiCegarLoop]: ======== Iteration 17 ============ [2022-07-22 01:29:35,192 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1435 states and 2189 transitions. [2022-07-22 01:29:35,196 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 156 [2022-07-22 01:29:35,196 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:35,197 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:35,198 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-22 01:29:35,199 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [24, 24, 15, 15, 15, 15, 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-22 01:29:35,199 INFO L752 eck$LassoCheckResult]: Stem: 58158#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 58129#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; 58130#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 58157#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; 58143#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 58144#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 58687#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; 58685#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 58686#factENTRY ~n := #in~n; 58691#L25 assume ~n <= 0;#res := 1; 58689#factFINAL assume true; 58684#factEXIT >#68#return; 58678#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 58679#factENTRY ~n := #in~n; 58688#L25 assume ~n <= 0;#res := 1; 58683#factFINAL assume true; 58676#factEXIT >#70#return; 58677#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 58679#factENTRY ~n := #in~n; 58688#L25 assume ~n <= 0;#res := 1; 58683#factFINAL assume true; 58676#factEXIT >#72#return; 58672#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; 58659#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 58656#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 58655#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 58653#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; 58492#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 58496#factENTRY ~n := #in~n; 58569#L25 assume !(~n <= 0); 58506#L26 call #t~ret0 := fact(~n - 1);< 58617#factENTRY ~n := #in~n; 58567#L25 assume ~n <= 0;#res := 1; 58568#factFINAL assume true; 58512#factEXIT >#66#return; 58515#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 58664#factFINAL assume true; 58642#factEXIT >#74#return; 58593#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 58594#factENTRY ~n := #in~n; 58674#L25 assume ~n <= 0;#res := 1; 58619#factFINAL assume true; 58592#factEXIT >#76#return; 58463#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 58470#factENTRY ~n := #in~n; 58564#L25 assume !(~n <= 0); 58505#L26 call #t~ret0 := fact(~n - 1);< 58617#factENTRY ~n := #in~n; 58567#L25 assume ~n <= 0;#res := 1; 58568#factFINAL assume true; 58512#factEXIT >#66#return; 58502#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 58471#factFINAL assume true; 58462#factEXIT >#78#return; 58468#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; 58781#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 58721#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 58439#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 58437#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 58435#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 58333#L42-3 [2022-07-22 01:29:35,199 INFO L754 eck$LassoCheckResult]: Loop: 58333#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 58308#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; 58294#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 58303#factENTRY ~n := #in~n; 58319#L25 assume !(~n <= 0); 58211#L26 call #t~ret0 := fact(~n - 1);< 58236#factENTRY ~n := #in~n; 58233#L25 assume !(~n <= 0); 58226#L26 call #t~ret0 := fact(~n - 1);< 58232#factENTRY ~n := #in~n; 58235#L25 assume ~n <= 0;#res := 1; 58268#factFINAL assume true; 58264#factEXIT >#66#return; 58239#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 58224#factFINAL assume true; 58231#factEXIT >#66#return; 58256#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 58313#factFINAL assume true; 58309#factEXIT >#68#return; 58288#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 58303#factENTRY ~n := #in~n; 58319#L25 assume ~n <= 0;#res := 1; 58304#factFINAL assume true; 58282#factEXIT >#70#return; 58297#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 58317#factENTRY ~n := #in~n; 58316#L25 assume !(~n <= 0); 58228#L26 call #t~ret0 := fact(~n - 1);< 58234#factENTRY ~n := #in~n; 58233#L25 assume !(~n <= 0); 58226#L26 call #t~ret0 := fact(~n - 1);< 58232#factENTRY ~n := #in~n; 58235#L25 assume ~n <= 0;#res := 1; 58268#factFINAL assume true; 58264#factEXIT >#66#return; 58239#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 58224#factFINAL assume true; 58231#factEXIT >#66#return; 58256#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 58313#factFINAL assume true; 58309#factEXIT >#72#return; 58312#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; 58323#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 58321#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 58318#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 58315#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; 58291#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 58303#factENTRY ~n := #in~n; 58319#L25 assume !(~n <= 0); 58211#L26 call #t~ret0 := fact(~n - 1);< 58236#factENTRY ~n := #in~n; 58233#L25 assume !(~n <= 0); 58226#L26 call #t~ret0 := fact(~n - 1);< 58232#factENTRY ~n := #in~n; 58235#L25 assume ~n <= 0;#res := 1; 58268#factFINAL assume true; 58264#factEXIT >#66#return; 58239#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 58224#factFINAL assume true; 58231#factEXIT >#66#return; 58256#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 58313#factFINAL assume true; 58309#factEXIT >#68#return; 58292#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 58303#factENTRY ~n := #in~n; 58319#L25 assume !(~n <= 0); 58211#L26 call #t~ret0 := fact(~n - 1);< 58236#factENTRY ~n := #in~n; 58233#L25 assume !(~n <= 0); 58226#L26 call #t~ret0 := fact(~n - 1);< 58232#factENTRY ~n := #in~n; 58235#L25 assume ~n <= 0;#res := 1; 58268#factFINAL assume true; 58264#factEXIT >#66#return; 58239#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 58224#factFINAL assume true; 58231#factEXIT >#66#return; 58256#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 58313#factFINAL assume true; 58309#factEXIT >#70#return; 58285#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 58303#factENTRY ~n := #in~n; 58319#L25 assume ~n <= 0;#res := 1; 58304#factFINAL assume true; 58282#factEXIT >#72#return; 58298#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; 58276#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 58277#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 58269#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 58270#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; 58188#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 58204#factENTRY ~n := #in~n; 58262#L25 assume !(~n <= 0); 58208#L26 call #t~ret0 := fact(~n - 1);< 58236#factENTRY ~n := #in~n; 58233#L25 assume !(~n <= 0); 58226#L26 call #t~ret0 := fact(~n - 1);< 58232#factENTRY ~n := #in~n; 58233#L25 assume !(~n <= 0); 58226#L26 call #t~ret0 := fact(~n - 1);< 58232#factENTRY ~n := #in~n; 58235#L25 assume ~n <= 0;#res := 1; 58268#factFINAL assume true; 58264#factEXIT >#66#return; 58239#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 58224#factFINAL assume true; 58231#factEXIT >#66#return; 58254#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 58258#factFINAL assume true; 58251#factEXIT >#66#return; 58250#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 58249#factFINAL assume true; 58248#factEXIT >#74#return; 58190#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 58204#factENTRY ~n := #in~n; 58262#L25 assume !(~n <= 0); 58208#L26 call #t~ret0 := fact(~n - 1);< 58236#factENTRY ~n := #in~n; 58233#L25 assume !(~n <= 0); 58226#L26 call #t~ret0 := fact(~n - 1);< 58232#factENTRY ~n := #in~n; 58233#L25 assume !(~n <= 0); 58226#L26 call #t~ret0 := fact(~n - 1);< 58232#factENTRY ~n := #in~n; 58235#L25 assume ~n <= 0;#res := 1; 58268#factFINAL assume true; 58264#factEXIT >#66#return; 58239#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 58224#factFINAL assume true; 58231#factEXIT >#66#return; 58254#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 58258#factFINAL assume true; 58251#factEXIT >#66#return; 58250#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 58249#factFINAL assume true; 58248#factEXIT >#76#return; 58193#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 58199#factENTRY ~n := #in~n; 58245#L25 assume !(~n <= 0); 58208#L26 call #t~ret0 := fact(~n - 1);< 58236#factENTRY ~n := #in~n; 58237#L25 assume ~n <= 0;#res := 1; 58238#factFINAL assume true; 58207#factEXIT >#66#return; 58219#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 58200#factFINAL assume true; 58203#factEXIT >#78#return; 58183#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; 58184#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 58179#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 58180#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 58153#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 58154#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 58333#L42-3 [2022-07-22 01:29:35,200 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:35,200 INFO L85 PathProgramCache]: Analyzing trace with hash -1978773599, now seen corresponding path program 4 times [2022-07-22 01:29:35,200 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:35,200 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [648091026] [2022-07-22 01:29:35,200 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:35,200 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:35,214 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:35,214 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1820590311] [2022-07-22 01:29:35,214 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-22 01:29:35,215 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:35,215 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:35,220 INFO L229 MonitoredProcess]: Starting monitored process 98 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:29:35,221 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (98)] Waiting until timeout for monitored process [2022-07-22 01:29:35,270 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-22 01:29:35,271 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-22 01:29:35,271 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:35,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:35,297 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:35,297 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:35,297 INFO L85 PathProgramCache]: Analyzing trace with hash -663740645, now seen corresponding path program 7 times [2022-07-22 01:29:35,297 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:35,297 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [966871870] [2022-07-22 01:29:35,298 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:35,298 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:35,304 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:35,304 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [524743115] [2022-07-22 01:29:35,304 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-22 01:29:35,304 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:35,304 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:35,312 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-22 01:29:35,329 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-22 01:29:35,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:35,382 INFO L263 TraceCheckSpWp]: Trace formula consists of 341 conjuncts, 13 conjunts are in the unsatisfiable core [2022-07-22 01:29:35,384 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:35,465 INFO L134 CoverageAnalysis]: Checked inductivity of 1331 backedges. 791 proven. 32 refuted. 0 times theorem prover too weak. 508 trivial. 0 not checked. [2022-07-22 01:29:35,465 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:35,735 INFO L134 CoverageAnalysis]: Checked inductivity of 1331 backedges. 107 proven. 160 refuted. 0 times theorem prover too weak. 1064 trivial. 0 not checked. [2022-07-22 01:29:35,736 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:35,736 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [966871870] [2022-07-22 01:29:35,736 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:35,736 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [524743115] [2022-07-22 01:29:35,736 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [524743115] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:35,736 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:35,736 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 12] total 15 [2022-07-22 01:29:35,736 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [191418742] [2022-07-22 01:29:35,736 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:35,737 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:29:35,737 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:35,738 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-07-22 01:29:35,738 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=172, Unknown=0, NotChecked=0, Total=210 [2022-07-22 01:29:35,738 INFO L87 Difference]: Start difference. First operand 1435 states and 2189 transitions. cyclomatic complexity: 773 Second operand has 15 states, 12 states have (on average 3.6666666666666665) internal successors, (44), 15 states have internal predecessors, (44), 9 states have call successors, (20), 2 states have call predecessors, (20), 5 states have return successors, (20), 8 states have call predecessors, (20), 9 states have call successors, (20) [2022-07-22 01:29:36,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:36,076 INFO L93 Difference]: Finished difference Result 1867 states and 2814 transitions. [2022-07-22 01:29:36,077 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-07-22 01:29:36,077 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1867 states and 2814 transitions. [2022-07-22 01:29:36,113 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 242 [2022-07-22 01:29:36,135 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1867 states to 1867 states and 2814 transitions. [2022-07-22 01:29:36,136 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 410 [2022-07-22 01:29:36,136 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 410 [2022-07-22 01:29:36,136 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1867 states and 2814 transitions. [2022-07-22 01:29:36,137 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:36,137 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1867 states and 2814 transitions. [2022-07-22 01:29:36,138 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1867 states and 2814 transitions. [2022-07-22 01:29:36,163 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1867 to 1463. [2022-07-22 01:29:36,165 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1463 states, 913 states have (on average 1.16210295728368) internal successors, (1061), 906 states have internal predecessors, (1061), 419 states have call successors, (419), 163 states have call predecessors, (419), 131 states have return successors, (753), 393 states have call predecessors, (753), 419 states have call successors, (753) [2022-07-22 01:29:36,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1463 states to 1463 states and 2233 transitions. [2022-07-22 01:29:36,170 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1463 states and 2233 transitions. [2022-07-22 01:29:36,171 INFO L374 stractBuchiCegarLoop]: Abstraction has 1463 states and 2233 transitions. [2022-07-22 01:29:36,171 INFO L287 stractBuchiCegarLoop]: ======== Iteration 18 ============ [2022-07-22 01:29:36,171 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1463 states and 2233 transitions. [2022-07-22 01:29:36,176 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 163 [2022-07-22 01:29:36,176 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:36,176 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:36,178 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-22 01:29:36,179 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [20, 20, 11, 11, 11, 11, 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-22 01:29:36,179 INFO L752 eck$LassoCheckResult]: Stem: 62394#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 62366#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; 62367#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 62393#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; 62379#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 62380#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 62914#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; 62911#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 62912#factENTRY ~n := #in~n; 62915#L25 assume ~n <= 0;#res := 1; 62913#factFINAL assume true; 62910#factEXIT >#68#return; 62906#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 62907#factENTRY ~n := #in~n; 62909#L25 assume ~n <= 0;#res := 1; 62908#factFINAL assume true; 62904#factEXIT >#70#return; 62905#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 62907#factENTRY ~n := #in~n; 62909#L25 assume ~n <= 0;#res := 1; 62908#factFINAL assume true; 62904#factEXIT >#72#return; 62903#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; 62902#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 62901#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 62900#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 62880#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; 62713#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 62853#factENTRY ~n := #in~n; 62867#L25 assume !(~n <= 0); 62731#L26 call #t~ret0 := fact(~n - 1);< 62865#factENTRY ~n := #in~n; 62878#L25 assume ~n <= 0;#res := 1; 62868#factFINAL assume true; 62862#factEXIT >#66#return; 62861#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 62860#factFINAL assume true; 62857#factEXIT >#74#return; 62858#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 62890#factENTRY ~n := #in~n; 62894#L25 assume ~n <= 0;#res := 1; 62875#factFINAL assume true; 62889#factEXIT >#76#return; 62869#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 62885#factENTRY ~n := #in~n; 62876#L25 assume !(~n <= 0); 62730#L26 call #t~ret0 := fact(~n - 1);< 62865#factENTRY ~n := #in~n; 62878#L25 assume ~n <= 0;#res := 1; 62868#factFINAL assume true; 62862#factEXIT >#66#return; 62864#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 62918#factFINAL assume true; 62917#factEXIT >#78#return; 62892#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; 63006#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 62696#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 62691#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 62689#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 62686#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 62562#L42-3 [2022-07-22 01:29:36,179 INFO L754 eck$LassoCheckResult]: Loop: 62562#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 62545#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; 62520#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 62540#factENTRY ~n := #in~n; 62558#L25 assume !(~n <= 0); 62455#L26 call #t~ret0 := fact(~n - 1);< 62478#factENTRY ~n := #in~n; 62475#L25 assume !(~n <= 0); 62467#L26 call #t~ret0 := fact(~n - 1);< 62474#factENTRY ~n := #in~n; 62477#L25 assume ~n <= 0;#res := 1; 62510#factFINAL assume true; 62506#factEXIT >#66#return; 62481#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 62466#factFINAL assume true; 62473#factEXIT >#66#return; 62497#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 62551#factFINAL assume true; 62546#factEXIT >#68#return; 62529#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 62540#factENTRY ~n := #in~n; 62558#L25 assume ~n <= 0;#res := 1; 62541#factFINAL assume true; 62518#factEXIT >#70#return; 62537#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 62552#factENTRY ~n := #in~n; 62560#L25 assume !(~n <= 0); 62472#L26 call #t~ret0 := fact(~n - 1);< 62476#factENTRY ~n := #in~n; 62475#L25 assume !(~n <= 0); 62467#L26 call #t~ret0 := fact(~n - 1);< 62474#factENTRY ~n := #in~n; 62477#L25 assume ~n <= 0;#res := 1; 62510#factFINAL assume true; 62506#factEXIT >#66#return; 62481#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 62466#factFINAL assume true; 62473#factEXIT >#66#return; 62497#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 62551#factFINAL assume true; 62546#factEXIT >#72#return; 62550#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; 62571#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 62569#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 62567#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 62563#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; 62523#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 62540#factENTRY ~n := #in~n; 62558#L25 assume !(~n <= 0); 62455#L26 call #t~ret0 := fact(~n - 1);< 62478#factENTRY ~n := #in~n; 62479#L25 assume ~n <= 0;#res := 1; 62480#factFINAL assume true; 62450#factEXIT >#66#return; 62464#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 62574#factFINAL assume true; 62573#factEXIT >#68#return; 62521#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 62542#factENTRY ~n := #in~n; 62565#L25 assume !(~n <= 0); 62457#L26 call #t~ret0 := fact(~n - 1);< 62372#factENTRY ~n := #in~n; 62479#L25 assume ~n <= 0;#res := 1; 62480#factFINAL assume true; 62450#factEXIT >#66#return; 62464#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 62574#factFINAL assume true; 62573#factEXIT >#70#return; 62524#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 62543#factENTRY ~n := #in~n; 62544#L25 assume ~n <= 0;#res := 1; 62541#factFINAL assume true; 62518#factEXIT >#72#return; 62536#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; 62580#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 62578#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 62576#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 62507#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; 62427#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 62447#factENTRY ~n := #in~n; 62503#L25 assume !(~n <= 0); 62454#L26 call #t~ret0 := fact(~n - 1);< 62478#factENTRY ~n := #in~n; 62475#L25 assume !(~n <= 0); 62467#L26 call #t~ret0 := fact(~n - 1);< 62474#factENTRY ~n := #in~n; 62475#L25 assume !(~n <= 0); 62467#L26 call #t~ret0 := fact(~n - 1);< 62474#factENTRY ~n := #in~n; 62477#L25 assume ~n <= 0;#res := 1; 62510#factFINAL assume true; 62506#factEXIT >#66#return; 62481#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 62466#factFINAL assume true; 62473#factEXIT >#66#return; 62494#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 62499#factFINAL assume true; 62492#factEXIT >#66#return; 62491#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 62490#factFINAL assume true; 62489#factEXIT >#74#return; 62445#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 62484#factENTRY ~n := #in~n; 62482#L25 assume !(~n <= 0); 62452#L26 call #t~ret0 := fact(~n - 1);< 62372#factENTRY ~n := #in~n; 62479#L25 assume ~n <= 0;#res := 1; 62480#factFINAL assume true; 62450#factEXIT >#66#return; 62463#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 62443#factFINAL assume true; 62446#factEXIT >#76#return; 62437#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 62442#factENTRY ~n := #in~n; 62486#L25 assume !(~n <= 0); 62454#L26 call #t~ret0 := fact(~n - 1);< 62478#factENTRY ~n := #in~n; 62479#L25 assume ~n <= 0;#res := 1; 62480#factFINAL assume true; 62450#factEXIT >#66#return; 62463#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 62443#factFINAL assume true; 62446#factEXIT >#78#return; 62440#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; 62422#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 62423#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 62418#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 62389#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 62390#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 62562#L42-3 [2022-07-22 01:29:36,180 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:36,180 INFO L85 PathProgramCache]: Analyzing trace with hash -1978773599, now seen corresponding path program 5 times [2022-07-22 01:29:36,180 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:36,180 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1046447619] [2022-07-22 01:29:36,180 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:36,180 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:36,187 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:36,187 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1933981661] [2022-07-22 01:29:36,188 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-22 01:29:36,188 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:36,188 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:36,195 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-22 01:29:36,216 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-22 01:29:36,251 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 8 check-sat command(s) [2022-07-22 01:29:36,252 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-22 01:29:36,252 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:36,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:36,285 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:36,285 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:36,285 INFO L85 PathProgramCache]: Analyzing trace with hash 804916507, now seen corresponding path program 8 times [2022-07-22 01:29:36,285 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:36,285 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1682098505] [2022-07-22 01:29:36,285 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:36,286 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:36,291 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:36,291 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [468984495] [2022-07-22 01:29:36,291 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 01:29:36,291 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:36,291 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:36,295 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-22 01:29:36,310 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-22 01:29:36,361 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 01:29:36,361 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:29:36,362 INFO L263 TraceCheckSpWp]: Trace formula consists of 293 conjuncts, 14 conjunts are in the unsatisfiable core [2022-07-22 01:29:36,364 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:36,453 INFO L134 CoverageAnalysis]: Checked inductivity of 887 backedges. 511 proven. 54 refuted. 0 times theorem prover too weak. 322 trivial. 0 not checked. [2022-07-22 01:29:36,453 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:36,726 INFO L134 CoverageAnalysis]: Checked inductivity of 887 backedges. 55 proven. 224 refuted. 0 times theorem prover too weak. 608 trivial. 0 not checked. [2022-07-22 01:29:36,726 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:36,726 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1682098505] [2022-07-22 01:29:36,726 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:36,726 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [468984495] [2022-07-22 01:29:36,726 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [468984495] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:36,727 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:36,727 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 13] total 16 [2022-07-22 01:29:36,727 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [768320629] [2022-07-22 01:29:36,727 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:36,727 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:29:36,727 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:36,728 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-07-22 01:29:36,728 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=197, Unknown=0, NotChecked=0, Total=240 [2022-07-22 01:29:36,728 INFO L87 Difference]: Start difference. First operand 1463 states and 2233 transitions. cyclomatic complexity: 789 Second operand has 16 states, 13 states have (on average 3.769230769230769) internal successors, (49), 16 states have internal predecessors, (49), 11 states have call successors, (22), 2 states have call predecessors, (22), 6 states have return successors, (22), 6 states have call predecessors, (22), 11 states have call successors, (22) [2022-07-22 01:29:37,160 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:37,160 INFO L93 Difference]: Finished difference Result 1655 states and 2490 transitions. [2022-07-22 01:29:37,161 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-07-22 01:29:37,161 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1655 states and 2490 transitions. [2022-07-22 01:29:37,168 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 189 [2022-07-22 01:29:37,177 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1655 states to 1445 states and 2124 transitions. [2022-07-22 01:29:37,177 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 354 [2022-07-22 01:29:37,178 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 354 [2022-07-22 01:29:37,178 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1445 states and 2124 transitions. [2022-07-22 01:29:37,178 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:37,179 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1445 states and 2124 transitions. [2022-07-22 01:29:37,179 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1445 states and 2124 transitions. [2022-07-22 01:29:37,199 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1445 to 1364. [2022-07-22 01:29:37,201 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1364 states, 867 states have (on average 1.1591695501730104) internal successors, (1005), 861 states have internal predecessors, (1005), 367 states have call successors, (367), 161 states have call predecessors, (367), 130 states have return successors, (626), 341 states have call predecessors, (626), 367 states have call successors, (626) [2022-07-22 01:29:37,205 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1364 states to 1364 states and 1998 transitions. [2022-07-22 01:29:37,206 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1364 states and 1998 transitions. [2022-07-22 01:29:37,206 INFO L374 stractBuchiCegarLoop]: Abstraction has 1364 states and 1998 transitions. [2022-07-22 01:29:37,207 INFO L287 stractBuchiCegarLoop]: ======== Iteration 19 ============ [2022-07-22 01:29:37,207 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1364 states and 1998 transitions. [2022-07-22 01:29:37,211 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 182 [2022-07-22 01:29:37,211 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:37,211 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:37,212 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-22 01:29:37,212 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [19, 19, 10, 10, 10, 10, 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-22 01:29:37,212 INFO L752 eck$LassoCheckResult]: Stem: 66319#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 66290#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; 66291#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 66318#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; 66303#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 66304#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 67255#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; 67253#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 67254#factENTRY ~n := #in~n; 67258#L25 assume ~n <= 0;#res := 1; 67257#factFINAL assume true; 67252#factEXIT >#68#return; 66941#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 66942#factENTRY ~n := #in~n; 67432#L25 assume ~n <= 0;#res := 1; 67259#factFINAL assume true; 66939#factEXIT >#70#return; 66940#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 66942#factENTRY ~n := #in~n; 67432#L25 assume ~n <= 0;#res := 1; 67259#factFINAL assume true; 66939#factEXIT >#72#return; 66935#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; 66933#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 66931#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 66927#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 66875#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; 66832#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 67002#factENTRY ~n := #in~n; 66999#L25 assume !(~n <= 0); 66857#L26 call #t~ret0 := fact(~n - 1);< 66928#factENTRY ~n := #in~n; 66925#L25 assume ~n <= 0;#res := 1; 66926#factFINAL assume true; 66867#factEXIT >#66#return; 66870#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 67031#factFINAL assume true; 67027#factEXIT >#74#return; 67028#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 67086#factENTRY ~n := #in~n; 67089#L25 assume ~n <= 0;#res := 1; 66921#factFINAL assume true; 67085#factEXIT >#76#return; 66802#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 66849#factENTRY ~n := #in~n; 67001#L25 assume !(~n <= 0); 66859#L26 call #t~ret0 := fact(~n - 1);< 66928#factENTRY ~n := #in~n; 66925#L25 assume ~n <= 0;#res := 1; 66926#factFINAL assume true; 66867#factEXIT >#66#return; 66871#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 66877#factFINAL assume true; 66801#factEXIT >#78#return; 66807#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; 66795#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 66796#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 66761#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 66757#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 66750#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 66543#L42-3 [2022-07-22 01:29:37,212 INFO L754 eck$LassoCheckResult]: Loop: 66543#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 66507#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; 66454#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 66473#factENTRY ~n := #in~n; 66568#L25 assume !(~n <= 0); 66376#L26 call #t~ret0 := fact(~n - 1);< 66407#factENTRY ~n := #in~n; 66404#L25 assume ~n <= 0;#res := 1; 66405#factFINAL assume true; 66375#factEXIT >#66#return; 66388#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 66481#factFINAL assume true; 66474#factEXIT >#68#return; 66455#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 66480#factENTRY ~n := #in~n; 66498#L25 assume ~n <= 0;#res := 1; 66499#factFINAL assume true; 66452#factEXIT >#70#return; 66467#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 66482#factENTRY ~n := #in~n; 66497#L25 assume !(~n <= 0); 66376#L26 call #t~ret0 := fact(~n - 1);< 66407#factENTRY ~n := #in~n; 66402#L25 assume !(~n <= 0); 66397#L26 call #t~ret0 := fact(~n - 1);< 66401#factENTRY ~n := #in~n; 66403#L25 assume ~n <= 0;#res := 1; 66440#factFINAL assume true; 66439#factEXIT >#66#return; 66406#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 66394#factFINAL assume true; 66400#factEXIT >#66#return; 66420#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 66489#factFINAL assume true; 66483#factEXIT >#72#return; 66479#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; 66506#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 66505#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 66504#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 66503#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; 66462#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 66473#factENTRY ~n := #in~n; 66568#L25 assume !(~n <= 0); 66376#L26 call #t~ret0 := fact(~n - 1);< 66407#factENTRY ~n := #in~n; 66404#L25 assume ~n <= 0;#res := 1; 66405#factFINAL assume true; 66375#factEXIT >#66#return; 66388#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 66481#factFINAL assume true; 66474#factEXIT >#68#return; 66459#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 66480#factENTRY ~n := #in~n; 66498#L25 assume !(~n <= 0); 66380#L26 call #t~ret0 := fact(~n - 1);< 66408#factENTRY ~n := #in~n; 66404#L25 assume ~n <= 0;#res := 1; 66405#factFINAL assume true; 66375#factEXIT >#66#return; 66388#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 66481#factFINAL assume true; 66474#factEXIT >#70#return; 66457#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 66472#factENTRY ~n := #in~n; 66785#L25 assume ~n <= 0;#res := 1; 66499#factFINAL assume true; 66452#factEXIT >#72#return; 66449#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; 66450#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 66443#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 66444#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 66502#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; 66354#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 66373#factENTRY ~n := #in~n; 66424#L25 assume !(~n <= 0); 66385#L26 call #t~ret0 := fact(~n - 1);< 66407#factENTRY ~n := #in~n; 66402#L25 assume !(~n <= 0); 66397#L26 call #t~ret0 := fact(~n - 1);< 66401#factENTRY ~n := #in~n; 66402#L25 assume !(~n <= 0); 66397#L26 call #t~ret0 := fact(~n - 1);< 66401#factENTRY ~n := #in~n; 66403#L25 assume ~n <= 0;#res := 1; 66440#factFINAL assume true; 66439#factEXIT >#66#return; 66406#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 66394#factFINAL assume true; 66400#factEXIT >#66#return; 66421#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 66423#factFINAL assume true; 66417#factEXIT >#66#return; 66416#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 66415#factFINAL assume true; 66413#factEXIT >#74#return; 66371#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 66412#factENTRY ~n := #in~n; 66410#L25 assume !(~n <= 0); 66387#L26 call #t~ret0 := fact(~n - 1);< 66408#factENTRY ~n := #in~n; 66404#L25 assume ~n <= 0;#res := 1; 66405#factFINAL assume true; 66375#factEXIT >#66#return; 66374#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 66369#factFINAL assume true; 66372#factEXIT >#76#return; 66357#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 66368#factENTRY ~n := #in~n; 66409#L25 assume !(~n <= 0); 66385#L26 call #t~ret0 := fact(~n - 1);< 66407#factENTRY ~n := #in~n; 66404#L25 assume ~n <= 0;#res := 1; 66405#factFINAL assume true; 66375#factEXIT >#66#return; 66374#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 66369#factFINAL assume true; 66372#factEXIT >#78#return; 66351#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; 66350#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 66349#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 66347#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 66314#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 66315#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 66543#L42-3 [2022-07-22 01:29:37,213 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:37,213 INFO L85 PathProgramCache]: Analyzing trace with hash -1978773599, now seen corresponding path program 6 times [2022-07-22 01:29:37,213 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:37,213 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [762996017] [2022-07-22 01:29:37,213 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:37,214 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:37,218 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:37,219 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1302961462] [2022-07-22 01:29:37,219 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-22 01:29:37,219 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:37,219 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:37,227 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-22 01:29:37,247 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-22 01:29:37,283 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2022-07-22 01:29:37,284 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-22 01:29:37,284 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:37,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:37,313 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:37,313 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:37,313 INFO L85 PathProgramCache]: Analyzing trace with hash -2029694877, now seen corresponding path program 9 times [2022-07-22 01:29:37,314 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:37,314 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2141129687] [2022-07-22 01:29:37,314 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:37,314 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:37,320 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:37,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [556935033] [2022-07-22 01:29:37,320 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 01:29:37,321 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:37,321 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:37,323 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-22 01:29:37,324 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-22 01:29:37,405 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 8 check-sat command(s) [2022-07-22 01:29:37,406 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:29:37,407 INFO L263 TraceCheckSpWp]: Trace formula consists of 259 conjuncts, 18 conjunts are in the unsatisfiable core [2022-07-22 01:29:37,410 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:37,529 INFO L134 CoverageAnalysis]: Checked inductivity of 791 backedges. 395 proven. 31 refuted. 0 times theorem prover too weak. 365 trivial. 0 not checked. [2022-07-22 01:29:37,529 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:37,962 INFO L134 CoverageAnalysis]: Checked inductivity of 791 backedges. 241 proven. 74 refuted. 0 times theorem prover too weak. 476 trivial. 0 not checked. [2022-07-22 01:29:37,962 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:37,962 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2141129687] [2022-07-22 01:29:37,962 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:37,962 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [556935033] [2022-07-22 01:29:37,963 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [556935033] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:37,963 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:37,963 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 16] total 21 [2022-07-22 01:29:37,963 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [953543336] [2022-07-22 01:29:37,963 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:37,964 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:29:37,964 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:37,964 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-07-22 01:29:37,964 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=356, Unknown=0, NotChecked=0, Total=420 [2022-07-22 01:29:37,965 INFO L87 Difference]: Start difference. First operand 1364 states and 1998 transitions. cyclomatic complexity: 657 Second operand has 21 states, 18 states have (on average 3.2222222222222223) internal successors, (58), 20 states have internal predecessors, (58), 13 states have call successors, (22), 2 states have call predecessors, (22), 7 states have return successors, (23), 9 states have call predecessors, (23), 13 states have call successors, (23) [2022-07-22 01:29:38,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:38,759 INFO L93 Difference]: Finished difference Result 1566 states and 2186 transitions. [2022-07-22 01:29:38,759 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2022-07-22 01:29:38,760 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1566 states and 2186 transitions. [2022-07-22 01:29:38,770 INFO L131 ngComponentsAnalysis]: Automaton has 7 accepting balls. 240 [2022-07-22 01:29:38,782 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1566 states to 1255 states and 1809 transitions. [2022-07-22 01:29:38,782 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 417 [2022-07-22 01:29:38,783 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 417 [2022-07-22 01:29:38,783 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1255 states and 1809 transitions. [2022-07-22 01:29:38,783 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:38,783 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1255 states and 1809 transitions. [2022-07-22 01:29:38,784 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1255 states and 1809 transitions. [2022-07-22 01:29:38,800 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1255 to 890. [2022-07-22 01:29:38,801 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 890 states, 573 states have (on average 1.1361256544502618) internal successors, (651), 563 states have internal predecessors, (651), 229 states have call successors, (229), 109 states have call predecessors, (229), 88 states have return successors, (404), 217 states have call predecessors, (404), 229 states have call successors, (404) [2022-07-22 01:29:38,804 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 890 states to 890 states and 1284 transitions. [2022-07-22 01:29:38,805 INFO L392 hiAutomatonCegarLoop]: Abstraction has 890 states and 1284 transitions. [2022-07-22 01:29:38,805 INFO L374 stractBuchiCegarLoop]: Abstraction has 890 states and 1284 transitions. [2022-07-22 01:29:38,805 INFO L287 stractBuchiCegarLoop]: ======== Iteration 20 ============ [2022-07-22 01:29:38,805 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 890 states and 1284 transitions. [2022-07-22 01:29:38,808 INFO L131 ngComponentsAnalysis]: Automaton has 7 accepting balls. 137 [2022-07-22 01:29:38,808 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:38,808 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:38,809 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [11, 11, 7, 4, 4, 4, 4, 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-22 01:29:38,809 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-22 01:29:38,809 INFO L752 eck$LassoCheckResult]: Stem: 70049#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 70016#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; 70017#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 70048#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; 70033#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 70034#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 70755#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; 70005#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 70006#factENTRY ~n := #in~n; 70746#L25 assume ~n <= 0;#res := 1; 70743#factFINAL assume true; 70739#factEXIT >#68#return; 70063#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 70064#factENTRY ~n := #in~n; 70753#L25 assume ~n <= 0;#res := 1; 70752#factFINAL assume true; 70749#factEXIT >#70#return; 70750#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 70064#factENTRY ~n := #in~n; 70753#L25 assume ~n <= 0;#res := 1; 70752#factFINAL assume true; 70749#factEXIT >#72#return; 70751#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; 70039#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 70040#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 70786#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 70051#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; 70052#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 70788#factENTRY ~n := #in~n; 70808#L25 assume !(~n <= 0); 70797#L26 call #t~ret0 := fact(~n - 1);< 70801#factENTRY ~n := #in~n; 70810#L25 assume ~n <= 0;#res := 1; 70809#factFINAL assume true; 70802#factEXIT >#66#return; 70804#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 70831#factFINAL assume true; 70829#factEXIT >#74#return; 70825#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 70826#factENTRY ~n := #in~n; 70830#L25 assume ~n <= 0;#res := 1; 70828#factFINAL assume true; 70824#factEXIT >#76#return; 70778#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 70791#factENTRY ~n := #in~n; 70820#L25 assume !(~n <= 0); 70803#L26 call #t~ret0 := fact(~n - 1);< 70805#factENTRY ~n := #in~n; 70810#L25 assume ~n <= 0;#res := 1; 70809#factFINAL assume true; 70802#factEXIT >#66#return; 70793#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 70790#factFINAL assume true; 70773#factEXIT >#78#return; 70772#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; 70771#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 70770#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 70327#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 70326#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 70325#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 70228#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 70179#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; 70158#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 70177#factENTRY ~n := #in~n; 70201#L25 assume !(~n <= 0); 70101#L26 call #t~ret0 := fact(~n - 1);< 70139#factENTRY ~n := #in~n; 70147#L25 assume !(~n <= 0); 70097#L26 call #t~ret0 := fact(~n - 1);< 70146#factENTRY ~n := #in~n; 70174#L25 assume ~n <= 0;#res := 1; 70173#factFINAL assume true; 70153#factEXIT >#66#return; 70150#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 70142#factFINAL assume true; 70127#factEXIT >#66#return; 70111#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 70209#factFINAL assume true; 70190#factEXIT >#68#return; 70156#L30-1 [2022-07-22 01:29:38,810 INFO L754 eck$LassoCheckResult]: Loop: 70156#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 70177#factENTRY ~n := #in~n; 70201#L25 assume ~n <= 0;#res := 1; 70176#factFINAL assume true; 70154#factEXIT >#70#return; 70166#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 70197#factENTRY ~n := #in~n; 70212#L25 assume !(~n <= 0); 70102#L26 call #t~ret0 := fact(~n - 1);< 70112#factENTRY ~n := #in~n; 70147#L25 assume !(~n <= 0); 70097#L26 call #t~ret0 := fact(~n - 1);< 70146#factENTRY ~n := #in~n; 70174#L25 assume ~n <= 0;#res := 1; 70173#factFINAL assume true; 70153#factEXIT >#66#return; 70150#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 70142#factFINAL assume true; 70127#factEXIT >#66#return; 70111#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 70209#factFINAL assume true; 70190#factEXIT >#72#return; 70195#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; 70219#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 70218#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 70217#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 70216#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; 70193#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 70197#factENTRY ~n := #in~n; 70212#L25 assume !(~n <= 0); 70102#L26 call #t~ret0 := fact(~n - 1);< 70112#factENTRY ~n := #in~n; 70147#L25 assume !(~n <= 0); 70097#L26 call #t~ret0 := fact(~n - 1);< 70146#factENTRY ~n := #in~n; 70174#L25 assume ~n <= 0;#res := 1; 70173#factFINAL assume true; 70153#factEXIT >#66#return; 70150#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 70142#factFINAL assume true; 70127#factEXIT >#66#return; 70111#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 70209#factFINAL assume true; 70190#factEXIT >#68#return; 70157#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 70177#factENTRY ~n := #in~n; 70201#L25 assume !(~n <= 0); 70101#L26 call #t~ret0 := fact(~n - 1);< 70139#factENTRY ~n := #in~n; 70151#L25 assume ~n <= 0;#res := 1; 70148#factFINAL assume true; 70130#factEXIT >#66#return; 70136#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 70187#factFINAL assume true; 70180#factEXIT >#70#return; 70181#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 70188#factENTRY ~n := #in~n; 70200#L25 assume !(~n <= 0); 70101#L26 call #t~ret0 := fact(~n - 1);< 70139#factENTRY ~n := #in~n; 70151#L25 assume ~n <= 0;#res := 1; 70148#factFINAL assume true; 70130#factEXIT >#66#return; 70136#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 70187#factFINAL assume true; 70180#factEXIT >#72#return; 70185#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; 70037#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 70038#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 70322#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 70198#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; 70192#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 70197#factENTRY ~n := #in~n; 70212#L25 assume !(~n <= 0); 70102#L26 call #t~ret0 := fact(~n - 1);< 70112#factENTRY ~n := #in~n; 70147#L25 assume !(~n <= 0); 70097#L26 call #t~ret0 := fact(~n - 1);< 70146#factENTRY ~n := #in~n; 70174#L25 assume ~n <= 0;#res := 1; 70173#factFINAL assume true; 70153#factEXIT >#66#return; 70150#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 70142#factFINAL assume true; 70127#factEXIT >#66#return; 70111#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 70209#factFINAL assume true; 70190#factEXIT >#68#return; 70160#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 70177#factENTRY ~n := #in~n; 70201#L25 assume !(~n <= 0); 70101#L26 call #t~ret0 := fact(~n - 1);< 70139#factENTRY ~n := #in~n; 70147#L25 assume !(~n <= 0); 70097#L26 call #t~ret0 := fact(~n - 1);< 70146#factENTRY ~n := #in~n; 70174#L25 assume ~n <= 0;#res := 1; 70173#factFINAL assume true; 70153#factEXIT >#66#return; 70150#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 70142#factFINAL assume true; 70127#factEXIT >#66#return; 70111#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 70209#factFINAL assume true; 70190#factEXIT >#70#return; 70159#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 70177#factENTRY ~n := #in~n; 70201#L25 assume ~n <= 0;#res := 1; 70176#factFINAL assume true; 70154#factEXIT >#72#return; 70168#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; 70206#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 70204#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 70203#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 70199#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; 70085#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 70091#factENTRY ~n := #in~n; 70221#L25 assume !(~n <= 0); 70099#L26 call #t~ret0 := fact(~n - 1);< 70112#factENTRY ~n := #in~n; 70147#L25 assume !(~n <= 0); 70097#L26 call #t~ret0 := fact(~n - 1);< 70146#factENTRY ~n := #in~n; 70147#L25 assume !(~n <= 0); 70097#L26 call #t~ret0 := fact(~n - 1);< 70146#factENTRY ~n := #in~n; 70174#L25 assume ~n <= 0;#res := 1; 70173#factFINAL assume true; 70153#factEXIT >#66#return; 70150#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 70142#factFINAL assume true; 70127#factEXIT >#66#return; 70109#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 70222#factFINAL assume true; 70094#factEXIT >#66#return; 70093#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 70092#factFINAL assume true; 70090#factEXIT >#74#return; 70084#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 70091#factENTRY ~n := #in~n; 70221#L25 assume !(~n <= 0); 70099#L26 call #t~ret0 := fact(~n - 1);< 70112#factENTRY ~n := #in~n; 70147#L25 assume !(~n <= 0); 70097#L26 call #t~ret0 := fact(~n - 1);< 70146#factENTRY ~n := #in~n; 70174#L25 assume ~n <= 0;#res := 1; 70173#factFINAL assume true; 70153#factEXIT >#66#return; 70150#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 70142#factFINAL assume true; 70127#factEXIT >#66#return; 70122#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 70083#factFINAL assume true; 70088#factEXIT >#76#return; 70079#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 70082#factENTRY ~n := #in~n; 70152#L25 assume !(~n <= 0); 70132#L26 call #t~ret0 := fact(~n - 1);< 70025#factENTRY ~n := #in~n; 70151#L25 assume ~n <= 0;#res := 1; 70148#factFINAL assume true; 70130#factEXIT >#66#return; 70123#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 70119#factFINAL assume true; 70077#factEXIT >#78#return; 70076#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; 70075#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 70074#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 70072#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 70041#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 70042#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 70318#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 70205#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; 70191#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 70197#factENTRY ~n := #in~n; 70212#L25 assume !(~n <= 0); 70102#L26 call #t~ret0 := fact(~n - 1);< 70112#factENTRY ~n := #in~n; 70147#L25 assume !(~n <= 0); 70097#L26 call #t~ret0 := fact(~n - 1);< 70146#factENTRY ~n := #in~n; 70174#L25 assume ~n <= 0;#res := 1; 70173#factFINAL assume true; 70153#factEXIT >#66#return; 70150#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 70142#factFINAL assume true; 70127#factEXIT >#66#return; 70111#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 70209#factFINAL assume true; 70190#factEXIT >#68#return; 70156#L30-1 [2022-07-22 01:29:38,810 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:38,810 INFO L85 PathProgramCache]: Analyzing trace with hash 2003427327, now seen corresponding path program 7 times [2022-07-22 01:29:38,810 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:38,811 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [657820014] [2022-07-22 01:29:38,811 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:38,811 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:38,818 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:38,818 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2101383487] [2022-07-22 01:29:38,818 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-22 01:29:38,819 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:38,819 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:38,820 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-22 01:29:38,821 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-22 01:29:38,877 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:38,878 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 9 conjunts are in the unsatisfiable core [2022-07-22 01:29:38,879 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:38,936 INFO L134 CoverageAnalysis]: Checked inductivity of 244 backedges. 63 proven. 10 refuted. 0 times theorem prover too weak. 171 trivial. 0 not checked. [2022-07-22 01:29:38,936 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:39,087 INFO L134 CoverageAnalysis]: Checked inductivity of 244 backedges. 63 proven. 11 refuted. 0 times theorem prover too weak. 170 trivial. 0 not checked. [2022-07-22 01:29:39,088 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:39,088 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [657820014] [2022-07-22 01:29:39,088 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:39,088 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2101383487] [2022-07-22 01:29:39,088 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2101383487] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:39,089 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:39,089 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 8] total 9 [2022-07-22 01:29:39,089 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [951881766] [2022-07-22 01:29:39,089 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:39,089 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:29:39,090 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:39,090 INFO L85 PathProgramCache]: Analyzing trace with hash -1435183796, now seen corresponding path program 10 times [2022-07-22 01:29:39,090 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:39,090 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1026908837] [2022-07-22 01:29:39,090 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:39,090 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:39,099 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:39,099 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1553067153] [2022-07-22 01:29:39,099 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-22 01:29:39,099 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:39,100 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:39,101 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-22 01:29:39,102 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-22 01:29:39,190 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-22 01:29:39,191 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:29:39,192 INFO L263 TraceCheckSpWp]: Trace formula consists of 428 conjuncts, 17 conjunts are in the unsatisfiable core [2022-07-22 01:29:39,194 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:39,308 INFO L134 CoverageAnalysis]: Checked inductivity of 2083 backedges. 343 proven. 207 refuted. 0 times theorem prover too weak. 1533 trivial. 0 not checked. [2022-07-22 01:29:39,309 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:39,802 INFO L134 CoverageAnalysis]: Checked inductivity of 2083 backedges. 344 proven. 211 refuted. 0 times theorem prover too weak. 1528 trivial. 0 not checked. [2022-07-22 01:29:39,803 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:39,803 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1026908837] [2022-07-22 01:29:39,803 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:39,803 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1553067153] [2022-07-22 01:29:39,803 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1553067153] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:39,803 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:39,803 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 15] total 18 [2022-07-22 01:29:39,803 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2051658972] [2022-07-22 01:29:39,803 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:39,804 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:29:39,804 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:39,804 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-07-22 01:29:39,804 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-07-22 01:29:39,804 INFO L87 Difference]: Start difference. First operand 890 states and 1284 transitions. cyclomatic complexity: 410 Second operand has 10 states, 8 states have (on average 4.25) internal successors, (34), 9 states have internal predecessors, (34), 6 states have call successors, (11), 1 states have call predecessors, (11), 3 states have return successors, (11), 5 states have call predecessors, (11), 6 states have call successors, (11) [2022-07-22 01:29:40,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:40,110 INFO L93 Difference]: Finished difference Result 1074 states and 1618 transitions. [2022-07-22 01:29:40,111 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-07-22 01:29:40,111 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1074 states and 1618 transitions. [2022-07-22 01:29:40,124 INFO L131 ngComponentsAnalysis]: Automaton has 10 accepting balls. 187 [2022-07-22 01:29:40,131 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1074 states to 1074 states and 1618 transitions. [2022-07-22 01:29:40,132 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 343 [2022-07-22 01:29:40,132 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 343 [2022-07-22 01:29:40,133 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1074 states and 1618 transitions. [2022-07-22 01:29:40,133 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:40,133 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1074 states and 1618 transitions. [2022-07-22 01:29:40,133 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1074 states and 1618 transitions. [2022-07-22 01:29:40,147 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1074 to 929. [2022-07-22 01:29:40,148 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 929 states, 599 states have (on average 1.1368948247078463) internal successors, (681), 589 states have internal predecessors, (681), 242 states have call successors, (242), 109 states have call predecessors, (242), 88 states have return successors, (424), 230 states have call predecessors, (424), 242 states have call successors, (424) [2022-07-22 01:29:40,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 929 states to 929 states and 1347 transitions. [2022-07-22 01:29:40,151 INFO L392 hiAutomatonCegarLoop]: Abstraction has 929 states and 1347 transitions. [2022-07-22 01:29:40,151 INFO L374 stractBuchiCegarLoop]: Abstraction has 929 states and 1347 transitions. [2022-07-22 01:29:40,151 INFO L287 stractBuchiCegarLoop]: ======== Iteration 21 ============ [2022-07-22 01:29:40,152 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 929 states and 1347 transitions. [2022-07-22 01:29:40,154 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 165 [2022-07-22 01:29:40,154 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:40,155 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:40,156 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [11, 11, 9, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:29:40,156 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [5, 5, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:29:40,156 INFO L752 eck$LassoCheckResult]: Stem: 73653#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 73624#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; 73625#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 73652#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; 73638#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 73639#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 74010#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; 74007#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 74008#factENTRY ~n := #in~n; 74011#L25 assume ~n <= 0;#res := 1; 74009#factFINAL assume true; 74006#factEXIT >#68#return; 74002#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 74003#factENTRY ~n := #in~n; 74005#L25 assume ~n <= 0;#res := 1; 74004#factFINAL assume true; 74000#factEXIT >#70#return; 74001#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 74003#factENTRY ~n := #in~n; 74005#L25 assume ~n <= 0;#res := 1; 74004#factFINAL assume true; 74000#factEXIT >#72#return; 73999#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; 73998#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 73997#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 73992#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 73990#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; 73947#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 73948#factENTRY ~n := #in~n; 73966#L25 assume !(~n <= 0); 73960#L26 call #t~ret0 := fact(~n - 1);< 73963#factENTRY ~n := #in~n; 73989#L25 assume ~n <= 0;#res := 1; 73981#factFINAL assume true; 73977#factEXIT >#66#return; 73975#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 73973#factFINAL assume true; 73971#factEXIT >#74#return; 73953#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 73954#factENTRY ~n := #in~n; 73972#L25 assume ~n <= 0;#res := 1; 73970#factFINAL assume true; 73952#factEXIT >#76#return; 73855#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 73950#factENTRY ~n := #in~n; 73987#L25 assume !(~n <= 0); 73978#L26 call #t~ret0 := fact(~n - 1);< 73982#factENTRY ~n := #in~n; 73989#L25 assume ~n <= 0;#res := 1; 73981#factFINAL assume true; 73977#factEXIT >#66#return; 73944#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 73945#factFINAL assume true; 73854#factEXIT >#78#return; 73852#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; 73849#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 73847#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 73846#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 73844#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 73842#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 73836#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 73833#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; 73787#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 73802#factENTRY ~n := #in~n; 73829#L25 assume ~n <= 0;#res := 1; 73803#factFINAL assume true; 73775#factEXIT >#68#return; 73799#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 73877#factENTRY ~n := #in~n; 73880#L25 assume ~n <= 0;#res := 1; 73878#factFINAL assume true; 73864#factEXIT >#70#return; 73870#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 74075#factENTRY ~n := #in~n; 74076#L25 assume ~n <= 0;#res := 1; 73878#factFINAL assume true; 73864#factEXIT >#72#return; 73807#L30-3 [2022-07-22 01:29:40,156 INFO L754 eck$LassoCheckResult]: Loop: 73807#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; 73808#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 73770#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 73771#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 73764#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; 73765#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 74075#factENTRY ~n := #in~n; 74076#L25 assume !(~n <= 0); 73709#L26 call #t~ret0 := fact(~n - 1);< 73739#factENTRY ~n := #in~n; 73759#L25 assume ~n <= 0;#res := 1; 73758#factFINAL assume true; 73749#factEXIT >#66#return; 73755#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 74087#factFINAL assume true; 74066#factEXIT >#68#return; 73865#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 74063#factENTRY ~n := #in~n; 74062#L25 assume !(~n <= 0); 73750#L26 call #t~ret0 := fact(~n - 1);< 73632#factENTRY ~n := #in~n; 73759#L25 assume ~n <= 0;#res := 1; 73758#factFINAL assume true; 73749#factEXIT >#66#return; 73755#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 74087#factFINAL assume true; 74066#factEXIT >#70#return; 73871#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 73877#factENTRY ~n := #in~n; 73880#L25 assume ~n <= 0;#res := 1; 73878#factFINAL assume true; 73864#factEXIT >#72#return; 73807#L30-3 [2022-07-22 01:29:40,157 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:40,157 INFO L85 PathProgramCache]: Analyzing trace with hash 2096897635, now seen corresponding path program 8 times [2022-07-22 01:29:40,157 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:40,157 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [236136959] [2022-07-22 01:29:40,157 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:40,157 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:40,164 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:40,164 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [33338960] [2022-07-22 01:29:40,164 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 01:29:40,164 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:40,164 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:40,166 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-22 01:29:40,167 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-22 01:29:40,226 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 01:29:40,226 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:29:40,227 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 7 conjunts are in the unsatisfiable core [2022-07-22 01:29:40,228 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:40,271 INFO L134 CoverageAnalysis]: Checked inductivity of 236 backedges. 104 proven. 1 refuted. 0 times theorem prover too weak. 131 trivial. 0 not checked. [2022-07-22 01:29:40,271 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:40,360 INFO L134 CoverageAnalysis]: Checked inductivity of 236 backedges. 32 proven. 7 refuted. 0 times theorem prover too weak. 197 trivial. 0 not checked. [2022-07-22 01:29:40,360 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:40,360 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [236136959] [2022-07-22 01:29:40,360 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:40,360 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [33338960] [2022-07-22 01:29:40,360 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [33338960] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:40,361 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:40,361 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 8 [2022-07-22 01:29:40,361 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [725808762] [2022-07-22 01:29:40,361 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:40,361 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:29:40,361 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:40,361 INFO L85 PathProgramCache]: Analyzing trace with hash -447994448, now seen corresponding path program 3 times [2022-07-22 01:29:40,361 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:40,362 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1098737989] [2022-07-22 01:29:40,362 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:40,362 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:40,364 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:40,364 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1634858484] [2022-07-22 01:29:40,364 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 01:29:40,364 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:40,364 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:40,366 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-22 01:29:40,385 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-22 01:29:40,418 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2022-07-22 01:29:40,418 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-22 01:29:40,418 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:40,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:40,429 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:41,159 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 01:29:41,159 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 01:29:41,159 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 01:29:41,159 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 01:29:41,159 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-22 01:29:41,159 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:41,159 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 01:29:41,159 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 01:29:41,159 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration21_Loop [2022-07-22 01:29:41,159 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 01:29:41,159 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 01:29:41,160 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-22 01:29:41,161 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-22 01:29:41,163 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-22 01:29:41,179 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-22 01:29:41,181 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-22 01:29:41,183 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-22 01:29:41,260 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 01:29:41,260 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-22 01:29:41,260 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:41,260 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:41,261 INFO L229 MonitoredProcess]: Starting monitored process 108 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-22 01:29:41,262 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (108)] Waiting until timeout for monitored process [2022-07-22 01:29:41,263 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:41,263 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:41,269 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:41,269 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-22 01:29:41,283 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (108)] Ended with exit code 0 [2022-07-22 01:29:41,283 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:41,284 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:41,285 INFO L229 MonitoredProcess]: Starting monitored process 109 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-22 01:29:41,285 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (109)] Waiting until timeout for monitored process [2022-07-22 01:29:41,287 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:41,287 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:41,293 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:41,293 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-22 01:29:41,308 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (109)] Ended with exit code 0 [2022-07-22 01:29:41,308 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:41,308 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:41,309 INFO L229 MonitoredProcess]: Starting monitored process 110 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-22 01:29:41,310 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (110)] Waiting until timeout for monitored process [2022-07-22 01:29:41,311 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:41,311 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:41,332 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (110)] Ended with exit code 0 [2022-07-22 01:29:41,332 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:41,332 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:41,333 INFO L229 MonitoredProcess]: Starting monitored process 111 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-22 01:29:41,334 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (111)] Waiting until timeout for monitored process [2022-07-22 01:29:41,335 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-22 01:29:41,335 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:41,761 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-22 01:29:41,766 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (111)] Ended with exit code 0 [2022-07-22 01:29:41,766 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 01:29:41,766 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 01:29:41,766 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 01:29:41,766 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 01:29:41,766 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-22 01:29:41,766 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:41,766 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 01:29:41,766 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 01:29:41,767 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration21_Loop [2022-07-22 01:29:41,767 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 01:29:41,767 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 01:29:41,767 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-22 01:29:41,770 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-22 01:29:41,772 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-22 01:29:41,773 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-22 01:29:41,776 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-22 01:29:41,793 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-22 01:29:41,873 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 01:29:41,874 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-22 01:29:41,874 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:41,874 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:41,875 INFO L229 MonitoredProcess]: Starting monitored process 112 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-22 01:29:41,876 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (112)] Waiting until timeout for monitored process [2022-07-22 01:29:41,877 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-22 01:29:41,883 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:41,883 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:41,883 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:41,883 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:41,883 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:41,883 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:41,884 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:41,884 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:41,899 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (112)] Ended with exit code 0 [2022-07-22 01:29:41,899 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:41,899 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:41,900 INFO L229 MonitoredProcess]: Starting monitored process 113 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-22 01:29:41,901 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (113)] Waiting until timeout for monitored process [2022-07-22 01:29:41,902 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-22 01:29:41,907 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:41,907 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:41,907 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:41,907 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:41,908 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:41,908 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:41,908 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:41,909 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:41,923 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (113)] Ended with exit code 0 [2022-07-22 01:29:41,923 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:41,924 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:41,925 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-22 01:29:41,925 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-22 01:29:41,926 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-22 01:29:41,931 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:41,932 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:41,932 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:41,932 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:41,932 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:41,932 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:41,932 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:41,933 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:41,948 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-22 01:29:41,948 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:41,948 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:41,949 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-22 01:29:41,950 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-22 01:29:41,951 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-22 01:29:41,956 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:41,956 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:41,956 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:41,956 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:41,956 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:41,957 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:41,957 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:41,958 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:41,973 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-22 01:29:41,973 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:41,973 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:41,974 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-22 01:29:41,975 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-22 01:29:41,976 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-22 01:29:41,982 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:41,982 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:41,982 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:41,982 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:41,982 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:41,983 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:41,984 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:41,986 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-22 01:29:41,989 INFO L443 ModelExtractionUtils]: Simplification made 4 calls to the SMT solver. [2022-07-22 01:29:41,989 INFO L444 ModelExtractionUtils]: 6 out of 10 variables were initially zero. Simplification set additionally 1 variables to zero. [2022-07-22 01:29:41,989 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:41,989 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:41,991 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-22 01:29:41,991 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-22 01:29:41,992 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-22 01:29:41,992 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-22 01:29:41,992 INFO L513 LassoAnalysis]: Proved termination. [2022-07-22 01:29:41,992 INFO L515 LassoAnalysis]: Termination argument consisting of: Ranking function f(ULTIMATE.start_main_~k~0#1) = -2*ULTIMATE.start_main_~k~0#1 + 1 Supporting invariants [] [2022-07-22 01:29:42,007 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-22 01:29:42,008 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-22 01:29:42,015 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:42,086 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:42,089 INFO L263 TraceCheckSpWp]: Trace formula consists of 501 conjuncts, 24 conjunts are in the unsatisfiable core [2022-07-22 01:29:42,094 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:42,401 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-22 01:29:42,446 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:42,447 INFO L263 TraceCheckSpWp]: Trace formula consists of 217 conjuncts, 21 conjunts are in the unsatisfiable core [2022-07-22 01:29:42,448 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:42,624 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 0 proven. 22 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-07-22 01:29:42,625 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and without honda bouncer for loop.2 stem predicates 8 loop predicates [2022-07-22 01:29:42,625 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 929 states and 1347 transitions. cyclomatic complexity: 436 Second operand has 11 states, 9 states have (on average 4.0) internal successors, (36), 9 states have internal predecessors, (36), 6 states have call successors, (12), 2 states have call predecessors, (12), 4 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-07-22 01:29:42,825 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 929 states and 1347 transitions. cyclomatic complexity: 436. Second operand has 11 states, 9 states have (on average 4.0) internal successors, (36), 9 states have internal predecessors, (36), 6 states have call successors, (12), 2 states have call predecessors, (12), 4 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Result 1138 states and 1612 transitions. Complement of second has 38 states. [2022-07-22 01:29:42,826 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 10 states 2 stem states 7 non-accepting loop states 1 accepting loop states [2022-07-22 01:29:42,827 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 4.0) internal successors, (36), 9 states have internal predecessors, (36), 6 states have call successors, (12), 2 states have call predecessors, (12), 4 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-07-22 01:29:42,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 54 transitions. [2022-07-22 01:29:42,828 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 54 transitions. Stem has 77 letters. Loop has 32 letters. [2022-07-22 01:29:42,828 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:42,828 INFO L577 RefineBuchi]: Bad chosen interpolant automaton: word not accepted [2022-07-22 01:29:42,837 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:42,905 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:42,908 INFO L263 TraceCheckSpWp]: Trace formula consists of 501 conjuncts, 24 conjunts are in the unsatisfiable core [2022-07-22 01:29:42,910 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:43,231 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:43,232 INFO L263 TraceCheckSpWp]: Trace formula consists of 217 conjuncts, 21 conjunts are in the unsatisfiable core [2022-07-22 01:29:43,233 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:43,383 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 0 proven. 22 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-07-22 01:29:43,383 INFO L152 lantAutomatonBouncer]: Defining deterministic Buchi interpolant automaton with honda bouncer for stem and with honda bouncer for loop.2 stem predicates 8 loop predicates [2022-07-22 01:29:43,383 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 929 states and 1347 transitions. cyclomatic complexity: 436 Second operand has 11 states, 9 states have (on average 4.0) internal successors, (36), 9 states have internal predecessors, (36), 6 states have call successors, (12), 2 states have call predecessors, (12), 4 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-07-22 01:29:43,602 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 929 states and 1347 transitions. cyclomatic complexity: 436. Second operand has 11 states, 9 states have (on average 4.0) internal successors, (36), 9 states have internal predecessors, (36), 6 states have call successors, (12), 2 states have call predecessors, (12), 4 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Result 1142 states and 1616 transitions. Complement of second has 36 states. [2022-07-22 01:29:43,603 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 11 states 2 stem states 8 non-accepting loop states 1 accepting loop states [2022-07-22 01:29:43,604 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 4.0) internal successors, (36), 9 states have internal predecessors, (36), 6 states have call successors, (12), 2 states have call predecessors, (12), 4 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-07-22 01:29:43,605 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 55 transitions. [2022-07-22 01:29:43,605 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 11 states and 55 transitions. Stem has 77 letters. Loop has 32 letters. [2022-07-22 01:29:43,605 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:43,605 INFO L577 RefineBuchi]: Bad chosen interpolant automaton: word not accepted [2022-07-22 01:29:43,615 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:43,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:43,697 INFO L263 TraceCheckSpWp]: Trace formula consists of 501 conjuncts, 24 conjunts are in the unsatisfiable core [2022-07-22 01:29:43,701 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:44,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:44,049 INFO L263 TraceCheckSpWp]: Trace formula consists of 217 conjuncts, 21 conjunts are in the unsatisfiable core [2022-07-22 01:29:44,050 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:44,218 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 0 proven. 22 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-07-22 01:29:44,218 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 8 loop predicates [2022-07-22 01:29:44,218 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 929 states and 1347 transitions. cyclomatic complexity: 436 Second operand has 11 states, 9 states have (on average 4.0) internal successors, (36), 9 states have internal predecessors, (36), 6 states have call successors, (12), 2 states have call predecessors, (12), 4 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-07-22 01:29:44,497 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 929 states and 1347 transitions. cyclomatic complexity: 436. Second operand has 11 states, 9 states have (on average 4.0) internal successors, (36), 9 states have internal predecessors, (36), 6 states have call successors, (12), 2 states have call predecessors, (12), 4 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Result 2437 states and 3277 transitions. Complement of second has 49 states. [2022-07-22 01:29:44,497 INFO L141 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 10 states 2 stem states 7 non-accepting loop states 1 accepting loop states [2022-07-22 01:29:44,498 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 4.0) internal successors, (36), 9 states have internal predecessors, (36), 6 states have call successors, (12), 2 states have call predecessors, (12), 4 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-07-22 01:29:44,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-07-22 01:29:44,498 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 96 transitions. Stem has 77 letters. Loop has 32 letters. [2022-07-22 01:29:44,499 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:44,499 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 96 transitions. Stem has 109 letters. Loop has 32 letters. [2022-07-22 01:29:44,500 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:44,500 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 10 states and 96 transitions. Stem has 77 letters. Loop has 64 letters. [2022-07-22 01:29:44,501 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:44,501 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2437 states and 3277 transitions. [2022-07-22 01:29:44,513 INFO L131 ngComponentsAnalysis]: Automaton has 5 accepting balls. 100 [2022-07-22 01:29:44,523 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2437 states to 1941 states and 2553 transitions. [2022-07-22 01:29:44,523 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 394 [2022-07-22 01:29:44,524 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 413 [2022-07-22 01:29:44,524 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1941 states and 2553 transitions. [2022-07-22 01:29:44,524 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:44,524 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1941 states and 2553 transitions. [2022-07-22 01:29:44,525 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1941 states and 2553 transitions. [2022-07-22 01:29:44,545 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1941 to 1828. [2022-07-22 01:29:44,547 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1828 states, 1188 states have (on average 1.0984848484848484) internal successors, (1305), 1180 states have internal predecessors, (1305), 407 states have call successors, (428), 238 states have call predecessors, (428), 233 states have return successors, (695), 409 states have call predecessors, (695), 407 states have call successors, (695) [2022-07-22 01:29:44,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1828 states to 1828 states and 2428 transitions. [2022-07-22 01:29:44,552 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1828 states and 2428 transitions. [2022-07-22 01:29:44,553 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:44,553 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-07-22 01:29:44,553 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-07-22 01:29:44,553 INFO L87 Difference]: Start difference. First operand 1828 states and 2428 transitions. Second operand has 8 states, 7 states have (on average 4.428571428571429) internal successors, (31), 8 states have internal predecessors, (31), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (12), 3 states have call predecessors, (12), 4 states have call successors, (12) [2022-07-22 01:29:44,679 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:44,680 INFO L93 Difference]: Finished difference Result 1449 states and 1926 transitions. [2022-07-22 01:29:44,680 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-07-22 01:29:44,681 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1449 states and 1926 transitions. [2022-07-22 01:29:44,688 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 88 [2022-07-22 01:29:44,693 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1449 states to 1157 states and 1559 transitions. [2022-07-22 01:29:44,693 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 301 [2022-07-22 01:29:44,694 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 313 [2022-07-22 01:29:44,694 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1157 states and 1559 transitions. [2022-07-22 01:29:44,694 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:44,694 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1157 states and 1559 transitions. [2022-07-22 01:29:44,695 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1157 states and 1559 transitions. [2022-07-22 01:29:44,707 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1157 to 1157. [2022-07-22 01:29:44,708 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1157 states, 747 states have (on average 1.1017402945113788) internal successors, (823), 746 states have internal predecessors, (823), 266 states have call successors, (277), 151 states have call predecessors, (277), 144 states have return successors, (459), 259 states have call predecessors, (459), 266 states have call successors, (459) [2022-07-22 01:29:44,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1157 states to 1157 states and 1559 transitions. [2022-07-22 01:29:44,712 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1157 states and 1559 transitions. [2022-07-22 01:29:44,712 INFO L374 stractBuchiCegarLoop]: Abstraction has 1157 states and 1559 transitions. [2022-07-22 01:29:44,712 INFO L287 stractBuchiCegarLoop]: ======== Iteration 22 ============ [2022-07-22 01:29:44,712 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1157 states and 1559 transitions. [2022-07-22 01:29:44,716 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 88 [2022-07-22 01:29:44,716 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:44,716 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:44,717 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [25, 25, 15, 10, 10, 10, 10, 5, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:29:44,717 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [8, 8, 5, 5, 5, 5, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:29:44,717 INFO L752 eck$LassoCheckResult]: Stem: 84221#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 84191#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; 84192#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 84220#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; 84248#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 84387#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 84384#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; 84380#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 84381#factENTRY ~n := #in~n; 84391#L25 assume ~n <= 0;#res := 1; 84389#factFINAL assume true; 84379#factEXIT >#68#return; 84347#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 84349#factENTRY ~n := #in~n; 84394#L25 assume ~n <= 0;#res := 1; 84392#factFINAL assume true; 84346#factEXIT >#70#return; 84348#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 84349#factENTRY ~n := #in~n; 84394#L25 assume ~n <= 0;#res := 1; 84392#factFINAL assume true; 84346#factEXIT >#72#return; 84343#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; 84344#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 84401#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 84399#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 84396#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; 84305#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 84306#factENTRY ~n := #in~n; 84372#L25 assume !(~n <= 0); 84363#L26 call #t~ret0 := fact(~n - 1);< 84366#factENTRY ~n := #in~n; 84371#L25 assume ~n <= 0;#res := 1; 84368#factFINAL assume true; 84362#factEXIT >#66#return; 84365#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 84390#factFINAL assume true; 84304#factEXIT >#74#return; 84299#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 84301#factENTRY ~n := #in~n; 84303#L25 assume ~n <= 0;#res := 1; 84302#factFINAL assume true; 84298#factEXIT >#76#return; 84282#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 84283#factENTRY ~n := #in~n; 84393#L25 assume !(~n <= 0); 84330#L26 call #t~ret0 := fact(~n - 1);< 84333#factENTRY ~n := #in~n; 84400#L25 assume ~n <= 0;#res := 1; 84340#factFINAL assume true; 84329#factEXIT >#66#return; 84332#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 84296#factFINAL assume true; 84297#factEXIT >#78#return; 84193#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; 84194#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 84254#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 84253#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 84216#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 84217#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 84761#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 84759#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; 84733#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 84755#factENTRY ~n := #in~n; 84756#L25 assume !(~n <= 0); 84497#L26 call #t~ret0 := fact(~n - 1);< 84774#factENTRY ~n := #in~n; 84808#L25 assume ~n <= 0;#res := 1; 84803#factFINAL assume true; 84773#factEXIT >#66#return; 84770#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 84766#factFINAL assume true; 84758#factEXIT >#68#return; 84747#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 84748#factENTRY ~n := #in~n; 84757#L25 assume ~n <= 0;#res := 1; 84754#factFINAL assume true; 84745#factEXIT >#70#return; 84186#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 84185#factENTRY ~n := #in~n; 84188#L25 assume !(~n <= 0); 84497#L26 call #t~ret0 := fact(~n - 1);< 84774#factENTRY ~n := #in~n; 84808#L25 assume ~n <= 0;#res := 1; 84803#factFINAL assume true; 84773#factEXIT >#66#return; 84770#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 84766#factFINAL assume true; 84758#factEXIT >#72#return; 84729#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; 84727#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 84726#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 84725#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 84724#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; 84583#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 84677#factENTRY ~n := #in~n; 84706#L25 assume !(~n <= 0); 84568#L26 call #t~ret0 := fact(~n - 1);< 84581#factENTRY ~n := #in~n; 84586#L25 assume ~n <= 0;#res := 1; 84582#factFINAL assume true; 84563#factEXIT >#66#return; 84577#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 84678#factFINAL assume true; 84676#factEXIT >#68#return; 84178#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 84674#factENTRY ~n := #in~n; 84816#L25 assume !(~n <= 0); 84454#L26 call #t~ret0 := fact(~n - 1);< 84462#factENTRY ~n := #in~n; 84473#L25 assume ~n <= 0;#res := 1; 84470#factFINAL assume true; 84450#factEXIT >#66#return; 84460#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 84813#factFINAL assume true; 84723#factEXIT >#70#return; 84719#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 84722#factENTRY ~n := #in~n; 84822#L25 assume ~n <= 0;#res := 1; 84819#factFINAL assume true; 84718#factEXIT >#72#return; 84721#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; 84829#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 84828#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 84826#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 84536#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; 84265#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 84407#factENTRY ~n := #in~n; 84474#L25 assume !(~n <= 0); 84418#L26 call #t~ret0 := fact(~n - 1);< 84463#factENTRY ~n := #in~n; 84436#L25 assume !(~n <= 0); 84422#L26 call #t~ret0 := fact(~n - 1);< 84435#factENTRY ~n := #in~n; 84440#L25 assume ~n <= 0;#res := 1; 84444#factFINAL assume true; 84443#factEXIT >#66#return; 84442#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 84441#factFINAL assume true; 84437#factEXIT >#66#return; 84438#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 84406#factFINAL assume true; 84261#factEXIT >#74#return; 84243#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 84244#factENTRY ~n := #in~n; 84535#L25 assume !(~n <= 0); 84455#L26 call #t~ret0 := fact(~n - 1);< 84462#factENTRY ~n := #in~n; 84473#L25 assume ~n <= 0;#res := 1; 84470#factFINAL assume true; 84450#factEXIT >#66#return; 84459#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 84538#factFINAL assume true; 84509#factEXIT >#76#return; 84259#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 84260#factENTRY ~n := #in~n; 84540#L25 assume !(~n <= 0); 84455#L26 call #t~ret0 := fact(~n - 1);< 84462#factENTRY ~n := #in~n; 84473#L25 assume ~n <= 0;#res := 1; 84470#factFINAL assume true; 84450#factEXIT >#66#return; 84459#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 84538#factFINAL assume true; 84509#factEXIT >#78#return; 84258#L30-8 [2022-07-22 01:29:44,717 INFO L754 eck$LassoCheckResult]: Loop: 84258#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; 84203#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 84204#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 84531#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 84530#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; 84512#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 84163#factENTRY ~n := #in~n; 84534#L25 assume !(~n <= 0); 84419#L26 call #t~ret0 := fact(~n - 1);< 84463#factENTRY ~n := #in~n; 84436#L25 assume !(~n <= 0); 84422#L26 call #t~ret0 := fact(~n - 1);< 84435#factENTRY ~n := #in~n; 84436#L25 assume !(~n <= 0); 84422#L26 call #t~ret0 := fact(~n - 1);< 84435#factENTRY ~n := #in~n; 84440#L25 assume ~n <= 0;#res := 1; 84444#factFINAL assume true; 84443#factEXIT >#66#return; 84442#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 84441#factFINAL assume true; 84437#factEXIT >#66#return; 84426#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 84429#factFINAL assume true; 84412#factEXIT >#66#return; 84425#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 84537#factFINAL assume true; 84525#factEXIT >#74#return; 84511#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 84244#factENTRY ~n := #in~n; 84535#L25 assume !(~n <= 0); 84455#L26 call #t~ret0 := fact(~n - 1);< 84462#factENTRY ~n := #in~n; 84473#L25 assume ~n <= 0;#res := 1; 84470#factFINAL assume true; 84450#factEXIT >#66#return; 84459#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 84538#factFINAL assume true; 84509#factEXIT >#76#return; 84513#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 84528#factENTRY ~n := #in~n; 84532#L25 assume !(~n <= 0); 84419#L26 call #t~ret0 := fact(~n - 1);< 84463#factENTRY ~n := #in~n; 84473#L25 assume ~n <= 0;#res := 1; 84470#factFINAL assume true; 84450#factEXIT >#66#return; 84459#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 84538#factFINAL assume true; 84509#factEXIT >#78#return; 84258#L30-8 [2022-07-22 01:29:44,718 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:44,718 INFO L85 PathProgramCache]: Analyzing trace with hash 196433557, now seen corresponding path program 9 times [2022-07-22 01:29:44,718 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:44,718 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [313076444] [2022-07-22 01:29:44,718 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:44,719 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:44,725 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:44,725 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [768439722] [2022-07-22 01:29:44,725 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 01:29:44,725 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:44,726 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:44,727 INFO L229 MonitoredProcess]: Starting monitored process 118 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:29:44,751 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (118)] Waiting until timeout for monitored process [2022-07-22 01:29:44,812 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-07-22 01:29:44,812 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:29:44,813 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 8 conjunts are in the unsatisfiable core [2022-07-22 01:29:44,815 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:44,944 INFO L134 CoverageAnalysis]: Checked inductivity of 1340 backedges. 557 proven. 35 refuted. 0 times theorem prover too weak. 748 trivial. 0 not checked. [2022-07-22 01:29:44,945 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:45,108 INFO L134 CoverageAnalysis]: Checked inductivity of 1340 backedges. 4 proven. 35 refuted. 0 times theorem prover too weak. 1301 trivial. 0 not checked. [2022-07-22 01:29:45,108 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:45,108 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [313076444] [2022-07-22 01:29:45,108 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:45,108 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [768439722] [2022-07-22 01:29:45,109 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [768439722] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:45,109 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:45,109 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 14 [2022-07-22 01:29:45,110 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1207443881] [2022-07-22 01:29:45,110 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:45,112 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:29:45,112 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:45,112 INFO L85 PathProgramCache]: Analyzing trace with hash -1069256388, now seen corresponding path program 1 times [2022-07-22 01:29:45,112 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:45,112 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [647534286] [2022-07-22 01:29:45,113 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:45,113 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:45,117 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:45,117 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1035882548] [2022-07-22 01:29:45,117 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:45,118 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:45,118 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:45,120 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-22 01:29:45,140 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-22 01:29:45,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:45,173 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 17 conjunts are in the unsatisfiable core [2022-07-22 01:29:45,174 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:45,262 INFO L134 CoverageAnalysis]: Checked inductivity of 132 backedges. 29 proven. 59 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-07-22 01:29:45,262 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:45,667 INFO L134 CoverageAnalysis]: Checked inductivity of 132 backedges. 29 proven. 67 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-07-22 01:29:45,668 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:45,668 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [647534286] [2022-07-22 01:29:45,668 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:45,668 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1035882548] [2022-07-22 01:29:45,668 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1035882548] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:45,668 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:45,669 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 13] total 16 [2022-07-22 01:29:45,669 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [587323978] [2022-07-22 01:29:45,669 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:45,669 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:29:45,669 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:45,670 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-07-22 01:29:45,670 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=221, Unknown=0, NotChecked=0, Total=272 [2022-07-22 01:29:45,670 INFO L87 Difference]: Start difference. First operand 1157 states and 1559 transitions. cyclomatic complexity: 422 Second operand has 17 states, 13 states have (on average 2.5384615384615383) internal successors, (33), 13 states have internal predecessors, (33), 10 states have call successors, (10), 1 states have call predecessors, (10), 6 states have return successors, (12), 8 states have call predecessors, (12), 10 states have call successors, (12) [2022-07-22 01:29:46,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:46,097 INFO L93 Difference]: Finished difference Result 1714 states and 2434 transitions. [2022-07-22 01:29:46,098 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-07-22 01:29:46,098 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1714 states and 2434 transitions. [2022-07-22 01:29:46,107 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 209 [2022-07-22 01:29:46,117 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1714 states to 1707 states and 2427 transitions. [2022-07-22 01:29:46,117 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 521 [2022-07-22 01:29:46,118 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 521 [2022-07-22 01:29:46,118 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1707 states and 2427 transitions. [2022-07-22 01:29:46,119 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:46,119 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1707 states and 2427 transitions. [2022-07-22 01:29:46,120 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1707 states and 2427 transitions. [2022-07-22 01:29:46,146 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1707 to 1188. [2022-07-22 01:29:46,147 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1188 states, 757 states have (on average 1.1003963011889035) internal successors, (833), 756 states have internal predecessors, (833), 282 states have call successors, (293), 151 states have call predecessors, (293), 149 states have return successors, (528), 280 states have call predecessors, (528), 282 states have call successors, (528) [2022-07-22 01:29:46,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1188 states to 1188 states and 1654 transitions. [2022-07-22 01:29:46,155 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1188 states and 1654 transitions. [2022-07-22 01:29:46,155 INFO L374 stractBuchiCegarLoop]: Abstraction has 1188 states and 1654 transitions. [2022-07-22 01:29:46,155 INFO L287 stractBuchiCegarLoop]: ======== Iteration 23 ============ [2022-07-22 01:29:46,155 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1188 states and 1654 transitions. [2022-07-22 01:29:46,159 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 94 [2022-07-22 01:29:46,159 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:46,159 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:46,161 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [25, 25, 15, 10, 10, 10, 10, 5, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:29:46,161 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [8, 8, 5, 5, 5, 5, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:29:46,161 INFO L752 eck$LassoCheckResult]: Stem: 88431#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 88400#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; 88401#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 88430#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; 88456#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 88715#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 88714#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; 88708#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 88709#factENTRY ~n := #in~n; 88713#L25 assume ~n <= 0;#res := 1; 88712#factFINAL assume true; 88707#factEXIT >#68#return; 88702#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 88704#factENTRY ~n := #in~n; 88710#L25 assume ~n <= 0;#res := 1; 88706#factFINAL assume true; 88701#factEXIT >#70#return; 88703#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 88704#factENTRY ~n := #in~n; 88710#L25 assume ~n <= 0;#res := 1; 88706#factFINAL assume true; 88701#factEXIT >#72#return; 88696#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; 88697#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 88749#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 88748#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 88500#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; 88498#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 88510#factENTRY ~n := #in~n; 88509#L25 assume !(~n <= 0); 88503#L26 call #t~ret0 := fact(~n - 1);< 88506#factENTRY ~n := #in~n; 88508#L25 assume ~n <= 0;#res := 1; 88507#factFINAL assume true; 88502#factEXIT >#66#return; 88501#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 88497#factFINAL assume true; 88499#factEXIT >#74#return; 88489#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 88491#factENTRY ~n := #in~n; 88493#L25 assume ~n <= 0;#res := 1; 88492#factFINAL assume true; 88487#factEXIT >#76#return; 88490#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 88671#factENTRY ~n := #in~n; 88672#L25 assume !(~n <= 0); 88668#L26 call #t~ret0 := fact(~n - 1);< 88669#factENTRY ~n := #in~n; 88728#L25 assume ~n <= 0;#res := 1; 88725#factFINAL assume true; 88722#factEXIT >#66#return; 88724#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 88740#factFINAL assume true; 88738#factEXIT >#78#return; 88481#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; 88673#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 88463#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 88461#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 88462#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 88777#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 88772#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 88765#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; 88754#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 88755#factENTRY ~n := #in~n; 88786#L25 assume !(~n <= 0); 88769#L26 call #t~ret0 := fact(~n - 1);< 88793#factENTRY ~n := #in~n; 88795#L25 assume ~n <= 0;#res := 1; 88794#factFINAL assume true; 88792#factEXIT >#66#return; 88791#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 88789#factFINAL assume true; 88788#factEXIT >#68#return; 88781#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 88783#factENTRY ~n := #in~n; 88785#L25 assume ~n <= 0;#res := 1; 88784#factFINAL assume true; 88780#factEXIT >#70#return; 88760#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 88790#factENTRY ~n := #in~n; 88796#L25 assume !(~n <= 0); 88769#L26 call #t~ret0 := fact(~n - 1);< 88793#factENTRY ~n := #in~n; 88795#L25 assume ~n <= 0;#res := 1; 88794#factFINAL assume true; 88792#factEXIT >#66#return; 88791#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 88789#factFINAL assume true; 88788#factEXIT >#72#return; 88763#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; 89030#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 89029#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 89028#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 88648#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; 88620#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 88621#factENTRY ~n := #in~n; 88646#L25 assume !(~n <= 0); 88626#L26 call #t~ret0 := fact(~n - 1);< 88642#factENTRY ~n := #in~n; 88647#L25 assume ~n <= 0;#res := 1; 88643#factFINAL assume true; 88624#factEXIT >#66#return; 88623#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 88622#factFINAL assume true; 88618#factEXIT >#68#return; 88611#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 88614#factENTRY ~n := #in~n; 88616#L25 assume !(~n <= 0); 88549#L26 call #t~ret0 := fact(~n - 1);< 88558#factENTRY ~n := #in~n; 88564#L25 assume ~n <= 0;#res := 1; 88560#factFINAL assume true; 88546#factEXIT >#66#return; 88556#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 88615#factFINAL assume true; 88610#factEXIT >#70#return; 88604#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 88607#factENTRY ~n := #in~n; 88609#L25 assume ~n <= 0;#res := 1; 88608#factFINAL assume true; 88603#factEXIT >#72#return; 88600#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; 88601#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 88595#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 88596#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 88566#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; 88468#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 88516#factENTRY ~n := #in~n; 88589#L25 assume !(~n <= 0); 88526#L26 call #t~ret0 := fact(~n - 1);< 88559#factENTRY ~n := #in~n; 88576#L25 assume !(~n <= 0); 88528#L26 call #t~ret0 := fact(~n - 1);< 88574#factENTRY ~n := #in~n; 88579#L25 assume ~n <= 0;#res := 1; 88578#factFINAL assume true; 88577#factEXIT >#66#return; 88575#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 88570#factFINAL assume true; 88567#factEXIT >#66#return; 88565#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 88511#factFINAL assume true; 88515#factEXIT >#74#return; 88368#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 88886#factENTRY ~n := #in~n; 88887#L25 assume !(~n <= 0); 88550#L26 call #t~ret0 := fact(~n - 1);< 88558#factENTRY ~n := #in~n; 88564#L25 assume ~n <= 0;#res := 1; 88560#factFINAL assume true; 88546#factEXIT >#66#return; 88553#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 88929#factFINAL assume true; 88894#factEXIT >#76#return; 88841#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 88889#factENTRY ~n := #in~n; 88840#L25 assume !(~n <= 0); 88550#L26 call #t~ret0 := fact(~n - 1);< 88558#factENTRY ~n := #in~n; 88564#L25 assume ~n <= 0;#res := 1; 88560#factFINAL assume true; 88546#factEXIT >#66#return; 88553#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 88929#factFINAL assume true; 88894#factEXIT >#78#return; 88837#L30-8 [2022-07-22 01:29:46,162 INFO L754 eck$LassoCheckResult]: Loop: 88837#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; 88815#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 88812#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 88797#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 88745#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; 88372#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 88363#factENTRY ~n := #in~n; 89009#L25 assume !(~n <= 0); 88529#L26 call #t~ret0 := fact(~n - 1);< 88559#factENTRY ~n := #in~n; 88576#L25 assume !(~n <= 0); 88528#L26 call #t~ret0 := fact(~n - 1);< 88574#factENTRY ~n := #in~n; 88576#L25 assume !(~n <= 0); 88528#L26 call #t~ret0 := fact(~n - 1);< 88574#factENTRY ~n := #in~n; 88579#L25 assume ~n <= 0;#res := 1; 88578#factFINAL assume true; 88577#factEXIT >#66#return; 88575#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 88570#factFINAL assume true; 88567#factEXIT >#66#return; 88536#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 88593#factFINAL assume true; 88521#factEXIT >#66#return; 88535#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 88949#factFINAL assume true; 88926#factEXIT >#74#return; 88369#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 88886#factENTRY ~n := #in~n; 88887#L25 assume ~n <= 0;#res := 1; 88389#factFINAL assume true; 88366#factEXIT >#76#return; 88374#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 88888#factENTRY ~n := #in~n; 88885#L25 assume !(~n <= 0); 88524#L26 call #t~ret0 := fact(~n - 1);< 88538#factENTRY ~n := #in~n; 88576#L25 assume !(~n <= 0); 88528#L26 call #t~ret0 := fact(~n - 1);< 88574#factENTRY ~n := #in~n; 88579#L25 assume ~n <= 0;#res := 1; 88578#factFINAL assume true; 88577#factEXIT >#66#return; 88575#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 88570#factFINAL assume true; 88567#factEXIT >#66#return; 88569#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 88930#factFINAL assume true; 88891#factEXIT >#78#return; 88837#L30-8 [2022-07-22 01:29:46,162 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:46,162 INFO L85 PathProgramCache]: Analyzing trace with hash 196433557, now seen corresponding path program 10 times [2022-07-22 01:29:46,162 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:46,162 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1881801631] [2022-07-22 01:29:46,163 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:46,163 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:46,179 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:46,179 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1968716237] [2022-07-22 01:29:46,179 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-22 01:29:46,180 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:46,180 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:46,184 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-22 01:29:46,185 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-22 01:29:46,263 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-22 01:29:46,263 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:29:46,264 INFO L263 TraceCheckSpWp]: Trace formula consists of 391 conjuncts, 8 conjunts are in the unsatisfiable core [2022-07-22 01:29:46,266 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:46,346 INFO L134 CoverageAnalysis]: Checked inductivity of 1340 backedges. 570 proven. 32 refuted. 0 times theorem prover too weak. 738 trivial. 0 not checked. [2022-07-22 01:29:46,346 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:46,499 INFO L134 CoverageAnalysis]: Checked inductivity of 1340 backedges. 18 proven. 32 refuted. 0 times theorem prover too weak. 1290 trivial. 0 not checked. [2022-07-22 01:29:46,500 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:46,500 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1881801631] [2022-07-22 01:29:46,500 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:46,500 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1968716237] [2022-07-22 01:29:46,500 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1968716237] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:46,500 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:46,500 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 12 [2022-07-22 01:29:46,501 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [767087543] [2022-07-22 01:29:46,501 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:46,501 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:29:46,501 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:46,501 INFO L85 PathProgramCache]: Analyzing trace with hash -312765636, now seen corresponding path program 2 times [2022-07-22 01:29:46,501 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:46,502 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [735241112] [2022-07-22 01:29:46,502 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:46,503 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:46,510 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:46,511 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1313040248] [2022-07-22 01:29:46,511 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 01:29:46,511 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:46,511 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:46,516 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-22 01:29:46,518 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-22 01:29:46,562 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 01:29:46,562 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:29:46,563 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 17 conjunts are in the unsatisfiable core [2022-07-22 01:29:46,564 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:46,672 INFO L134 CoverageAnalysis]: Checked inductivity of 132 backedges. 27 proven. 64 refuted. 0 times theorem prover too weak. 41 trivial. 0 not checked. [2022-07-22 01:29:46,673 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:47,142 INFO L134 CoverageAnalysis]: Checked inductivity of 132 backedges. 27 proven. 74 refuted. 0 times theorem prover too weak. 31 trivial. 0 not checked. [2022-07-22 01:29:47,142 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:47,143 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [735241112] [2022-07-22 01:29:47,143 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:47,143 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1313040248] [2022-07-22 01:29:47,143 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1313040248] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:47,143 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:47,143 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 15] total 18 [2022-07-22 01:29:47,143 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [298014246] [2022-07-22 01:29:47,143 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:47,143 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:29:47,144 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:47,144 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-07-22 01:29:47,144 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=281, Unknown=0, NotChecked=0, Total=342 [2022-07-22 01:29:47,144 INFO L87 Difference]: Start difference. First operand 1188 states and 1654 transitions. cyclomatic complexity: 486 Second operand has 19 states, 15 states have (on average 2.466666666666667) internal successors, (37), 15 states have internal predecessors, (37), 11 states have call successors, (11), 1 states have call predecessors, (11), 7 states have return successors, (14), 9 states have call predecessors, (14), 11 states have call successors, (14) [2022-07-22 01:29:47,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:47,609 INFO L93 Difference]: Finished difference Result 1805 states and 2504 transitions. [2022-07-22 01:29:47,609 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-07-22 01:29:47,610 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1805 states and 2504 transitions. [2022-07-22 01:29:47,618 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 229 [2022-07-22 01:29:47,628 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1805 states to 1796 states and 2495 transitions. [2022-07-22 01:29:47,628 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 553 [2022-07-22 01:29:47,628 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 553 [2022-07-22 01:29:47,629 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1796 states and 2495 transitions. [2022-07-22 01:29:47,629 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:47,629 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1796 states and 2495 transitions. [2022-07-22 01:29:47,630 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1796 states and 2495 transitions. [2022-07-22 01:29:47,648 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1796 to 1286. [2022-07-22 01:29:47,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1286 states, 811 states have (on average 1.093711467324291) internal successors, (887), 808 states have internal predecessors, (887), 322 states have call successors, (333), 175 states have call predecessors, (333), 153 states have return successors, (592), 302 states have call predecessors, (592), 322 states have call successors, (592) [2022-07-22 01:29:47,653 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1286 states to 1286 states and 1812 transitions. [2022-07-22 01:29:47,653 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1286 states and 1812 transitions. [2022-07-22 01:29:47,653 INFO L374 stractBuchiCegarLoop]: Abstraction has 1286 states and 1812 transitions. [2022-07-22 01:29:47,654 INFO L287 stractBuchiCegarLoop]: ======== Iteration 24 ============ [2022-07-22 01:29:47,654 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1286 states and 1812 transitions. [2022-07-22 01:29:47,657 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 101 [2022-07-22 01:29:47,657 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:47,657 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:47,658 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [25, 25, 15, 10, 10, 10, 10, 5, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:29:47,658 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-22 01:29:47,659 INFO L752 eck$LassoCheckResult]: Stem: 92745#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 92718#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; 92719#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 92744#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; 92769#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 93310#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 93308#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; 93305#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 93306#factENTRY ~n := #in~n; 93314#L25 assume ~n <= 0;#res := 1; 93311#factFINAL assume true; 93304#factEXIT >#68#return; 93302#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 93303#factENTRY ~n := #in~n; 93309#L25 assume ~n <= 0;#res := 1; 93307#factFINAL assume true; 93300#factEXIT >#70#return; 93301#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 93303#factENTRY ~n := #in~n; 93309#L25 assume ~n <= 0;#res := 1; 93307#factFINAL assume true; 93300#factEXIT >#72#return; 93298#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; 93299#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 93342#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 93341#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 92811#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; 92809#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 92823#factENTRY ~n := #in~n; 92824#L25 assume !(~n <= 0); 92816#L26 call #t~ret0 := fact(~n - 1);< 92819#factENTRY ~n := #in~n; 92821#L25 assume ~n <= 0;#res := 1; 92820#factFINAL assume true; 92815#factEXIT >#66#return; 92818#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 92808#factFINAL assume true; 92810#factEXIT >#74#return; 92800#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 92802#factENTRY ~n := #in~n; 92804#L25 assume ~n <= 0;#res := 1; 92803#factFINAL assume true; 92799#factEXIT >#76#return; 92796#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 92797#factENTRY ~n := #in~n; 93326#L25 assume !(~n <= 0); 93316#L26 call #t~ret0 := fact(~n - 1);< 93323#factENTRY ~n := #in~n; 93350#L25 assume ~n <= 0;#res := 1; 93344#factFINAL assume true; 93315#factEXIT >#66#return; 93318#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 93396#factFINAL assume true; 93395#factEXIT >#78#return; 92777#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; 92776#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 92775#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 92773#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 92774#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 93370#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 93366#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 93210#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; 93186#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 92761#factENTRY ~n := #in~n; 93199#L25 assume !(~n <= 0); 93200#L26 call #t~ret0 := fact(~n - 1);< 93207#factENTRY ~n := #in~n; 93211#L25 assume ~n <= 0;#res := 1; 93209#factFINAL assume true; 93206#factEXIT >#66#return; 93204#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 93202#factFINAL assume true; 93198#factEXIT >#68#return; 93195#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 93196#factENTRY ~n := #in~n; 93201#L25 assume ~n <= 0;#res := 1; 93197#factFINAL assume true; 93193#factEXIT >#70#return; 93189#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 93192#factENTRY ~n := #in~n; 93212#L25 assume !(~n <= 0); 93200#L26 call #t~ret0 := fact(~n - 1);< 93207#factENTRY ~n := #in~n; 93211#L25 assume ~n <= 0;#res := 1; 93209#factFINAL assume true; 93206#factEXIT >#66#return; 93204#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 93202#factFINAL assume true; 93198#factEXIT >#72#return; 93191#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; 93184#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 93175#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 93129#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 92998#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; 92970#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 92971#factENTRY ~n := #in~n; 92996#L25 assume !(~n <= 0); 92975#L26 call #t~ret0 := fact(~n - 1);< 92992#factENTRY ~n := #in~n; 92997#L25 assume ~n <= 0;#res := 1; 92993#factFINAL assume true; 92974#factEXIT >#66#return; 92973#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 92972#factFINAL assume true; 92968#factEXIT >#68#return; 92962#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 92964#factENTRY ~n := #in~n; 92966#L25 assume !(~n <= 0); 92885#L26 call #t~ret0 := fact(~n - 1);< 92892#factENTRY ~n := #in~n; 92901#L25 assume ~n <= 0;#res := 1; 92899#factFINAL assume true; 92881#factEXIT >#66#return; 92890#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 92965#factFINAL assume true; 92960#factEXIT >#70#return; 92954#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 92957#factENTRY ~n := #in~n; 92959#L25 assume ~n <= 0;#res := 1; 92958#factFINAL assume true; 92953#factEXIT >#72#return; 92949#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; 92950#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 92913#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 92914#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 92861#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; 92779#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 92830#factENTRY ~n := #in~n; 92880#L25 assume !(~n <= 0); 92840#L26 call #t~ret0 := fact(~n - 1);< 92893#factENTRY ~n := #in~n; 92896#L25 assume !(~n <= 0); 92845#L26 call #t~ret0 := fact(~n - 1);< 92895#factENTRY ~n := #in~n; 92898#L25 assume ~n <= 0;#res := 1; 92897#factFINAL assume true; 92894#factEXIT >#66#return; 92879#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 92871#factFINAL assume true; 92864#factEXIT >#66#return; 92863#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 92825#factFINAL assume true; 92829#factEXIT >#74#return; 92764#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 92765#factENTRY ~n := #in~n; 93009#L25 assume !(~n <= 0); 92886#L26 call #t~ret0 := fact(~n - 1);< 92892#factENTRY ~n := #in~n; 92901#L25 assume ~n <= 0;#res := 1; 92899#factFINAL assume true; 92881#factEXIT >#66#return; 92891#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 93239#factFINAL assume true; 93237#factEXIT >#76#return; 93238#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 93240#factENTRY ~n := #in~n; 93241#L25 assume !(~n <= 0); 92886#L26 call #t~ret0 := fact(~n - 1);< 92892#factENTRY ~n := #in~n; 92901#L25 assume ~n <= 0;#res := 1; 92899#factFINAL assume true; 92881#factEXIT >#66#return; 92891#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 93239#factFINAL assume true; 93237#factEXIT >#78#return; 92693#L30-8 [2022-07-22 01:29:47,659 INFO L754 eck$LassoCheckResult]: Loop: 92693#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; 93376#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 93374#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 93369#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 93025#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; 93003#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 92688#factENTRY ~n := #in~n; 93020#L25 assume !(~n <= 0); 92852#L26 call #t~ret0 := fact(~n - 1);< 92893#factENTRY ~n := #in~n; 92896#L25 assume !(~n <= 0); 92845#L26 call #t~ret0 := fact(~n - 1);< 92895#factENTRY ~n := #in~n; 92896#L25 assume !(~n <= 0); 92845#L26 call #t~ret0 := fact(~n - 1);< 92895#factENTRY ~n := #in~n; 92898#L25 assume ~n <= 0;#res := 1; 92897#factFINAL assume true; 92894#factEXIT >#66#return; 92879#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 92871#factFINAL assume true; 92864#factEXIT >#66#return; 92855#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 92924#factFINAL assume true; 92837#factEXIT >#66#return; 92857#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 93017#factFINAL assume true; 93010#factEXIT >#74#return; 93002#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 92765#factENTRY ~n := #in~n; 93009#L25 assume ~n <= 0;#res := 1; 93008#factFINAL assume true; 93001#factEXIT >#76#return; 92911#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 92930#factENTRY ~n := #in~n; 92910#L25 assume !(~n <= 0); 92849#L26 call #t~ret0 := fact(~n - 1);< 92858#factENTRY ~n := #in~n; 92904#L25 assume !(~n <= 0); 92851#L26 call #t~ret0 := fact(~n - 1);< 92877#factENTRY ~n := #in~n; 92896#L25 assume !(~n <= 0); 92845#L26 call #t~ret0 := fact(~n - 1);< 92895#factENTRY ~n := #in~n; 92898#L25 assume ~n <= 0;#res := 1; 92897#factFINAL assume true; 92894#factEXIT >#66#return; 92879#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 92871#factFINAL assume true; 92864#factEXIT >#66#return; 92855#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 92924#factFINAL assume true; 92837#factEXIT >#66#return; 92857#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 93017#factFINAL assume true; 93010#factEXIT >#78#return; 92693#L30-8 [2022-07-22 01:29:47,659 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:47,659 INFO L85 PathProgramCache]: Analyzing trace with hash 196433557, now seen corresponding path program 11 times [2022-07-22 01:29:47,659 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:47,660 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [323004024] [2022-07-22 01:29:47,660 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:47,660 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:47,666 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:47,666 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [972166728] [2022-07-22 01:29:47,666 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-22 01:29:47,666 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:47,667 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:47,673 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-22 01:29:47,674 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-22 01:29:47,779 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 8 check-sat command(s) [2022-07-22 01:29:47,779 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:29:47,781 INFO L263 TraceCheckSpWp]: Trace formula consists of 391 conjuncts, 8 conjunts are in the unsatisfiable core [2022-07-22 01:29:47,783 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:47,869 INFO L134 CoverageAnalysis]: Checked inductivity of 1340 backedges. 570 proven. 32 refuted. 0 times theorem prover too weak. 738 trivial. 0 not checked. [2022-07-22 01:29:47,869 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:48,029 INFO L134 CoverageAnalysis]: Checked inductivity of 1340 backedges. 18 proven. 32 refuted. 0 times theorem prover too weak. 1290 trivial. 0 not checked. [2022-07-22 01:29:48,029 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:48,029 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [323004024] [2022-07-22 01:29:48,029 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:48,029 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [972166728] [2022-07-22 01:29:48,030 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [972166728] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:48,030 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:48,030 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 12 [2022-07-22 01:29:48,030 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1102779728] [2022-07-22 01:29:48,030 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:48,030 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:29:48,030 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:48,031 INFO L85 PathProgramCache]: Analyzing trace with hash 1481161348, now seen corresponding path program 3 times [2022-07-22 01:29:48,031 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:48,031 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1889686930] [2022-07-22 01:29:48,031 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:48,031 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:48,047 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:48,047 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1066366844] [2022-07-22 01:29:48,047 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 01:29:48,047 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:48,047 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:48,052 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-22 01:29:48,075 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-22 01:29:48,113 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 11 check-sat command(s) [2022-07-22 01:29:48,114 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-22 01:29:48,114 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:29:48,126 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:29:48,135 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:29:49,380 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 01:29:49,380 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 01:29:49,381 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 01:29:49,381 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 01:29:49,381 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-22 01:29:49,381 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:49,381 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 01:29:49,381 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 01:29:49,381 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration24_Loop [2022-07-22 01:29:49,381 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 01:29:49,382 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 01:29:49,383 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-22 01:29:49,385 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-22 01:29:49,387 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-22 01:29:49,388 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-22 01:29:49,414 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-22 01:29:49,512 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 01:29:49,512 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-22 01:29:49,512 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:49,512 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:49,519 INFO L229 MonitoredProcess]: Starting monitored process 124 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-22 01:29:49,522 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (124)] Waiting until timeout for monitored process [2022-07-22 01:29:49,523 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:49,523 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:49,529 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:49,529 INFO L440 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_binomialCoefficient_#t~ret2#1=1} Honda state: {ULTIMATE.start_binomialCoefficient_#t~ret2#1=1} Generalized eigenvectors: [] Lambdas: [] Nus: [] [2022-07-22 01:29:49,543 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (124)] Forceful destruction successful, exit code 0 [2022-07-22 01:29:49,544 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:49,544 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:49,545 INFO L229 MonitoredProcess]: Starting monitored process 125 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-22 01:29:49,546 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (125)] Waiting until timeout for monitored process [2022-07-22 01:29:49,547 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:49,547 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:49,553 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:49,553 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-22 01:29:49,568 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (125)] Ended with exit code 0 [2022-07-22 01:29:49,569 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:49,569 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:49,570 INFO L229 MonitoredProcess]: Starting monitored process 126 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-22 01:29:49,570 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (126)] Waiting until timeout for monitored process [2022-07-22 01:29:49,572 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:49,572 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:49,578 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:29:49,578 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-22 01:29:49,593 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (126)] Ended with exit code 0 [2022-07-22 01:29:49,593 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:49,593 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:49,594 INFO L229 MonitoredProcess]: Starting monitored process 127 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-22 01:29:49,596 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (127)] Waiting until timeout for monitored process [2022-07-22 01:29:49,598 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:29:49,598 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:49,652 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (127)] Forceful destruction successful, exit code 0 [2022-07-22 01:29:49,652 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:49,652 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:49,654 INFO L229 MonitoredProcess]: Starting monitored process 128 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-22 01:29:49,655 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (128)] Waiting until timeout for monitored process [2022-07-22 01:29:49,657 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-22 01:29:49,657 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:29:49,671 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-22 01:29:49,686 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (128)] Ended with exit code 0 [2022-07-22 01:29:49,686 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 01:29:49,686 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 01:29:49,686 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 01:29:49,686 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 01:29:49,686 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-22 01:29:49,686 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:49,686 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 01:29:49,687 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 01:29:49,687 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration24_Loop [2022-07-22 01:29:49,687 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 01:29:49,687 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 01:29:49,687 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-22 01:29:49,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-22 01:29:49,692 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-22 01:29:49,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-22 01:29:49,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-22 01:29:49,809 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 01:29:49,810 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-22 01:29:49,810 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:49,810 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:49,811 INFO L229 MonitoredProcess]: Starting monitored process 129 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-22 01:29:49,813 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (129)] Waiting until timeout for monitored process [2022-07-22 01:29:49,813 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-22 01:29:49,818 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:49,818 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:49,819 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:49,819 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:49,819 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:49,819 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:49,819 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:49,820 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:49,835 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (129)] Ended with exit code 0 [2022-07-22 01:29:49,835 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:49,835 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:49,836 INFO L229 MonitoredProcess]: Starting monitored process 130 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-22 01:29:49,837 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (130)] Waiting until timeout for monitored process [2022-07-22 01:29:49,838 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-22 01:29:49,843 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:49,843 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:49,843 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:49,843 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:49,843 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:49,843 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:49,843 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:49,844 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:49,859 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (130)] Ended with exit code 0 [2022-07-22 01:29:49,859 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:49,859 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:49,860 INFO L229 MonitoredProcess]: Starting monitored process 131 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-22 01:29:49,861 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (131)] Waiting until timeout for monitored process [2022-07-22 01:29:49,862 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-22 01:29:49,867 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:49,867 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:49,867 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:49,867 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:49,867 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:49,868 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:49,868 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:49,868 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:49,883 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (131)] Ended with exit code 0 [2022-07-22 01:29:49,883 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:49,884 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:49,885 INFO L229 MonitoredProcess]: Starting monitored process 132 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-22 01:29:49,885 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (132)] Waiting until timeout for monitored process [2022-07-22 01:29:49,886 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-22 01:29:49,891 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:49,892 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:49,892 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:49,892 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:49,892 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:49,892 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:49,892 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:49,893 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:29:49,908 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (132)] Ended with exit code 0 [2022-07-22 01:29:49,908 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:49,908 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:49,909 INFO L229 MonitoredProcess]: Starting monitored process 133 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-22 01:29:49,910 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (133)] Waiting until timeout for monitored process [2022-07-22 01:29:49,911 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-22 01:29:49,916 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:29:49,916 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:29:49,916 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:29:49,916 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:29:49,916 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:29:49,919 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:29:49,919 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:29:49,922 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-22 01:29:49,924 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2022-07-22 01:29:49,925 INFO L444 ModelExtractionUtils]: 8 out of 11 variables were initially zero. Simplification set additionally 0 variables to zero. [2022-07-22 01:29:49,925 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:29:49,925 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:49,926 INFO L229 MonitoredProcess]: Starting monitored process 134 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-22 01:29:49,927 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (134)] Waiting until timeout for monitored process [2022-07-22 01:29:49,928 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-22 01:29:49,928 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-22 01:29:49,928 INFO L513 LassoAnalysis]: Proved termination. [2022-07-22 01:29:49,928 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-22 01:29:49,942 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (133)] Forceful destruction successful, exit code 0 [2022-07-22 01:29:49,943 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-22 01:29:49,951 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:50,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:50,075 INFO L263 TraceCheckSpWp]: Trace formula consists of 1091 conjuncts, 52 conjunts are in the unsatisfiable core [2022-07-22 01:29:50,078 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:50,437 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (134)] Forceful destruction successful, exit code 0 [2022-07-22 01:29:50,884 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:50,886 INFO L263 TraceCheckSpWp]: Trace formula consists of 377 conjuncts, 22 conjunts are in the unsatisfiable core [2022-07-22 01:29:50,888 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:51,024 INFO L134 CoverageAnalysis]: Checked inductivity of 174 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 174 trivial. 0 not checked. [2022-07-22 01:29:51,024 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-22 01:29:51,025 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1286 states and 1812 transitions. cyclomatic complexity: 546 Second operand has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-07-22 01:29:51,114 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1286 states and 1812 transitions. cyclomatic complexity: 546. Second operand has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) Result 1615 states and 2210 transitions. Complement of second has 13 states. [2022-07-22 01:29:51,115 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-22 01:29:51,115 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-07-22 01:29:51,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2022-07-22 01:29:51,115 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 51 transitions. Stem has 165 letters. Loop has 56 letters. [2022-07-22 01:29:51,116 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:51,116 INFO L577 RefineBuchi]: Bad chosen interpolant automaton: word not accepted [2022-07-22 01:29:51,123 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:51,252 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:51,256 INFO L263 TraceCheckSpWp]: Trace formula consists of 1091 conjuncts, 52 conjunts are in the unsatisfiable core [2022-07-22 01:29:51,260 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:52,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:52,035 INFO L263 TraceCheckSpWp]: Trace formula consists of 377 conjuncts, 22 conjunts are in the unsatisfiable core [2022-07-22 01:29:52,036 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:52,155 INFO L134 CoverageAnalysis]: Checked inductivity of 174 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 174 trivial. 0 not checked. [2022-07-22 01:29:52,155 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-22 01:29:52,155 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1286 states and 1812 transitions. cyclomatic complexity: 546 Second operand has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-07-22 01:29:52,236 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1286 states and 1812 transitions. cyclomatic complexity: 546. Second operand has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) Result 1610 states and 2182 transitions. Complement of second has 15 states. [2022-07-22 01:29:52,243 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-22 01:29:52,244 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-07-22 01:29:52,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 50 transitions. [2022-07-22 01:29:52,244 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 7 states and 50 transitions. Stem has 165 letters. Loop has 56 letters. [2022-07-22 01:29:52,244 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:52,245 INFO L577 RefineBuchi]: Bad chosen interpolant automaton: word not accepted [2022-07-22 01:29:52,253 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:52,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:52,372 INFO L263 TraceCheckSpWp]: Trace formula consists of 1091 conjuncts, 52 conjunts are in the unsatisfiable core [2022-07-22 01:29:52,375 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:53,160 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:53,162 INFO L263 TraceCheckSpWp]: Trace formula consists of 377 conjuncts, 22 conjunts are in the unsatisfiable core [2022-07-22 01:29:53,163 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:53,297 INFO L134 CoverageAnalysis]: Checked inductivity of 174 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 174 trivial. 0 not checked. [2022-07-22 01:29:53,297 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-22 01:29:53,298 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1286 states and 1812 transitions. cyclomatic complexity: 546 Second operand has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-07-22 01:29:53,416 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1286 states and 1812 transitions. cyclomatic complexity: 546. Second operand has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) Result 2486 states and 3403 transitions. Complement of second has 14 states. [2022-07-22 01:29:53,416 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-22 01:29:53,417 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-07-22 01:29:53,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 65 transitions. [2022-07-22 01:29:53,417 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 65 transitions. Stem has 165 letters. Loop has 56 letters. [2022-07-22 01:29:53,418 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:53,418 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 65 transitions. Stem has 221 letters. Loop has 56 letters. [2022-07-22 01:29:53,419 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:53,419 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 65 transitions. Stem has 165 letters. Loop has 112 letters. [2022-07-22 01:29:53,421 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:29:53,421 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2486 states and 3403 transitions. [2022-07-22 01:29:53,449 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 83 [2022-07-22 01:29:53,457 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2486 states to 1527 states and 2066 transitions. [2022-07-22 01:29:53,457 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 253 [2022-07-22 01:29:53,458 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 257 [2022-07-22 01:29:53,458 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1527 states and 2066 transitions. [2022-07-22 01:29:53,458 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:53,458 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1527 states and 2066 transitions. [2022-07-22 01:29:53,459 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1527 states and 2066 transitions. [2022-07-22 01:29:53,477 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1527 to 1481. [2022-07-22 01:29:53,478 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1481 states, 930 states have (on average 1.1) internal successors, (1023), 933 states have internal predecessors, (1023), 352 states have call successors, (360), 220 states have call predecessors, (360), 199 states have return successors, (634), 327 states have call predecessors, (634), 352 states have call successors, (634) [2022-07-22 01:29:53,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1481 states to 1481 states and 2017 transitions. [2022-07-22 01:29:53,483 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1481 states and 2017 transitions. [2022-07-22 01:29:53,483 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:53,483 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-07-22 01:29:53,483 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2022-07-22 01:29:53,484 INFO L87 Difference]: Start difference. First operand 1481 states and 2017 transitions. Second operand has 12 states, 12 states have (on average 4.333333333333333) internal successors, (52), 12 states have internal predecessors, (52), 8 states have call successors, (26), 2 states have call predecessors, (26), 2 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) [2022-07-22 01:29:53,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:53,665 INFO L93 Difference]: Finished difference Result 1754 states and 2507 transitions. [2022-07-22 01:29:53,666 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-07-22 01:29:53,666 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1754 states and 2507 transitions. [2022-07-22 01:29:53,675 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 125 [2022-07-22 01:29:53,684 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1754 states to 1669 states and 2406 transitions. [2022-07-22 01:29:53,684 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 327 [2022-07-22 01:29:53,684 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 327 [2022-07-22 01:29:53,685 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1669 states and 2406 transitions. [2022-07-22 01:29:53,685 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:53,685 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1669 states and 2406 transitions. [2022-07-22 01:29:53,686 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1669 states and 2406 transitions. [2022-07-22 01:29:53,705 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1669 to 1429. [2022-07-22 01:29:53,707 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1429 states, 898 states have (on average 1.099109131403118) internal successors, (987), 899 states have internal predecessors, (987), 341 states have call successors, (349), 211 states have call predecessors, (349), 190 states have return successors, (623), 318 states have call predecessors, (623), 341 states have call successors, (623) [2022-07-22 01:29:53,711 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1429 states to 1429 states and 1959 transitions. [2022-07-22 01:29:53,711 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1429 states and 1959 transitions. [2022-07-22 01:29:53,711 INFO L374 stractBuchiCegarLoop]: Abstraction has 1429 states and 1959 transitions. [2022-07-22 01:29:53,711 INFO L287 stractBuchiCegarLoop]: ======== Iteration 25 ============ [2022-07-22 01:29:53,712 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1429 states and 1959 transitions. [2022-07-22 01:29:53,715 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 83 [2022-07-22 01:29:53,715 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:53,715 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:53,718 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [33, 33, 19, 14, 14, 14, 14, 7, 6, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1] [2022-07-22 01:29:53,718 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-22 01:29:53,718 INFO L752 eck$LassoCheckResult]: Stem: 106047#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 106020#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; 106021#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 106046#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; 106033#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 106034#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 107176#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; 107132#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 107172#factENTRY ~n := #in~n; 107175#L25 assume ~n <= 0;#res := 1; 107171#factFINAL assume true; 107131#factEXIT >#68#return; 106063#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 106064#factENTRY ~n := #in~n; 107207#L25 assume ~n <= 0;#res := 1; 107206#factFINAL assume true; 107204#factEXIT >#70#return; 107205#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 106064#factENTRY ~n := #in~n; 107207#L25 assume ~n <= 0;#res := 1; 107206#factFINAL assume true; 107204#factEXIT >#72#return; 107180#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; 107181#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 106070#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 106071#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 106050#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; 105992#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 105993#factENTRY ~n := #in~n; 107367#L25 assume !(~n <= 0); 107365#L26 call #t~ret0 := fact(~n - 1);< 107366#factENTRY ~n := #in~n; 107369#L25 assume ~n <= 0;#res := 1; 107368#factFINAL assume true; 107364#factEXIT >#66#return; 107363#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 107361#factFINAL assume true; 107355#factEXIT >#74#return; 107300#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 107303#factENTRY ~n := #in~n; 107400#L25 assume ~n <= 0;#res := 1; 107398#factFINAL assume true; 107396#factEXIT >#76#return; 106429#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 106430#factENTRY ~n := #in~n; 107407#L25 assume !(~n <= 0); 107402#L26 call #t~ret0 := fact(~n - 1);< 107405#factENTRY ~n := #in~n; 107409#L25 assume ~n <= 0;#res := 1; 107406#factFINAL assume true; 107401#factEXIT >#66#return; 107404#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 107410#factFINAL assume true; 107411#factEXIT >#78#return; 106425#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; 106420#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 106367#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 106366#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 106364#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; 106354#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 106355#factENTRY ~n := #in~n; 106362#L25 assume !(~n <= 0); 106359#L26 call #t~ret0 := fact(~n - 1);< 106360#factENTRY ~n := #in~n; 106363#L25 assume ~n <= 0;#res := 1; 106361#factFINAL assume true; 106358#factEXIT >#66#return; 106357#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 106356#factFINAL assume true; 106353#factEXIT >#74#return; 106344#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 106345#factENTRY ~n := #in~n; 106347#L25 assume ~n <= 0;#res := 1; 106346#factFINAL assume true; 106343#factEXIT >#76#return; 106323#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 106330#factENTRY ~n := #in~n; 106340#L25 assume !(~n <= 0); 106336#L26 call #t~ret0 := fact(~n - 1);< 106339#factENTRY ~n := #in~n; 106431#L25 assume ~n <= 0;#res := 1; 106432#factFINAL assume true; 106334#factEXIT >#66#return; 106333#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 106332#factFINAL assume true; 106322#factEXIT >#78#return; 106022#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; 106023#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 106031#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 106078#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 106042#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 106043#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 106055#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 106056#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; 107145#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 107157#factENTRY ~n := #in~n; 107168#L25 assume !(~n <= 0); 107165#L26 call #t~ret0 := fact(~n - 1);< 107166#factENTRY ~n := #in~n; 107170#L25 assume ~n <= 0;#res := 1; 107167#factFINAL assume true; 107164#factEXIT >#66#return; 107163#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 107161#factFINAL assume true; 107158#factEXIT >#68#return; 107153#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 107155#factENTRY ~n := #in~n; 107160#L25 assume ~n <= 0;#res := 1; 107156#factFINAL assume true; 107152#factEXIT >#70#return; 107143#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 107150#factENTRY ~n := #in~n; 107169#L25 assume !(~n <= 0); 107165#L26 call #t~ret0 := fact(~n - 1);< 107166#factENTRY ~n := #in~n; 107170#L25 assume ~n <= 0;#res := 1; 107167#factFINAL assume true; 107164#factEXIT >#66#return; 107163#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 107161#factFINAL assume true; 107158#factEXIT >#72#return; 107141#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; 107138#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 107055#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 107001#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 106999#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; 106887#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 106986#factENTRY ~n := #in~n; 106984#L25 assume !(~n <= 0); 106952#L26 call #t~ret0 := fact(~n - 1);< 106968#factENTRY ~n := #in~n; 106969#L25 assume ~n <= 0;#res := 1; 106967#factFINAL assume true; 106950#factEXIT >#66#return; 106959#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 107058#factFINAL assume true; 107057#factEXIT >#68#return; 106552#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 106874#factENTRY ~n := #in~n; 106872#L25 assume !(~n <= 0); 106537#L26 call #t~ret0 := fact(~n - 1);< 106548#factENTRY ~n := #in~n; 106581#L25 assume ~n <= 0;#res := 1; 106551#factFINAL assume true; 106536#factEXIT >#66#return; 106544#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 107140#factFINAL assume true; 107139#factEXIT >#70#return; 107134#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 107135#factENTRY ~n := #in~n; 107137#L25 assume ~n <= 0;#res := 1; 107136#factFINAL assume true; 107133#factEXIT >#72#return; 107130#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; 107129#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 106640#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 106633#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 106626#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; 106523#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 106590#factENTRY ~n := #in~n; 106627#L25 assume !(~n <= 0); 106543#L26 call #t~ret0 := fact(~n - 1);< 106613#factENTRY ~n := #in~n; 106637#L25 assume !(~n <= 0); 106609#L26 call #t~ret0 := fact(~n - 1);< 106631#factENTRY ~n := #in~n; 106639#L25 assume ~n <= 0;#res := 1; 106635#factFINAL assume true; 106630#factEXIT >#66#return; 106628#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 106622#factFINAL assume true; 106605#factEXIT >#66#return; 106594#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 106589#factFINAL assume true; 106522#factEXIT >#74#return; 106527#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 106763#factENTRY ~n := #in~n; 106798#L25 assume !(~n <= 0); 106542#L26 call #t~ret0 := fact(~n - 1);< 106548#factENTRY ~n := #in~n; 106581#L25 assume ~n <= 0;#res := 1; 106551#factFINAL assume true; 106536#factEXIT >#66#return; 106547#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 106776#factFINAL assume true; 106759#factEXIT >#76#return; 106760#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 106763#factENTRY ~n := #in~n; 106798#L25 assume !(~n <= 0); 106542#L26 call #t~ret0 := fact(~n - 1);< 106548#factENTRY ~n := #in~n; 106581#L25 assume ~n <= 0;#res := 1; 106551#factFINAL assume true; 106536#factEXIT >#66#return; 106547#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 106776#factFINAL assume true; 106759#factEXIT >#78#return; 106762#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; 106391#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 106392#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 106309#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 106310#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 106293#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 106291#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 106289#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; 106290#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 107009#factENTRY ~n := #in~n; 107006#L25 assume !(~n <= 0); 107007#L26 call #t~ret0 := fact(~n - 1);< 107017#factENTRY ~n := #in~n; 107022#L25 assume !(~n <= 0); 107034#L26 call #t~ret0 := fact(~n - 1);< 107043#factENTRY ~n := #in~n; 107046#L25 assume ~n <= 0;#res := 1; 107044#factFINAL assume true; 107041#factEXIT >#66#return; 107042#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 107037#factFINAL assume true; 107038#factEXIT >#66#return; 107002#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 107003#factFINAL assume true; 107011#factEXIT >#68#return; 106995#L30-1 [2022-07-22 01:29:53,719 INFO L754 eck$LassoCheckResult]: Loop: 106995#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 107009#factENTRY ~n := #in~n; 107006#L25 assume ~n <= 0;#res := 1; 107005#factFINAL assume true; 107004#factEXIT >#70#return; 106369#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 106008#factENTRY ~n := #in~n; 106368#L25 assume !(~n <= 0); 106370#L26 call #t~ret0 := fact(~n - 1);< 107047#factENTRY ~n := #in~n; 107022#L25 assume !(~n <= 0); 107034#L26 call #t~ret0 := fact(~n - 1);< 107043#factENTRY ~n := #in~n; 107046#L25 assume ~n <= 0;#res := 1; 107044#factFINAL assume true; 107041#factEXIT >#66#return; 107042#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 107037#factFINAL assume true; 107038#factEXIT >#66#return; 107002#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 107003#factFINAL assume true; 107011#factEXIT >#72#return; 106250#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; 107216#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 106068#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 106069#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 106462#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; 106145#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 106237#factENTRY ~n := #in~n; 106232#L25 assume !(~n <= 0); 106104#L26 call #t~ret0 := fact(~n - 1);< 106110#factENTRY ~n := #in~n; 106184#L25 assume !(~n <= 0); 106106#L26 call #t~ret0 := fact(~n - 1);< 106161#factENTRY ~n := #in~n; 106184#L25 assume !(~n <= 0); 106106#L26 call #t~ret0 := fact(~n - 1);< 106161#factENTRY ~n := #in~n; 106182#L25 assume ~n <= 0;#res := 1; 106179#factFINAL assume true; 106160#factEXIT >#66#return; 106158#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 106141#factFINAL assume true; 106136#factEXIT >#66#return; 106109#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 106119#factFINAL assume true; 106100#factEXIT >#66#return; 106108#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 106298#factFINAL assume true; 106246#factEXIT >#68#return; 106225#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 106228#factENTRY ~n := #in~n; 106238#L25 assume !(~n <= 0); 106103#L26 call #t~ret0 := fact(~n - 1);< 106181#factENTRY ~n := #in~n; 106186#L25 assume ~n <= 0;#res := 1; 106180#factFINAL assume true; 106172#factEXIT >#66#return; 106176#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 106461#factFINAL assume true; 106460#factEXIT >#70#return; 106143#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 106237#factENTRY ~n := #in~n; 106232#L25 assume !(~n <= 0); 106104#L26 call #t~ret0 := fact(~n - 1);< 106110#factENTRY ~n := #in~n; 106184#L25 assume !(~n <= 0); 106106#L26 call #t~ret0 := fact(~n - 1);< 106161#factENTRY ~n := #in~n; 106182#L25 assume ~n <= 0;#res := 1; 106179#factFINAL assume true; 106160#factEXIT >#66#return; 106158#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 106141#factFINAL assume true; 106136#factEXIT >#66#return; 106138#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 106257#factFINAL assume true; 106258#factEXIT >#72#return; 106251#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; 106459#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 106458#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 106457#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 106456#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; 106099#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 106237#factENTRY ~n := #in~n; 106232#L25 assume !(~n <= 0); 106104#L26 call #t~ret0 := fact(~n - 1);< 106110#factENTRY ~n := #in~n; 106184#L25 assume !(~n <= 0); 106106#L26 call #t~ret0 := fact(~n - 1);< 106161#factENTRY ~n := #in~n; 106184#L25 assume !(~n <= 0); 106106#L26 call #t~ret0 := fact(~n - 1);< 106161#factENTRY ~n := #in~n; 106182#L25 assume ~n <= 0;#res := 1; 106179#factFINAL assume true; 106160#factEXIT >#66#return; 106158#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 106141#factFINAL assume true; 106136#factEXIT >#66#return; 106109#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 106119#factFINAL assume true; 106100#factEXIT >#66#return; 106108#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 106298#factFINAL assume true; 106246#factEXIT >#68#return; 106227#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 106228#factENTRY ~n := #in~n; 106238#L25 assume !(~n <= 0); 106103#L26 call #t~ret0 := fact(~n - 1);< 106181#factENTRY ~n := #in~n; 106184#L25 assume !(~n <= 0); 106106#L26 call #t~ret0 := fact(~n - 1);< 106161#factENTRY ~n := #in~n; 106182#L25 assume ~n <= 0;#res := 1; 106179#factFINAL assume true; 106160#factEXIT >#66#return; 106158#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 106141#factFINAL assume true; 106136#factEXIT >#66#return; 106138#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 106257#factFINAL assume true; 106258#factEXIT >#70#return; 106223#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 106228#factENTRY ~n := #in~n; 106238#L25 assume ~n <= 0;#res := 1; 106235#factFINAL assume true; 106219#factEXIT >#72#return; 106215#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; 106212#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 106127#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 106118#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 106098#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; 106080#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 106096#factENTRY ~n := #in~n; 106114#L25 assume !(~n <= 0); 106101#L26 call #t~ret0 := fact(~n - 1);< 106110#factENTRY ~n := #in~n; 106184#L25 assume !(~n <= 0); 106106#L26 call #t~ret0 := fact(~n - 1);< 106161#factENTRY ~n := #in~n; 106184#L25 assume !(~n <= 0); 106106#L26 call #t~ret0 := fact(~n - 1);< 106161#factENTRY ~n := #in~n; 106182#L25 assume ~n <= 0;#res := 1; 106179#factFINAL assume true; 106160#factEXIT >#66#return; 106158#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 106141#factFINAL assume true; 106136#factEXIT >#66#return; 106109#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 106119#factFINAL assume true; 106100#factEXIT >#66#return; 106091#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 106092#factFINAL assume true; 106079#factEXIT >#74#return; 106081#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 106096#factENTRY ~n := #in~n; 106114#L25 assume !(~n <= 0); 106101#L26 call #t~ret0 := fact(~n - 1);< 106110#factENTRY ~n := #in~n; 106184#L25 assume !(~n <= 0); 106106#L26 call #t~ret0 := fact(~n - 1);< 106161#factENTRY ~n := #in~n; 106182#L25 assume ~n <= 0;#res := 1; 106179#factFINAL assume true; 106160#factEXIT >#66#return; 106158#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 106141#factFINAL assume true; 106136#factEXIT >#66#return; 106137#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 106185#factFINAL assume true; 106183#factEXIT >#76#return; 106082#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 106157#factENTRY ~n := #in~n; 106208#L25 assume !(~n <= 0); 106174#L26 call #t~ret0 := fact(~n - 1);< 106178#factENTRY ~n := #in~n; 106186#L25 assume ~n <= 0;#res := 1; 106180#factFINAL assume true; 106172#factEXIT >#66#return; 106169#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 106168#factFINAL assume true; 106156#factEXIT >#78#return; 106124#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; 106125#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 106297#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 106076#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 106077#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 106295#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 106296#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 107010#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; 106007#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 106008#factENTRY ~n := #in~n; 106368#L25 assume !(~n <= 0); 106370#L26 call #t~ret0 := fact(~n - 1);< 107047#factENTRY ~n := #in~n; 107022#L25 assume !(~n <= 0); 107034#L26 call #t~ret0 := fact(~n - 1);< 107043#factENTRY ~n := #in~n; 107046#L25 assume ~n <= 0;#res := 1; 107044#factFINAL assume true; 107041#factEXIT >#66#return; 107042#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 107037#factFINAL assume true; 107038#factEXIT >#66#return; 107002#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 107003#factFINAL assume true; 107011#factEXIT >#68#return; 106995#L30-1 [2022-07-22 01:29:53,719 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:53,719 INFO L85 PathProgramCache]: Analyzing trace with hash -243979040, now seen corresponding path program 12 times [2022-07-22 01:29:53,719 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:53,719 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1963308383] [2022-07-22 01:29:53,720 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:53,720 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:53,727 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:53,727 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [427270523] [2022-07-22 01:29:53,727 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-22 01:29:53,727 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:53,727 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:53,732 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-22 01:29:53,733 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-22 01:29:53,841 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 14 check-sat command(s) [2022-07-22 01:29:53,842 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:29:53,843 INFO L263 TraceCheckSpWp]: Trace formula consists of 372 conjuncts, 10 conjunts are in the unsatisfiable core [2022-07-22 01:29:53,846 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:53,912 INFO L134 CoverageAnalysis]: Checked inductivity of 2403 backedges. 1106 proven. 3 refuted. 0 times theorem prover too weak. 1294 trivial. 0 not checked. [2022-07-22 01:29:53,912 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:54,153 INFO L134 CoverageAnalysis]: Checked inductivity of 2403 backedges. 120 proven. 164 refuted. 0 times theorem prover too weak. 2119 trivial. 0 not checked. [2022-07-22 01:29:54,153 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:54,153 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1963308383] [2022-07-22 01:29:54,153 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:54,153 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [427270523] [2022-07-22 01:29:54,153 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [427270523] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:54,153 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:54,153 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 11 [2022-07-22 01:29:54,154 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [321359597] [2022-07-22 01:29:54,154 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:54,154 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:29:54,154 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:54,154 INFO L85 PathProgramCache]: Analyzing trace with hash -534117884, now seen corresponding path program 11 times [2022-07-22 01:29:54,154 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:54,155 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1554614333] [2022-07-22 01:29:54,155 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:54,155 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:54,161 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:54,161 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1658967712] [2022-07-22 01:29:54,161 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-22 01:29:54,161 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:54,161 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:54,164 INFO L229 MonitoredProcess]: Starting monitored process 136 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:29:54,195 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (136)] Waiting until timeout for monitored process [2022-07-22 01:29:54,250 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 9 check-sat command(s) [2022-07-22 01:29:54,250 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:29:54,252 INFO L263 TraceCheckSpWp]: Trace formula consists of 198 conjuncts, 21 conjunts are in the unsatisfiable core [2022-07-22 01:29:54,254 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:54,398 INFO L134 CoverageAnalysis]: Checked inductivity of 2569 backedges. 1327 proven. 240 refuted. 0 times theorem prover too weak. 1002 trivial. 0 not checked. [2022-07-22 01:29:54,398 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:55,220 INFO L134 CoverageAnalysis]: Checked inductivity of 2569 backedges. 368 proven. 480 refuted. 0 times theorem prover too weak. 1721 trivial. 0 not checked. [2022-07-22 01:29:55,220 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:55,220 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1554614333] [2022-07-22 01:29:55,220 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:55,220 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1658967712] [2022-07-22 01:29:55,221 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1658967712] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:55,221 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:55,221 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 19] total 22 [2022-07-22 01:29:55,221 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1059680084] [2022-07-22 01:29:55,221 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:55,222 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:29:55,222 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:55,222 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-07-22 01:29:55,222 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=75, Invalid=387, Unknown=0, NotChecked=0, Total=462 [2022-07-22 01:29:55,223 INFO L87 Difference]: Start difference. First operand 1429 states and 1959 transitions. cyclomatic complexity: 553 Second operand has 22 states, 19 states have (on average 3.3157894736842106) internal successors, (63), 22 states have internal predecessors, (63), 14 states have call successors, (24), 2 states have call predecessors, (24), 9 states have return successors, (27), 9 states have call predecessors, (27), 14 states have call successors, (27) [2022-07-22 01:29:55,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:55,941 INFO L93 Difference]: Finished difference Result 1961 states and 3068 transitions. [2022-07-22 01:29:55,942 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-07-22 01:29:55,942 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1961 states and 3068 transitions. [2022-07-22 01:29:55,953 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 158 [2022-07-22 01:29:55,963 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1961 states to 1857 states and 2808 transitions. [2022-07-22 01:29:55,963 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 366 [2022-07-22 01:29:55,964 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 372 [2022-07-22 01:29:55,964 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1857 states and 2808 transitions. [2022-07-22 01:29:55,964 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:55,964 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1857 states and 2808 transitions. [2022-07-22 01:29:55,965 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1857 states and 2808 transitions. [2022-07-22 01:29:55,989 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1857 to 1575. [2022-07-22 01:29:55,990 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1575 states, 980 states have (on average 1.1010204081632653) internal successors, (1079), 986 states have internal predecessors, (1079), 392 states have call successors, (400), 217 states have call predecessors, (400), 203 states have return successors, (822), 371 states have call predecessors, (822), 392 states have call successors, (822) [2022-07-22 01:29:55,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1575 states to 1575 states and 2301 transitions. [2022-07-22 01:29:55,996 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1575 states and 2301 transitions. [2022-07-22 01:29:55,996 INFO L374 stractBuchiCegarLoop]: Abstraction has 1575 states and 2301 transitions. [2022-07-22 01:29:55,996 INFO L287 stractBuchiCegarLoop]: ======== Iteration 26 ============ [2022-07-22 01:29:55,996 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1575 states and 2301 transitions. [2022-07-22 01:29:56,000 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 149 [2022-07-22 01:29:56,000 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:56,000 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:56,002 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [33, 33, 19, 14, 14, 14, 14, 7, 6, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1] [2022-07-22 01:29:56,002 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [35, 35, 23, 23, 23, 23, 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-22 01:29:56,002 INFO L752 eck$LassoCheckResult]: Stem: 112076#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 112050#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; 112051#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 112075#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; 112061#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 112062#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 112935#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; 112042#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 112043#factENTRY ~n := #in~n; 113279#L25 assume ~n <= 0;#res := 1; 113278#factFINAL assume true; 113277#factEXIT >#68#return; 112092#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 112033#factENTRY ~n := #in~n; 113283#L25 assume ~n <= 0;#res := 1; 113282#factFINAL assume true; 113267#factEXIT >#70#return; 112032#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 112033#factENTRY ~n := #in~n; 113283#L25 assume ~n <= 0;#res := 1; 113282#factFINAL assume true; 113267#factEXIT >#72#return; 112070#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; 112072#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 113424#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 113386#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 113387#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; 113416#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 113417#factENTRY ~n := #in~n; 113426#L25 assume !(~n <= 0); 113421#L26 call #t~ret0 := fact(~n - 1);< 113423#factENTRY ~n := #in~n; 113433#L25 assume ~n <= 0;#res := 1; 113500#factFINAL assume true; 113499#factEXIT >#66#return; 113498#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 113496#factFINAL assume true; 113484#factEXIT >#74#return; 113480#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 113481#factENTRY ~n := #in~n; 113506#L25 assume ~n <= 0;#res := 1; 113504#factFINAL assume true; 113479#factEXIT >#76#return; 112582#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 113467#factENTRY ~n := #in~n; 113464#L25 assume !(~n <= 0); 113455#L26 call #t~ret0 := fact(~n - 1);< 113457#factENTRY ~n := #in~n; 113463#L25 assume ~n <= 0;#res := 1; 113458#factFINAL assume true; 113453#factEXIT >#66#return; 113456#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 113511#factFINAL assume true; 112581#factEXIT >#78#return; 112580#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; 112574#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 112573#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 112572#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 112557#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; 112555#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 112556#factENTRY ~n := #in~n; 112570#L25 assume !(~n <= 0); 112566#L26 call #t~ret0 := fact(~n - 1);< 112567#factENTRY ~n := #in~n; 112571#L25 assume ~n <= 0;#res := 1; 112568#factFINAL assume true; 112565#factEXIT >#66#return; 112564#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112561#factFINAL assume true; 112554#factEXIT >#74#return; 112548#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 112549#factENTRY ~n := #in~n; 112551#L25 assume ~n <= 0;#res := 1; 112550#factFINAL assume true; 112547#factEXIT >#76#return; 112035#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 112546#factENTRY ~n := #in~n; 113371#L25 assume !(~n <= 0); 113355#L26 call #t~ret0 := fact(~n - 1);< 113368#factENTRY ~n := #in~n; 113376#L25 assume ~n <= 0;#res := 1; 113370#factFINAL assume true; 113354#factEXIT >#66#return; 112081#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112034#factFINAL assume true; 112036#factEXIT >#78#return; 112052#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; 112053#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 112059#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 112100#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 112065#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 112066#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 112086#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 112087#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; 112719#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 112724#factENTRY ~n := #in~n; 112748#L25 assume !(~n <= 0); 112738#L26 call #t~ret0 := fact(~n - 1);< 112746#factENTRY ~n := #in~n; 112758#L25 assume ~n <= 0;#res := 1; 112756#factFINAL assume true; 112745#factEXIT >#66#return; 112742#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112735#factFINAL assume true; 112730#factEXIT >#68#return; 112723#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 112729#factENTRY ~n := #in~n; 112731#L25 assume ~n <= 0;#res := 1; 112728#factFINAL assume true; 112722#factEXIT >#70#return; 112715#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 112727#factENTRY ~n := #in~n; 112749#L25 assume !(~n <= 0); 112738#L26 call #t~ret0 := fact(~n - 1);< 112746#factENTRY ~n := #in~n; 112758#L25 assume ~n <= 0;#res := 1; 112756#factFINAL assume true; 112745#factEXIT >#66#return; 112742#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112735#factFINAL assume true; 112730#factEXIT >#72#return; 112720#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; 112784#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 112781#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 112779#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 112671#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; 112668#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 112669#factENTRY ~n := #in~n; 112690#L25 assume !(~n <= 0); 112676#L26 call #t~ret0 := fact(~n - 1);< 112687#factENTRY ~n := #in~n; 112691#L25 assume ~n <= 0;#res := 1; 112688#factFINAL assume true; 112675#factEXIT >#66#return; 112672#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112670#factFINAL assume true; 112667#factEXIT >#68#return; 112662#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 112663#factENTRY ~n := #in~n; 112674#L25 assume !(~n <= 0); 112608#L26 call #t~ret0 := fact(~n - 1);< 112615#factENTRY ~n := #in~n; 112646#L25 assume ~n <= 0;#res := 1; 112632#factFINAL assume true; 112603#factEXIT >#66#return; 112613#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112666#factFINAL assume true; 112661#factEXIT >#70#return; 112657#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 112658#factENTRY ~n := #in~n; 112733#L25 assume ~n <= 0;#res := 1; 112732#factFINAL assume true; 112656#factEXIT >#72#return; 112654#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; 112653#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 112652#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 112635#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 112634#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; 112598#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 112601#factENTRY ~n := #in~n; 112673#L25 assume !(~n <= 0); 112607#L26 call #t~ret0 := fact(~n - 1);< 112639#factENTRY ~n := #in~n; 112665#L25 assume !(~n <= 0); 112623#L26 call #t~ret0 := fact(~n - 1);< 112660#factENTRY ~n := #in~n; 112712#L25 assume ~n <= 0;#res := 1; 112711#factFINAL assume true; 112659#factEXIT >#66#return; 112655#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112636#factFINAL assume true; 112621#factEXIT >#66#return; 112619#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112616#factFINAL assume true; 112597#factEXIT >#74#return; 112588#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 112592#factENTRY ~n := #in~n; 112651#L25 assume !(~n <= 0); 112605#L26 call #t~ret0 := fact(~n - 1);< 112615#factENTRY ~n := #in~n; 112646#L25 assume ~n <= 0;#res := 1; 112632#factFINAL assume true; 112603#factEXIT >#66#return; 112596#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112593#factFINAL assume true; 112585#factEXIT >#76#return; 112589#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 112592#factENTRY ~n := #in~n; 112651#L25 assume !(~n <= 0); 112605#L26 call #t~ret0 := fact(~n - 1);< 112615#factENTRY ~n := #in~n; 112646#L25 assume ~n <= 0;#res := 1; 112632#factFINAL assume true; 112603#factEXIT >#66#return; 112596#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112593#factFINAL assume true; 112585#factEXIT >#78#return; 112590#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; 112104#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 112103#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 112101#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 112102#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 112507#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 112377#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 112280#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; 112259#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 112091#factENTRY ~n := #in~n; 112291#L25 assume !(~n <= 0); 112286#L26 call #t~ret0 := fact(~n - 1);< 112287#factENTRY ~n := #in~n; 112293#L25 assume !(~n <= 0); 112300#L26 call #t~ret0 := fact(~n - 1);< 112314#factENTRY ~n := #in~n; 112317#L25 assume ~n <= 0;#res := 1; 112316#factFINAL assume true; 112313#factEXIT >#66#return; 112310#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112306#factFINAL assume true; 112298#factEXIT >#66#return; 112297#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112295#factFINAL assume true; 112294#factEXIT >#68#return; 112258#L30-1 [2022-07-22 01:29:56,003 INFO L754 eck$LassoCheckResult]: Loop: 112258#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 112091#factENTRY ~n := #in~n; 112291#L25 assume ~n <= 0;#res := 1; 112275#factFINAL assume true; 112267#factEXIT >#70#return; 112264#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 112041#factENTRY ~n := #in~n; 112312#L25 assume !(~n <= 0); 112301#L26 call #t~ret0 := fact(~n - 1);< 112303#factENTRY ~n := #in~n; 112293#L25 assume !(~n <= 0); 112300#L26 call #t~ret0 := fact(~n - 1);< 112314#factENTRY ~n := #in~n; 112293#L25 assume !(~n <= 0); 112300#L26 call #t~ret0 := fact(~n - 1);< 112314#factENTRY ~n := #in~n; 112317#L25 assume ~n <= 0;#res := 1; 112316#factFINAL assume true; 112313#factEXIT >#66#return; 112310#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112306#factFINAL assume true; 112298#factEXIT >#66#return; 112302#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112807#factFINAL assume true; 112337#factEXIT >#66#return; 112329#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112326#factFINAL assume true; 112257#factEXIT >#72#return; 112173#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; 112288#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 112284#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 112282#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 112281#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; 112163#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 112183#factENTRY ~n := #in~n; 112318#L25 assume !(~n <= 0); 112207#L26 call #t~ret0 := fact(~n - 1);< 112214#factENTRY ~n := #in~n; 112324#L25 assume !(~n <= 0); 112211#L26 call #t~ret0 := fact(~n - 1);< 112322#factENTRY ~n := #in~n; 112325#L25 assume ~n <= 0;#res := 1; 112323#factFINAL assume true; 112321#factEXIT >#66#return; 112320#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112217#factFINAL assume true; 112206#factEXIT >#66#return; 112204#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112194#factFINAL assume true; 112192#factEXIT >#68#return; 112143#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 112157#factENTRY ~n := #in~n; 112174#L25 assume !(~n <= 0); 112199#L26 call #t~ret0 := fact(~n - 1);< 112215#factENTRY ~n := #in~n; 112216#L25 assume ~n <= 0;#res := 1; 112205#factFINAL assume true; 112195#factEXIT >#66#return; 112193#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112191#factFINAL assume true; 112189#factEXIT >#70#return; 112169#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 112190#factENTRY ~n := #in~n; 112319#L25 assume !(~n <= 0); 112199#L26 call #t~ret0 := fact(~n - 1);< 112215#factENTRY ~n := #in~n; 112324#L25 assume !(~n <= 0); 112211#L26 call #t~ret0 := fact(~n - 1);< 112322#factENTRY ~n := #in~n; 112325#L25 assume ~n <= 0;#res := 1; 112323#factFINAL assume true; 112321#factEXIT >#66#return; 112320#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112217#factFINAL assume true; 112206#factEXIT >#66#return; 112204#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112194#factFINAL assume true; 112192#factEXIT >#72#return; 112170#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; 112273#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 112272#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 112271#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 112270#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; 112164#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 112183#factENTRY ~n := #in~n; 112318#L25 assume !(~n <= 0); 112207#L26 call #t~ret0 := fact(~n - 1);< 112214#factENTRY ~n := #in~n; 112324#L25 assume !(~n <= 0); 112211#L26 call #t~ret0 := fact(~n - 1);< 112322#factENTRY ~n := #in~n; 112325#L25 assume ~n <= 0;#res := 1; 112323#factFINAL assume true; 112321#factEXIT >#66#return; 112320#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112217#factFINAL assume true; 112206#factEXIT >#66#return; 112204#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112194#factFINAL assume true; 112192#factEXIT >#68#return; 112148#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 112157#factENTRY ~n := #in~n; 112174#L25 assume !(~n <= 0); 112199#L26 call #t~ret0 := fact(~n - 1);< 112215#factENTRY ~n := #in~n; 112324#L25 assume !(~n <= 0); 112211#L26 call #t~ret0 := fact(~n - 1);< 112322#factENTRY ~n := #in~n; 112325#L25 assume ~n <= 0;#res := 1; 112323#factFINAL assume true; 112321#factEXIT >#66#return; 112320#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112217#factFINAL assume true; 112206#factEXIT >#66#return; 112204#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112194#factFINAL assume true; 112192#factEXIT >#70#return; 112141#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 112157#factENTRY ~n := #in~n; 112174#L25 assume ~n <= 0;#res := 1; 112158#factFINAL assume true; 112139#factEXIT >#72#return; 112152#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; 112135#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 112136#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 112131#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 112132#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; 112219#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 112227#factENTRY ~n := #in~n; 112225#L25 assume !(~n <= 0); 112208#L26 call #t~ret0 := fact(~n - 1);< 112214#factENTRY ~n := #in~n; 112324#L25 assume !(~n <= 0); 112211#L26 call #t~ret0 := fact(~n - 1);< 112322#factENTRY ~n := #in~n; 112324#L25 assume !(~n <= 0); 112211#L26 call #t~ret0 := fact(~n - 1);< 112322#factENTRY ~n := #in~n; 112324#L25 assume !(~n <= 0); 112211#L26 call #t~ret0 := fact(~n - 1);< 112322#factENTRY ~n := #in~n; 112325#L25 assume ~n <= 0;#res := 1; 112323#factFINAL assume true; 112321#factEXIT >#66#return; 112320#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112217#factFINAL assume true; 112206#factEXIT >#66#return; 112213#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112352#factFINAL assume true; 112351#factEXIT >#66#return; 112350#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112360#factFINAL assume true; 112348#factEXIT >#66#return; 112346#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112344#factFINAL assume true; 112340#factEXIT >#74#return; 112220#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 112227#factENTRY ~n := #in~n; 112225#L25 assume !(~n <= 0); 112208#L26 call #t~ret0 := fact(~n - 1);< 112214#factENTRY ~n := #in~n; 112324#L25 assume !(~n <= 0); 112211#L26 call #t~ret0 := fact(~n - 1);< 112322#factENTRY ~n := #in~n; 112324#L25 assume !(~n <= 0); 112211#L26 call #t~ret0 := fact(~n - 1);< 112322#factENTRY ~n := #in~n; 112324#L25 assume !(~n <= 0); 112211#L26 call #t~ret0 := fact(~n - 1);< 112322#factENTRY ~n := #in~n; 112325#L25 assume ~n <= 0;#res := 1; 112323#factFINAL assume true; 112321#factEXIT >#66#return; 112320#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112217#factFINAL assume true; 112206#factEXIT >#66#return; 112213#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112352#factFINAL assume true; 112351#factEXIT >#66#return; 112350#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112360#factFINAL assume true; 112348#factEXIT >#66#return; 112346#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112344#factFINAL assume true; 112340#factEXIT >#76#return; 112341#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 112386#factENTRY ~n := #in~n; 112417#L25 assume !(~n <= 0); 112197#L26 call #t~ret0 := fact(~n - 1);< 112203#factENTRY ~n := #in~n; 112216#L25 assume ~n <= 0;#res := 1; 112205#factFINAL assume true; 112195#factEXIT >#66#return; 112201#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112387#factFINAL assume true; 112381#factEXIT >#78#return; 112383#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; 112375#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 112374#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 112373#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 112372#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 112371#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 112368#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 112296#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; 112263#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 112041#factENTRY ~n := #in~n; 112312#L25 assume !(~n <= 0); 112301#L26 call #t~ret0 := fact(~n - 1);< 112303#factENTRY ~n := #in~n; 112293#L25 assume !(~n <= 0); 112300#L26 call #t~ret0 := fact(~n - 1);< 112314#factENTRY ~n := #in~n; 112317#L25 assume ~n <= 0;#res := 1; 112316#factFINAL assume true; 112313#factEXIT >#66#return; 112310#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112306#factFINAL assume true; 112298#factEXIT >#66#return; 112297#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 112295#factFINAL assume true; 112294#factEXIT >#68#return; 112258#L30-1 [2022-07-22 01:29:56,003 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:56,003 INFO L85 PathProgramCache]: Analyzing trace with hash -243979040, now seen corresponding path program 13 times [2022-07-22 01:29:56,003 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:56,004 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1535116520] [2022-07-22 01:29:56,004 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:56,004 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:56,011 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:56,011 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1559923568] [2022-07-22 01:29:56,011 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-22 01:29:56,011 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:56,011 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:56,016 INFO L229 MonitoredProcess]: Starting monitored process 137 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:29:56,017 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (137)] Waiting until timeout for monitored process [2022-07-22 01:29:56,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:56,132 INFO L263 TraceCheckSpWp]: Trace formula consists of 523 conjuncts, 10 conjunts are in the unsatisfiable core [2022-07-22 01:29:56,134 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:56,191 INFO L134 CoverageAnalysis]: Checked inductivity of 2403 backedges. 1106 proven. 3 refuted. 0 times theorem prover too weak. 1294 trivial. 0 not checked. [2022-07-22 01:29:56,191 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:56,447 INFO L134 CoverageAnalysis]: Checked inductivity of 2403 backedges. 120 proven. 164 refuted. 0 times theorem prover too weak. 2119 trivial. 0 not checked. [2022-07-22 01:29:56,447 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:56,447 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1535116520] [2022-07-22 01:29:56,447 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:56,447 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1559923568] [2022-07-22 01:29:56,447 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1559923568] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:56,447 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:56,447 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 11 [2022-07-22 01:29:56,447 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1471658942] [2022-07-22 01:29:56,447 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:56,448 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:29:56,448 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:56,448 INFO L85 PathProgramCache]: Analyzing trace with hash 1942646420, now seen corresponding path program 12 times [2022-07-22 01:29:56,448 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:56,449 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1117512097] [2022-07-22 01:29:56,449 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:56,449 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:56,455 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:56,455 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [281521748] [2022-07-22 01:29:56,455 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-22 01:29:56,455 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:56,455 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:56,458 INFO L229 MonitoredProcess]: Starting monitored process 138 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:29:56,459 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (138)] Waiting until timeout for monitored process [2022-07-22 01:29:56,535 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2022-07-22 01:29:56,535 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:29:56,536 INFO L263 TraceCheckSpWp]: Trace formula consists of 212 conjuncts, 22 conjunts are in the unsatisfiable core [2022-07-22 01:29:56,538 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:56,683 INFO L134 CoverageAnalysis]: Checked inductivity of 2923 backedges. 1712 proven. 119 refuted. 0 times theorem prover too weak. 1092 trivial. 0 not checked. [2022-07-22 01:29:56,683 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:57,494 INFO L134 CoverageAnalysis]: Checked inductivity of 2923 backedges. 488 proven. 426 refuted. 0 times theorem prover too weak. 2009 trivial. 0 not checked. [2022-07-22 01:29:57,495 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:57,495 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1117512097] [2022-07-22 01:29:57,495 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:57,495 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [281521748] [2022-07-22 01:29:57,495 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [281521748] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:57,495 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:57,496 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 20] total 23 [2022-07-22 01:29:57,496 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1798769829] [2022-07-22 01:29:57,496 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:57,496 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:29:57,497 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:57,497 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-07-22 01:29:57,497 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=428, Unknown=0, NotChecked=0, Total=506 [2022-07-22 01:29:57,497 INFO L87 Difference]: Start difference. First operand 1575 states and 2301 transitions. cyclomatic complexity: 751 Second operand has 23 states, 20 states have (on average 3.15) internal successors, (63), 23 states have internal predecessors, (63), 14 states have call successors, (24), 2 states have call predecessors, (24), 9 states have return successors, (27), 9 states have call predecessors, (27), 14 states have call successors, (27) [2022-07-22 01:29:58,388 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:29:58,389 INFO L93 Difference]: Finished difference Result 2018 states and 3128 transitions. [2022-07-22 01:29:58,390 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-07-22 01:29:58,390 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2018 states and 3128 transitions. [2022-07-22 01:29:58,398 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 226 [2022-07-22 01:29:58,410 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2018 states to 2013 states and 3118 transitions. [2022-07-22 01:29:58,410 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 419 [2022-07-22 01:29:58,411 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 419 [2022-07-22 01:29:58,411 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2013 states and 3118 transitions. [2022-07-22 01:29:58,411 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:29:58,411 INFO L369 hiAutomatonCegarLoop]: Abstraction has 2013 states and 3118 transitions. [2022-07-22 01:29:58,412 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2013 states and 3118 transitions. [2022-07-22 01:29:58,443 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2013 to 1666. [2022-07-22 01:29:58,444 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1666 states, 1039 states have (on average 1.1020211742059673) internal successors, (1145), 1046 states have internal predecessors, (1145), 412 states have call successors, (420), 217 states have call predecessors, (420), 215 states have return successors, (923), 402 states have call predecessors, (923), 412 states have call successors, (923) [2022-07-22 01:29:58,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1666 states to 1666 states and 2488 transitions. [2022-07-22 01:29:58,450 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1666 states and 2488 transitions. [2022-07-22 01:29:58,451 INFO L374 stractBuchiCegarLoop]: Abstraction has 1666 states and 2488 transitions. [2022-07-22 01:29:58,451 INFO L287 stractBuchiCegarLoop]: ======== Iteration 27 ============ [2022-07-22 01:29:58,451 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1666 states and 2488 transitions. [2022-07-22 01:29:58,455 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 157 [2022-07-22 01:29:58,455 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:29:58,455 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:29:58,457 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [33, 33, 19, 14, 14, 14, 14, 7, 6, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1] [2022-07-22 01:29:58,457 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-22 01:29:58,457 INFO L752 eck$LassoCheckResult]: Stem: 118386#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 118357#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; 118358#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 118385#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; 118370#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 118371#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 119438#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; 118342#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 118343#factENTRY ~n := #in~n; 119650#L25 assume ~n <= 0;#res := 1; 119649#factFINAL assume true; 119648#factEXIT >#68#return; 118405#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 118339#factENTRY ~n := #in~n; 119567#L25 assume ~n <= 0;#res := 1; 119566#factFINAL assume true; 119565#factEXIT >#70#return; 118338#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 118339#factENTRY ~n := #in~n; 119567#L25 assume ~n <= 0;#res := 1; 119566#factFINAL assume true; 119565#factEXIT >#72#return; 118379#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; 118376#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 118377#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 119754#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 119803#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; 119789#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 119797#factENTRY ~n := #in~n; 119809#L25 assume !(~n <= 0); 119806#L26 call #t~ret0 := fact(~n - 1);< 119807#factENTRY ~n := #in~n; 119829#L25 assume ~n <= 0;#res := 1; 119828#factFINAL assume true; 119805#factEXIT >#66#return; 119804#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119799#factFINAL assume true; 119788#factEXIT >#74#return; 119782#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 119783#factENTRY ~n := #in~n; 119946#L25 assume ~n <= 0;#res := 1; 119944#factFINAL assume true; 119942#factEXIT >#76#return; 118355#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 118354#factENTRY ~n := #in~n; 118356#L25 assume !(~n <= 0); 118366#L26 call #t~ret0 := fact(~n - 1);< 118367#factENTRY ~n := #in~n; 119950#L25 assume ~n <= 0;#res := 1; 119949#factFINAL assume true; 119947#factEXIT >#66#return; 119948#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119960#factFINAL assume true; 118938#factEXIT >#78#return; 118939#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; 119983#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 119981#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 119980#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 118923#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; 118912#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 118913#factENTRY ~n := #in~n; 118921#L25 assume !(~n <= 0); 118918#L26 call #t~ret0 := fact(~n - 1);< 118919#factENTRY ~n := #in~n; 118922#L25 assume ~n <= 0;#res := 1; 118920#factFINAL assume true; 118917#factEXIT >#66#return; 118916#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 118915#factFINAL assume true; 118911#factEXIT >#74#return; 118908#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 118909#factENTRY ~n := #in~n; 118914#L25 assume ~n <= 0;#res := 1; 118910#factFINAL assume true; 118907#factEXIT >#76#return; 118324#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 118904#factENTRY ~n := #in~n; 119716#L25 assume !(~n <= 0); 119708#L26 call #t~ret0 := fact(~n - 1);< 119715#factENTRY ~n := #in~n; 119733#L25 assume ~n <= 0;#res := 1; 119730#factFINAL assume true; 119726#factEXIT >#66#return; 119705#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119703#factFINAL assume true; 118323#factEXIT >#78#return; 118325#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; 118359#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 118368#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 118409#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 118381#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 118382#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 118392#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 118393#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; 119387#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 119393#factENTRY ~n := #in~n; 119419#L25 assume !(~n <= 0); 119408#L26 call #t~ret0 := fact(~n - 1);< 119413#factENTRY ~n := #in~n; 119422#L25 assume ~n <= 0;#res := 1; 119417#factFINAL assume true; 119412#factEXIT >#66#return; 119404#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119401#factFINAL assume true; 119398#factEXIT >#68#return; 119392#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 119395#factENTRY ~n := #in~n; 119397#L25 assume ~n <= 0;#res := 1; 119394#factFINAL assume true; 119391#factEXIT >#70#return; 119385#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 119400#factENTRY ~n := #in~n; 119420#L25 assume !(~n <= 0); 119408#L26 call #t~ret0 := fact(~n - 1);< 119413#factENTRY ~n := #in~n; 119422#L25 assume ~n <= 0;#res := 1; 119417#factFINAL assume true; 119412#factEXIT >#66#return; 119404#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119401#factFINAL assume true; 119398#factEXIT >#72#return; 119388#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; 119515#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 119472#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 119473#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 119467#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; 119274#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 119275#factENTRY ~n := #in~n; 119293#L25 assume !(~n <= 0); 119282#L26 call #t~ret0 := fact(~n - 1);< 119292#factENTRY ~n := #in~n; 119298#L25 assume ~n <= 0;#res := 1; 119295#factFINAL assume true; 119280#factEXIT >#66#return; 119278#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119277#factFINAL assume true; 119273#factEXIT >#68#return; 119269#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 119271#factENTRY ~n := #in~n; 119294#L25 assume !(~n <= 0); 119155#L26 call #t~ret0 := fact(~n - 1);< 119161#factENTRY ~n := #in~n; 119169#L25 assume ~n <= 0;#res := 1; 119163#factFINAL assume true; 119149#factEXIT >#66#return; 119160#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119279#factFINAL assume true; 119268#factEXIT >#70#return; 119265#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 119266#factENTRY ~n := #in~n; 119301#L25 assume ~n <= 0;#res := 1; 119299#factFINAL assume true; 119264#factEXIT >#72#return; 119263#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; 119261#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 119259#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 119257#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 119256#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; 119251#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 119254#factENTRY ~n := #in~n; 119253#L25 assume !(~n <= 0); 119151#L26 call #t~ret0 := fact(~n - 1);< 119234#factENTRY ~n := #in~n; 119250#L25 assume !(~n <= 0); 119215#L26 call #t~ret0 := fact(~n - 1);< 119249#factENTRY ~n := #in~n; 119272#L25 assume ~n <= 0;#res := 1; 119267#factFINAL assume true; 119262#factEXIT >#66#return; 119260#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119258#factFINAL assume true; 119246#factEXIT >#66#return; 119247#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119352#factFINAL assume true; 119353#factEXIT >#74#return; 119362#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 119361#factENTRY ~n := #in~n; 119365#L25 assume !(~n <= 0); 119154#L26 call #t~ret0 := fact(~n - 1);< 119161#factENTRY ~n := #in~n; 119169#L25 assume ~n <= 0;#res := 1; 119163#factFINAL assume true; 119149#factEXIT >#66#return; 119159#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119493#factFINAL assume true; 119494#factEXIT >#76#return; 119364#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 119361#factENTRY ~n := #in~n; 119365#L25 assume !(~n <= 0); 119154#L26 call #t~ret0 := fact(~n - 1);< 119161#factENTRY ~n := #in~n; 119169#L25 assume ~n <= 0;#res := 1; 119163#factFINAL assume true; 119149#factEXIT >#66#return; 119159#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 119493#factFINAL assume true; 119494#factEXIT >#78#return; 119490#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; 119663#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 119660#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 119659#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 118383#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 118384#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 118739#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 118666#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; 118620#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 118404#factENTRY ~n := #in~n; 118674#L25 assume !(~n <= 0); 118668#L26 call #t~ret0 := fact(~n - 1);< 118669#factENTRY ~n := #in~n; 118677#L25 assume !(~n <= 0); 118685#L26 call #t~ret0 := fact(~n - 1);< 118699#factENTRY ~n := #in~n; 118702#L25 assume ~n <= 0;#res := 1; 118700#factFINAL assume true; 118698#factEXIT >#66#return; 118696#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 118691#factFINAL assume true; 118683#factEXIT >#66#return; 118679#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 118673#factFINAL assume true; 118627#factEXIT >#68#return; 118619#L30-1 [2022-07-22 01:29:58,458 INFO L754 eck$LassoCheckResult]: Loop: 118619#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 118404#factENTRY ~n := #in~n; 118674#L25 assume ~n <= 0;#res := 1; 118628#factFINAL assume true; 118625#factEXIT >#70#return; 118622#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 118341#factENTRY ~n := #in~n; 118689#L25 assume !(~n <= 0); 118684#L26 call #t~ret0 := fact(~n - 1);< 118688#factENTRY ~n := #in~n; 118677#L25 assume !(~n <= 0); 118685#L26 call #t~ret0 := fact(~n - 1);< 118699#factENTRY ~n := #in~n; 118702#L25 assume ~n <= 0;#res := 1; 118700#factFINAL assume true; 118698#factEXIT >#66#return; 118696#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 118691#factFINAL assume true; 118683#factEXIT >#66#return; 118679#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 118673#factFINAL assume true; 118627#factEXIT >#72#return; 118588#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; 118613#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 118612#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 118611#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 118610#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; 118469#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 118555#factENTRY ~n := #in~n; 118550#L25 assume !(~n <= 0); 118455#L26 call #t~ret0 := fact(~n - 1);< 118471#factENTRY ~n := #in~n; 118476#L25 assume !(~n <= 0); 118454#L26 call #t~ret0 := fact(~n - 1);< 118481#factENTRY ~n := #in~n; 118477#L25 assume ~n <= 0;#res := 1; 118475#factFINAL assume true; 118473#factEXIT >#66#return; 118472#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 118452#factFINAL assume true; 118460#factEXIT >#66#return; 118563#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 118609#factFINAL assume true; 118601#factEXIT >#68#return; 118574#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 118585#factENTRY ~n := #in~n; 118597#L25 assume !(~n <= 0); 118458#L26 call #t~ret0 := fact(~n - 1);< 118544#factENTRY ~n := #in~n; 118549#L25 assume ~n <= 0;#res := 1; 118542#factFINAL assume true; 118533#factEXIT >#66#return; 118538#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 118671#factFINAL assume true; 118607#factEXIT >#70#return; 118485#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 118608#factENTRY ~n := #in~n; 118484#L25 assume !(~n <= 0); 118458#L26 call #t~ret0 := fact(~n - 1);< 118544#factENTRY ~n := #in~n; 118476#L25 assume !(~n <= 0); 118454#L26 call #t~ret0 := fact(~n - 1);< 118481#factENTRY ~n := #in~n; 118477#L25 assume ~n <= 0;#res := 1; 118475#factFINAL assume true; 118473#factEXIT >#66#return; 118472#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 118452#factFINAL assume true; 118460#factEXIT >#66#return; 118563#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 118609#factFINAL assume true; 118601#factEXIT >#72#return; 118589#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; 118606#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 118605#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 118603#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 118602#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; 118463#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 118555#factENTRY ~n := #in~n; 118550#L25 assume !(~n <= 0); 118455#L26 call #t~ret0 := fact(~n - 1);< 118471#factENTRY ~n := #in~n; 118476#L25 assume !(~n <= 0); 118454#L26 call #t~ret0 := fact(~n - 1);< 118481#factENTRY ~n := #in~n; 118477#L25 assume ~n <= 0;#res := 1; 118475#factFINAL assume true; 118473#factEXIT >#66#return; 118472#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 118452#factFINAL assume true; 118460#factEXIT >#66#return; 118563#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 118609#factFINAL assume true; 118601#factEXIT >#68#return; 118578#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 118585#factENTRY ~n := #in~n; 118597#L25 assume !(~n <= 0); 118458#L26 call #t~ret0 := fact(~n - 1);< 118544#factENTRY ~n := #in~n; 118476#L25 assume !(~n <= 0); 118454#L26 call #t~ret0 := fact(~n - 1);< 118481#factENTRY ~n := #in~n; 118477#L25 assume ~n <= 0;#res := 1; 118475#factFINAL assume true; 118473#factEXIT >#66#return; 118472#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 118452#factFINAL assume true; 118460#factEXIT >#66#return; 118563#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 118609#factFINAL assume true; 118601#factEXIT >#70#return; 118582#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 118585#factENTRY ~n := #in~n; 118597#L25 assume ~n <= 0;#res := 1; 118594#factFINAL assume true; 118570#factEXIT >#72#return; 118560#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; 118559#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 118558#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 118554#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 118548#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; 118414#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 118528#factENTRY ~n := #in~n; 118557#L25 assume !(~n <= 0); 118453#L26 call #t~ret0 := fact(~n - 1);< 118471#factENTRY ~n := #in~n; 118476#L25 assume !(~n <= 0); 118454#L26 call #t~ret0 := fact(~n - 1);< 118481#factENTRY ~n := #in~n; 118476#L25 assume !(~n <= 0); 118454#L26 call #t~ret0 := fact(~n - 1);< 118481#factENTRY ~n := #in~n; 118477#L25 assume ~n <= 0;#res := 1; 118475#factFINAL assume true; 118473#factEXIT >#66#return; 118472#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 118452#factFINAL assume true; 118460#factEXIT >#66#return; 118561#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 118556#factFINAL assume true; 118551#factEXIT >#66#return; 118547#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 118540#factFINAL assume true; 118413#factEXIT >#74#return; 118415#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 118528#factENTRY ~n := #in~n; 118557#L25 assume !(~n <= 0); 118453#L26 call #t~ret0 := fact(~n - 1);< 118471#factENTRY ~n := #in~n; 118476#L25 assume !(~n <= 0); 118454#L26 call #t~ret0 := fact(~n - 1);< 118481#factENTRY ~n := #in~n; 118476#L25 assume !(~n <= 0); 118454#L26 call #t~ret0 := fact(~n - 1);< 118481#factENTRY ~n := #in~n; 118476#L25 assume !(~n <= 0); 118454#L26 call #t~ret0 := fact(~n - 1);< 118481#factENTRY ~n := #in~n; 118477#L25 assume ~n <= 0;#res := 1; 118475#factFINAL assume true; 118473#factEXIT >#66#return; 118472#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 118452#factFINAL assume true; 118460#factEXIT >#66#return; 118561#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 118556#factFINAL assume true; 118551#factEXIT >#66#return; 118552#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 118742#factFINAL assume true; 118707#factEXIT >#66#return; 118706#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 118704#factFINAL assume true; 118529#factEXIT >#76#return; 118417#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 118512#factENTRY ~n := #in~n; 118546#L25 assume !(~n <= 0); 118535#L26 call #t~ret0 := fact(~n - 1);< 118539#factENTRY ~n := #in~n; 118549#L25 assume ~n <= 0;#res := 1; 118542#factFINAL assume true; 118533#factEXIT >#66#return; 118531#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 118527#factFINAL assume true; 118510#factEXIT >#78#return; 118511#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; 118745#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 118744#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 118743#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 118741#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 118737#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 118735#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 118672#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; 118616#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 118341#factENTRY ~n := #in~n; 118689#L25 assume !(~n <= 0); 118684#L26 call #t~ret0 := fact(~n - 1);< 118688#factENTRY ~n := #in~n; 118677#L25 assume !(~n <= 0); 118685#L26 call #t~ret0 := fact(~n - 1);< 118699#factENTRY ~n := #in~n; 118702#L25 assume ~n <= 0;#res := 1; 118700#factFINAL assume true; 118698#factEXIT >#66#return; 118696#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 118691#factFINAL assume true; 118683#factEXIT >#66#return; 118679#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 118673#factFINAL assume true; 118627#factEXIT >#68#return; 118619#L30-1 [2022-07-22 01:29:58,458 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:58,459 INFO L85 PathProgramCache]: Analyzing trace with hash -243979040, now seen corresponding path program 14 times [2022-07-22 01:29:58,459 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:58,459 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1711819928] [2022-07-22 01:29:58,459 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:58,459 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:58,468 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:58,468 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1442457806] [2022-07-22 01:29:58,468 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 01:29:58,468 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:58,469 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:58,470 INFO L229 MonitoredProcess]: Starting monitored process 139 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:29:58,471 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (139)] Waiting until timeout for monitored process [2022-07-22 01:29:58,592 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 01:29:58,592 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:29:58,595 INFO L263 TraceCheckSpWp]: Trace formula consists of 523 conjuncts, 10 conjunts are in the unsatisfiable core [2022-07-22 01:29:58,597 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:58,666 INFO L134 CoverageAnalysis]: Checked inductivity of 2403 backedges. 1106 proven. 3 refuted. 0 times theorem prover too weak. 1294 trivial. 0 not checked. [2022-07-22 01:29:58,666 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:58,873 INFO L134 CoverageAnalysis]: Checked inductivity of 2403 backedges. 120 proven. 164 refuted. 0 times theorem prover too weak. 2119 trivial. 0 not checked. [2022-07-22 01:29:58,873 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:58,873 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1711819928] [2022-07-22 01:29:58,873 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:58,873 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1442457806] [2022-07-22 01:29:58,873 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1442457806] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:58,873 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:58,873 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 11 [2022-07-22 01:29:58,873 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1644513319] [2022-07-22 01:29:58,873 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:58,874 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:29:58,874 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:29:58,874 INFO L85 PathProgramCache]: Analyzing trace with hash -1719565420, now seen corresponding path program 13 times [2022-07-22 01:29:58,874 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:29:58,875 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [54010530] [2022-07-22 01:29:58,875 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:29:58,875 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:29:58,889 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:29:58,890 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1349059213] [2022-07-22 01:29:58,890 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-22 01:29:58,890 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:29:58,890 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:29:58,895 INFO L229 MonitoredProcess]: Starting monitored process 140 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:29:58,918 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (140)] Waiting until timeout for monitored process [2022-07-22 01:29:59,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:29:59,012 INFO L263 TraceCheckSpWp]: Trace formula consists of 464 conjuncts, 15 conjunts are in the unsatisfiable core [2022-07-22 01:29:59,015 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:29:59,120 INFO L134 CoverageAnalysis]: Checked inductivity of 2569 backedges. 1336 proven. 72 refuted. 0 times theorem prover too weak. 1161 trivial. 0 not checked. [2022-07-22 01:29:59,120 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:29:59,603 INFO L134 CoverageAnalysis]: Checked inductivity of 2569 backedges. 132 proven. 596 refuted. 0 times theorem prover too weak. 1841 trivial. 0 not checked. [2022-07-22 01:29:59,603 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:29:59,603 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [54010530] [2022-07-22 01:29:59,603 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:29:59,603 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1349059213] [2022-07-22 01:29:59,604 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1349059213] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:29:59,604 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:29:59,604 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 14] total 17 [2022-07-22 01:29:59,604 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1281050036] [2022-07-22 01:29:59,604 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:29:59,605 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:29:59,605 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:29:59,605 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-07-22 01:29:59,606 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=221, Unknown=0, NotChecked=0, Total=272 [2022-07-22 01:29:59,606 INFO L87 Difference]: Start difference. First operand 1666 states and 2488 transitions. cyclomatic complexity: 847 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, (28), 9 states have call predecessors, (28), 11 states have call successors, (28) [2022-07-22 01:30:00,020 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:30:00,020 INFO L93 Difference]: Finished difference Result 2042 states and 2901 transitions. [2022-07-22 01:30:00,021 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-07-22 01:30:00,021 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2042 states and 2901 transitions. [2022-07-22 01:30:00,028 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 209 [2022-07-22 01:30:00,039 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2042 states to 2028 states and 2882 transitions. [2022-07-22 01:30:00,039 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 415 [2022-07-22 01:30:00,039 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 415 [2022-07-22 01:30:00,040 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2028 states and 2882 transitions. [2022-07-22 01:30:00,040 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:30:00,040 INFO L369 hiAutomatonCegarLoop]: Abstraction has 2028 states and 2882 transitions. [2022-07-22 01:30:00,041 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2028 states and 2882 transitions. [2022-07-22 01:30:00,068 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2028 to 1669. [2022-07-22 01:30:00,069 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1669 states, 1045 states have (on average 1.1023923444976076) internal successors, (1152), 1050 states have internal predecessors, (1152), 409 states have call successors, (417), 220 states have call predecessors, (417), 215 states have return successors, (883), 398 states have call predecessors, (883), 409 states have call successors, (883) [2022-07-22 01:30:00,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1669 states to 1669 states and 2452 transitions. [2022-07-22 01:30:00,075 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1669 states and 2452 transitions. [2022-07-22 01:30:00,075 INFO L374 stractBuchiCegarLoop]: Abstraction has 1669 states and 2452 transitions. [2022-07-22 01:30:00,076 INFO L287 stractBuchiCegarLoop]: ======== Iteration 28 ============ [2022-07-22 01:30:00,076 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1669 states and 2452 transitions. [2022-07-22 01:30:00,080 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 157 [2022-07-22 01:30:00,080 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:30:00,080 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:30:00,081 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [33, 33, 19, 14, 14, 14, 14, 7, 6, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1] [2022-07-22 01:30:00,081 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-22 01:30:00,082 INFO L752 eck$LassoCheckResult]: Stem: 124706#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 124680#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; 124681#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 124705#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; 124726#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 125898#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 125894#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; 125861#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 125862#factENTRY ~n := #in~n; 125883#L25 assume ~n <= 0;#res := 1; 125882#factFINAL assume true; 125860#factEXIT >#68#return; 124719#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 124720#factENTRY ~n := #in~n; 125939#L25 assume ~n <= 0;#res := 1; 125928#factFINAL assume true; 125923#factEXIT >#70#return; 125924#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 124720#factENTRY ~n := #in~n; 125939#L25 assume ~n <= 0;#res := 1; 125928#factFINAL assume true; 125923#factEXIT >#72#return; 125925#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; 124703#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 124704#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 126083#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 126084#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; 126114#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 126115#factENTRY ~n := #in~n; 126122#L25 assume !(~n <= 0); 126119#L26 call #t~ret0 := fact(~n - 1);< 126121#factENTRY ~n := #in~n; 126130#L25 assume ~n <= 0;#res := 1; 126200#factFINAL assume true; 126199#factEXIT >#66#return; 126197#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 126196#factFINAL assume true; 126193#factEXIT >#74#return; 126108#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 126109#factENTRY ~n := #in~n; 126198#L25 assume ~n <= 0;#res := 1; 126194#factFINAL assume true; 126176#factEXIT >#76#return; 125974#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 126172#factENTRY ~n := #in~n; 126164#L25 assume !(~n <= 0); 126152#L26 call #t~ret0 := fact(~n - 1);< 126155#factENTRY ~n := #in~n; 126163#L25 assume ~n <= 0;#res := 1; 126160#factFINAL assume true; 126151#factEXIT >#66#return; 126154#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 126297#factFINAL assume true; 125973#factEXIT >#78#return; 125971#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; 125969#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 125965#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 125962#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 125963#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; 125701#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 125702#factENTRY ~n := #in~n; 125712#L25 assume !(~n <= 0); 125709#L26 call #t~ret0 := fact(~n - 1);< 125710#factENTRY ~n := #in~n; 125713#L25 assume ~n <= 0;#res := 1; 125711#factFINAL assume true; 125708#factEXIT >#66#return; 125707#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 125704#factFINAL assume true; 125700#factEXIT >#74#return; 125697#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 125698#factENTRY ~n := #in~n; 125703#L25 assume ~n <= 0;#res := 1; 125699#factFINAL assume true; 125696#factEXIT >#76#return; 124655#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 125695#factENTRY ~n := #in~n; 125694#L25 assume !(~n <= 0); 125690#L26 call #t~ret0 := fact(~n - 1);< 125693#factENTRY ~n := #in~n; 125990#L25 assume ~n <= 0;#res := 1; 125991#factFINAL assume true; 125688#factEXIT >#66#return; 124709#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124666#factFINAL assume true; 124654#factEXIT >#78#return; 124656#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; 124682#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 124689#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 124725#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 124696#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 124691#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 124692#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 124715#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; 125831#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 125838#factENTRY ~n := #in~n; 125880#L25 assume !(~n <= 0); 125877#L26 call #t~ret0 := fact(~n - 1);< 125878#factENTRY ~n := #in~n; 125889#L25 assume ~n <= 0;#res := 1; 125887#factFINAL assume true; 125876#factEXIT >#66#return; 125859#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 125856#factFINAL assume true; 125852#factEXIT >#68#return; 125837#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 125850#factENTRY ~n := #in~n; 125855#L25 assume ~n <= 0;#res := 1; 125849#factFINAL assume true; 125836#factEXIT >#70#return; 125828#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 125857#factENTRY ~n := #in~n; 125881#L25 assume !(~n <= 0); 125877#L26 call #t~ret0 := fact(~n - 1);< 125878#factENTRY ~n := #in~n; 125889#L25 assume ~n <= 0;#res := 1; 125887#factFINAL assume true; 125876#factEXIT >#66#return; 125859#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 125856#factFINAL assume true; 125852#factEXIT >#72#return; 124700#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; 124701#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 125937#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 125913#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 125854#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; 125847#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 125848#factENTRY ~n := #in~n; 125879#L25 assume !(~n <= 0); 125865#L26 call #t~ret0 := fact(~n - 1);< 125875#factENTRY ~n := #in~n; 125895#L25 assume ~n <= 0;#res := 1; 125884#factFINAL assume true; 125863#factEXIT >#66#return; 125858#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 125853#factFINAL assume true; 125846#factEXIT >#68#return; 125833#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 125834#factENTRY ~n := #in~n; 125851#L25 assume !(~n <= 0); 125735#L26 call #t~ret0 := fact(~n - 1);< 125742#factENTRY ~n := #in~n; 125761#L25 assume ~n <= 0;#res := 1; 125747#factFINAL assume true; 125729#factEXIT >#66#return; 125740#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 125845#factFINAL assume true; 125832#factEXIT >#70#return; 125806#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 125807#factENTRY ~n := #in~n; 125814#L25 assume ~n <= 0;#res := 1; 125813#factFINAL assume true; 125805#factEXIT >#72#return; 125802#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; 125799#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 125797#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 125792#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 125791#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; 125785#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 125789#factENTRY ~n := #in~n; 125787#L25 assume !(~n <= 0); 125734#L26 call #t~ret0 := fact(~n - 1);< 125766#factENTRY ~n := #in~n; 125788#L25 assume !(~n <= 0); 125750#L26 call #t~ret0 := fact(~n - 1);< 125778#factENTRY ~n := #in~n; 125804#L25 assume ~n <= 0;#res := 1; 125801#factFINAL assume true; 125795#factEXIT >#66#return; 125794#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 125784#factFINAL assume true; 125775#factEXIT >#66#return; 125777#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 125843#factFINAL assume true; 125841#factEXIT >#74#return; 125842#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 125919#factENTRY ~n := #in~n; 125936#L25 assume !(~n <= 0); 125731#L26 call #t~ret0 := fact(~n - 1);< 125742#factENTRY ~n := #in~n; 125761#L25 assume ~n <= 0;#res := 1; 125747#factFINAL assume true; 125729#factEXIT >#66#return; 125739#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 125920#factFINAL assume true; 125914#factEXIT >#76#return; 125915#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 125919#factENTRY ~n := #in~n; 125936#L25 assume !(~n <= 0); 125731#L26 call #t~ret0 := fact(~n - 1);< 125742#factENTRY ~n := #in~n; 125761#L25 assume ~n <= 0;#res := 1; 125747#factFINAL assume true; 125729#factEXIT >#66#return; 125739#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 125920#factFINAL assume true; 125914#factEXIT >#78#return; 125917#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; 124684#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 124690#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 124716#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 124697#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 124693#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 124694#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 125009#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; 124899#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 124718#factENTRY ~n := #in~n; 124936#L25 assume !(~n <= 0); 124915#L26 call #t~ret0 := fact(~n - 1);< 124941#factENTRY ~n := #in~n; 124929#L25 assume !(~n <= 0); 124918#L26 call #t~ret0 := fact(~n - 1);< 124925#factENTRY ~n := #in~n; 124927#L25 assume ~n <= 0;#res := 1; 124926#factFINAL assume true; 124924#factEXIT >#66#return; 124923#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124921#factFINAL assume true; 124914#factEXIT >#66#return; 124913#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124912#factFINAL assume true; 124910#factEXIT >#68#return; 124905#L30-1 [2022-07-22 01:30:00,082 INFO L754 eck$LassoCheckResult]: Loop: 124905#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 124718#factENTRY ~n := #in~n; 124936#L25 assume ~n <= 0;#res := 1; 124909#factFINAL assume true; 124907#factEXIT >#70#return; 124900#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 124671#factENTRY ~n := #in~n; 124935#L25 assume !(~n <= 0); 124916#L26 call #t~ret0 := fact(~n - 1);< 124920#factENTRY ~n := #in~n; 124929#L25 assume !(~n <= 0); 124918#L26 call #t~ret0 := fact(~n - 1);< 124925#factENTRY ~n := #in~n; 124929#L25 assume !(~n <= 0); 124918#L26 call #t~ret0 := fact(~n - 1);< 124925#factENTRY ~n := #in~n; 124927#L25 assume ~n <= 0;#res := 1; 124926#factFINAL assume true; 124924#factEXIT >#66#return; 124923#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124921#factFINAL assume true; 124914#factEXIT >#66#return; 124919#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124945#factFINAL assume true; 124944#factEXIT >#66#return; 124942#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124937#factFINAL assume true; 124898#factEXIT >#72#return; 124853#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; 124896#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 124893#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 124890#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 124889#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; 124851#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 124857#factENTRY ~n := #in~n; 124895#L25 assume !(~n <= 0); 124790#L26 call #t~ret0 := fact(~n - 1);< 124794#factENTRY ~n := #in~n; 124809#L25 assume !(~n <= 0); 124784#L26 call #t~ret0 := fact(~n - 1);< 124806#factENTRY ~n := #in~n; 124812#L25 assume ~n <= 0;#res := 1; 124807#factFINAL assume true; 124805#factEXIT >#66#return; 124804#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124799#factFINAL assume true; 124783#factEXIT >#66#return; 124793#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124862#factFINAL assume true; 124856#factEXIT >#68#return; 124830#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 124854#factENTRY ~n := #in~n; 124892#L25 assume !(~n <= 0); 124789#L26 call #t~ret0 := fact(~n - 1);< 124802#factENTRY ~n := #in~n; 124894#L25 assume ~n <= 0;#res := 1; 124891#factFINAL assume true; 124883#factEXIT >#66#return; 124882#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124881#factFINAL assume true; 124873#factEXIT >#70#return; 124875#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 124877#factENTRY ~n := #in~n; 124933#L25 assume !(~n <= 0); 124860#L26 call #t~ret0 := fact(~n - 1);< 124888#factENTRY ~n := #in~n; 124894#L25 assume ~n <= 0;#res := 1; 124891#factFINAL assume true; 124883#factEXIT >#66#return; 124882#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124881#factFINAL assume true; 124873#factEXIT >#72#return; 124871#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; 124869#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 124867#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 124865#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 124863#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; 124811#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 124857#factENTRY ~n := #in~n; 124895#L25 assume !(~n <= 0); 124790#L26 call #t~ret0 := fact(~n - 1);< 124794#factENTRY ~n := #in~n; 124809#L25 assume !(~n <= 0); 124784#L26 call #t~ret0 := fact(~n - 1);< 124806#factENTRY ~n := #in~n; 124812#L25 assume ~n <= 0;#res := 1; 124807#factFINAL assume true; 124805#factEXIT >#66#return; 124804#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124799#factFINAL assume true; 124783#factEXIT >#66#return; 124793#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124862#factFINAL assume true; 124856#factEXIT >#68#return; 124837#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 124854#factENTRY ~n := #in~n; 124892#L25 assume !(~n <= 0); 124789#L26 call #t~ret0 := fact(~n - 1);< 124802#factENTRY ~n := #in~n; 124809#L25 assume !(~n <= 0); 124784#L26 call #t~ret0 := fact(~n - 1);< 124806#factENTRY ~n := #in~n; 124812#L25 assume ~n <= 0;#res := 1; 124807#factFINAL assume true; 124805#factEXIT >#66#return; 124804#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124799#factFINAL assume true; 124783#factEXIT >#66#return; 124793#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124862#factFINAL assume true; 124856#factEXIT >#70#return; 124828#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 124843#factENTRY ~n := #in~n; 124859#L25 assume ~n <= 0;#res := 1; 124845#factFINAL assume true; 124825#factEXIT >#72#return; 124823#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; 124820#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 124817#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 124814#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 124810#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; 124732#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 124776#factENTRY ~n := #in~n; 124803#L25 assume !(~n <= 0); 124787#L26 call #t~ret0 := fact(~n - 1);< 124794#factENTRY ~n := #in~n; 124809#L25 assume !(~n <= 0); 124784#L26 call #t~ret0 := fact(~n - 1);< 124806#factENTRY ~n := #in~n; 124809#L25 assume !(~n <= 0); 124784#L26 call #t~ret0 := fact(~n - 1);< 124806#factENTRY ~n := #in~n; 124812#L25 assume ~n <= 0;#res := 1; 124807#factFINAL assume true; 124805#factEXIT >#66#return; 124804#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124799#factFINAL assume true; 124783#factEXIT >#66#return; 124791#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 125099#factFINAL assume true; 124878#factEXIT >#66#return; 124750#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124751#factFINAL assume true; 124730#factEXIT >#74#return; 124733#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 124776#factENTRY ~n := #in~n; 124803#L25 assume !(~n <= 0); 124787#L26 call #t~ret0 := fact(~n - 1);< 124794#factENTRY ~n := #in~n; 124809#L25 assume !(~n <= 0); 124784#L26 call #t~ret0 := fact(~n - 1);< 124806#factENTRY ~n := #in~n; 124812#L25 assume ~n <= 0;#res := 1; 124807#factFINAL assume true; 124805#factEXIT >#66#return; 124804#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124799#factFINAL assume true; 124783#factEXIT >#66#return; 124778#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124775#factFINAL assume true; 124752#factEXIT >#76#return; 124727#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 124728#factENTRY ~n := #in~n; 124954#L25 assume !(~n <= 0); 124884#L26 call #t~ret0 := fact(~n - 1);< 124888#factENTRY ~n := #in~n; 124894#L25 assume ~n <= 0;#res := 1; 124891#factFINAL assume true; 124883#factEXIT >#66#return; 124886#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 125122#factFINAL assume true; 125120#factEXIT >#78#return; 125121#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; 125146#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 125977#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 125972#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 125970#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 125968#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 125210#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 124934#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; 124903#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 124671#factENTRY ~n := #in~n; 124935#L25 assume !(~n <= 0); 124916#L26 call #t~ret0 := fact(~n - 1);< 124920#factENTRY ~n := #in~n; 124929#L25 assume !(~n <= 0); 124918#L26 call #t~ret0 := fact(~n - 1);< 124925#factENTRY ~n := #in~n; 124927#L25 assume ~n <= 0;#res := 1; 124926#factFINAL assume true; 124924#factEXIT >#66#return; 124923#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124921#factFINAL assume true; 124914#factEXIT >#66#return; 124913#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 124912#factFINAL assume true; 124910#factEXIT >#68#return; 124905#L30-1 [2022-07-22 01:30:00,083 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:00,083 INFO L85 PathProgramCache]: Analyzing trace with hash -243979040, now seen corresponding path program 15 times [2022-07-22 01:30:00,083 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:00,083 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2085049749] [2022-07-22 01:30:00,083 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:00,084 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:00,090 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:00,090 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2008934911] [2022-07-22 01:30:00,091 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 01:30:00,091 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:00,091 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:00,096 INFO L229 MonitoredProcess]: Starting monitored process 141 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:00,115 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (141)] Waiting until timeout for monitored process [2022-07-22 01:30:00,232 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 17 check-sat command(s) [2022-07-22 01:30:00,232 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:00,234 INFO L263 TraceCheckSpWp]: Trace formula consists of 436 conjuncts, 20 conjunts are in the unsatisfiable core [2022-07-22 01:30:00,236 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:00,395 INFO L134 CoverageAnalysis]: Checked inductivity of 2403 backedges. 370 proven. 229 refuted. 0 times theorem prover too weak. 1804 trivial. 0 not checked. [2022-07-22 01:30:00,395 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:00,826 INFO L134 CoverageAnalysis]: Checked inductivity of 2403 backedges. 370 proven. 232 refuted. 0 times theorem prover too weak. 1801 trivial. 0 not checked. [2022-07-22 01:30:00,826 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:00,826 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2085049749] [2022-07-22 01:30:00,827 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:00,827 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2008934911] [2022-07-22 01:30:00,827 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2008934911] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:00,827 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:00,827 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 16] total 20 [2022-07-22 01:30:00,827 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1381345651] [2022-07-22 01:30:00,827 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:00,827 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:30:00,828 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:00,828 INFO L85 PathProgramCache]: Analyzing trace with hash 1418294852, now seen corresponding path program 14 times [2022-07-22 01:30:00,828 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:00,828 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2106085215] [2022-07-22 01:30:00,828 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:00,828 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:00,844 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:00,848 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [876659635] [2022-07-22 01:30:00,849 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 01:30:00,849 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:00,849 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:00,879 INFO L229 MonitoredProcess]: Starting monitored process 142 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:00,895 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (142)] Waiting until timeout for monitored process [2022-07-22 01:30:00,993 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 01:30:00,993 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:00,995 INFO L263 TraceCheckSpWp]: Trace formula consists of 440 conjuncts, 17 conjunts are in the unsatisfiable core [2022-07-22 01:30:00,997 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:01,179 INFO L134 CoverageAnalysis]: Checked inductivity of 2239 backedges. 366 proven. 207 refuted. 0 times theorem prover too weak. 1666 trivial. 0 not checked. [2022-07-22 01:30:01,179 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:01,686 INFO L134 CoverageAnalysis]: Checked inductivity of 2239 backedges. 367 proven. 211 refuted. 0 times theorem prover too weak. 1661 trivial. 0 not checked. [2022-07-22 01:30:01,687 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:01,687 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2106085215] [2022-07-22 01:30:01,687 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:01,687 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [876659635] [2022-07-22 01:30:01,687 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [876659635] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:01,687 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:01,687 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 15] total 18 [2022-07-22 01:30:01,687 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [548273899] [2022-07-22 01:30:01,687 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:01,688 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:30:01,688 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:30:01,688 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-07-22 01:30:01,688 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=285, Unknown=0, NotChecked=0, Total=342 [2022-07-22 01:30:01,688 INFO L87 Difference]: Start difference. First operand 1669 states and 2452 transitions. cyclomatic complexity: 808 Second operand has 19 states, 15 states have (on average 3.2666666666666666) internal successors, (49), 18 states have internal predecessors, (49), 11 states have call successors, (18), 1 states have call predecessors, (18), 6 states have return successors, (19), 7 states have call predecessors, (19), 11 states have call successors, (19) [2022-07-22 01:30:02,414 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:30:02,414 INFO L93 Difference]: Finished difference Result 1749 states and 2486 transitions. [2022-07-22 01:30:02,414 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-07-22 01:30:02,415 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1749 states and 2486 transitions. [2022-07-22 01:30:02,421 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 126 [2022-07-22 01:30:02,431 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1749 states to 1543 states and 2160 transitions. [2022-07-22 01:30:02,431 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 389 [2022-07-22 01:30:02,431 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 389 [2022-07-22 01:30:02,432 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1543 states and 2160 transitions. [2022-07-22 01:30:02,432 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:30:02,432 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1543 states and 2160 transitions. [2022-07-22 01:30:02,433 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1543 states and 2160 transitions. [2022-07-22 01:30:02,452 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1543 to 1400. [2022-07-22 01:30:02,454 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1400 states, 890 states have (on average 1.1) internal successors, (979), 892 states have internal predecessors, (979), 323 states have call successors, (331), 194 states have call predecessors, (331), 187 states have return successors, (650), 313 states have call predecessors, (650), 323 states have call successors, (650) [2022-07-22 01:30:02,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1400 states to 1400 states and 1960 transitions. [2022-07-22 01:30:02,458 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1400 states and 1960 transitions. [2022-07-22 01:30:02,458 INFO L374 stractBuchiCegarLoop]: Abstraction has 1400 states and 1960 transitions. [2022-07-22 01:30:02,458 INFO L287 stractBuchiCegarLoop]: ======== Iteration 29 ============ [2022-07-22 01:30:02,458 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1400 states and 1960 transitions. [2022-07-22 01:30:02,462 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 126 [2022-07-22 01:30:02,462 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:30:02,462 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:30:02,464 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [38, 38, 22, 16, 16, 16, 16, 8, 7, 5, 5, 5, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1] [2022-07-22 01:30:02,464 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [8, 8, 5, 5, 5, 5, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:30:02,464 INFO L752 eck$LassoCheckResult]: Stem: 130707#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 130679#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; 130680#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 130706#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; 130726#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 131418#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 131383#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; 130661#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 130662#factENTRY ~n := #in~n; 131704#L25 assume ~n <= 0;#res := 1; 131694#factFINAL assume true; 131688#factEXIT >#68#return; 130717#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 130658#factENTRY ~n := #in~n; 131703#L25 assume ~n <= 0;#res := 1; 131701#factFINAL assume true; 131697#factEXIT >#70#return; 130657#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 130658#factENTRY ~n := #in~n; 131703#L25 assume ~n <= 0;#res := 1; 131701#factFINAL assume true; 131697#factEXIT >#72#return; 130698#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; 130700#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 130703#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 131845#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 131843#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; 131836#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 131838#factENTRY ~n := #in~n; 131881#L25 assume !(~n <= 0); 131866#L26 call #t~ret0 := fact(~n - 1);< 131867#factENTRY ~n := #in~n; 131882#L25 assume ~n <= 0;#res := 1; 131880#factFINAL assume true; 131865#factEXIT >#66#return; 131857#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131842#factFINAL assume true; 131835#factEXIT >#74#return; 131819#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 131820#factENTRY ~n := #in~n; 131982#L25 assume ~n <= 0;#res := 1; 131980#factFINAL assume true; 131978#factEXIT >#76#return; 130687#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 131197#factENTRY ~n := #in~n; 130714#L25 assume !(~n <= 0); 130686#L26 call #t~ret0 := fact(~n - 1);< 130688#factENTRY ~n := #in~n; 131988#L25 assume ~n <= 0;#res := 1; 131986#factFINAL assume true; 131983#factEXIT >#66#return; 131985#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 132006#factFINAL assume true; 131196#factEXIT >#78#return; 131191#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; 131189#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 131187#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 131185#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 131119#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; 131115#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 131116#factENTRY ~n := #in~n; 131126#L25 assume !(~n <= 0); 131123#L26 call #t~ret0 := fact(~n - 1);< 131124#factENTRY ~n := #in~n; 131127#L25 assume ~n <= 0;#res := 1; 131125#factFINAL assume true; 131122#factEXIT >#66#return; 131121#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131118#factFINAL assume true; 131114#factEXIT >#74#return; 131111#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 131112#factENTRY ~n := #in~n; 131117#L25 assume ~n <= 0;#res := 1; 131113#factFINAL assume true; 131110#factEXIT >#76#return; 131101#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 131107#factENTRY ~n := #in~n; 131151#L25 assume !(~n <= 0); 131142#L26 call #t~ret0 := fact(~n - 1);< 131150#factENTRY ~n := #in~n; 131152#L25 assume ~n <= 0;#res := 1; 131149#factFINAL assume true; 131141#factEXIT >#66#return; 131129#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131128#factFINAL assume true; 131100#factEXIT >#78#return; 131099#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; 131098#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 131097#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 131096#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 131095#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 131094#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 131093#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 131016#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; 131003#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 131010#factENTRY ~n := #in~n; 131017#L25 assume !(~n <= 0); 131019#L26 call #t~ret0 := fact(~n - 1);< 131020#factENTRY ~n := #in~n; 131023#L25 assume ~n <= 0;#res := 1; 131021#factFINAL assume true; 131018#factEXIT >#66#return; 131015#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131012#factFINAL assume true; 131009#factEXIT >#68#return; 131004#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 131007#factENTRY ~n := #in~n; 131011#L25 assume ~n <= 0;#res := 1; 131008#factFINAL assume true; 131002#factEXIT >#70#return; 131005#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 131013#factENTRY ~n := #in~n; 131022#L25 assume !(~n <= 0); 131019#L26 call #t~ret0 := fact(~n - 1);< 131020#factENTRY ~n := #in~n; 131023#L25 assume ~n <= 0;#res := 1; 131021#factFINAL assume true; 131018#factEXIT >#66#return; 131015#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131012#factFINAL assume true; 131009#factEXIT >#72#return; 130982#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; 130981#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 130977#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 130973#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 130807#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; 130804#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 130805#factENTRY ~n := #in~n; 130827#L25 assume !(~n <= 0); 130814#L26 call #t~ret0 := fact(~n - 1);< 130822#factENTRY ~n := #in~n; 130828#L25 assume ~n <= 0;#res := 1; 130824#factFINAL assume true; 130810#factEXIT >#66#return; 130808#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 130806#factFINAL assume true; 130803#factEXIT >#68#return; 130791#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 130792#factENTRY ~n := #in~n; 130897#L25 assume !(~n <= 0); 130837#L26 call #t~ret0 := fact(~n - 1);< 130841#factENTRY ~n := #in~n; 130850#L25 assume ~n <= 0;#res := 1; 130843#factFINAL assume true; 130834#factEXIT >#66#return; 130840#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 130891#factFINAL assume true; 130790#factEXIT >#70#return; 130785#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 130786#factENTRY ~n := #in~n; 130858#L25 assume ~n <= 0;#res := 1; 130857#factFINAL assume true; 130784#factEXIT >#72#return; 130782#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; 130780#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 130778#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 130776#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 130770#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; 130765#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 130766#factENTRY ~n := #in~n; 130856#L25 assume !(~n <= 0); 130838#L26 call #t~ret0 := fact(~n - 1);< 130855#factENTRY ~n := #in~n; 130866#L25 assume !(~n <= 0); 130854#L26 call #t~ret0 := fact(~n - 1);< 130862#factENTRY ~n := #in~n; 130868#L25 assume ~n <= 0;#res := 1; 130975#factFINAL assume true; 130861#factEXIT >#66#return; 130860#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 130859#factFINAL assume true; 130853#factEXIT >#66#return; 130775#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 130769#factFINAL assume true; 130764#factEXIT >#74#return; 130744#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 130830#factENTRY ~n := #in~n; 130842#L25 assume !(~n <= 0); 130835#L26 call #t~ret0 := fact(~n - 1);< 130841#factENTRY ~n := #in~n; 130850#L25 assume ~n <= 0;#res := 1; 130843#factFINAL assume true; 130834#factEXIT >#66#return; 130831#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 130829#factFINAL assume true; 130743#factEXIT >#76#return; 130745#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 130830#factENTRY ~n := #in~n; 130842#L25 assume !(~n <= 0); 130835#L26 call #t~ret0 := fact(~n - 1);< 130841#factENTRY ~n := #in~n; 130850#L25 assume ~n <= 0;#res := 1; 130843#factFINAL assume true; 130834#factEXIT >#66#return; 130831#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 130829#factFINAL assume true; 130743#factEXIT >#78#return; 130746#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; 130733#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 130732#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 130731#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 130705#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 130693#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 130695#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 131444#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; 131428#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 131441#factENTRY ~n := #in~n; 131452#L25 assume !(~n <= 0); 131448#L26 call #t~ret0 := fact(~n - 1);< 131449#factENTRY ~n := #in~n; 131453#L25 assume ~n <= 0;#res := 1; 131450#factFINAL assume true; 131447#factEXIT >#66#return; 131446#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131445#factFINAL assume true; 131442#factEXIT >#68#return; 131436#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 131439#factENTRY ~n := #in~n; 131443#L25 assume ~n <= 0;#res := 1; 131440#factFINAL assume true; 131435#factEXIT >#70#return; 131431#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 131434#factENTRY ~n := #in~n; 131451#L25 assume !(~n <= 0); 131448#L26 call #t~ret0 := fact(~n - 1);< 131449#factENTRY ~n := #in~n; 131453#L25 assume ~n <= 0;#res := 1; 131450#factFINAL assume true; 131447#factEXIT >#66#return; 131446#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131445#factFINAL assume true; 131442#factEXIT >#72#return; 131421#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; 131422#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 131660#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 131659#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 131658#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; 131531#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 130716#factENTRY ~n := #in~n; 131604#L25 assume !(~n <= 0); 131482#L26 call #t~ret0 := fact(~n - 1);< 131608#factENTRY ~n := #in~n; 131671#L25 assume !(~n <= 0); 131574#L26 call #t~ret0 := fact(~n - 1);< 131628#factENTRY ~n := #in~n; 131670#L25 assume ~n <= 0;#res := 1; 131669#factFINAL assume true; 131627#factEXIT >#66#return; 131623#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131621#factFINAL assume true; 131569#factEXIT >#66#return; 131577#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131603#factFINAL assume true; 131549#factEXIT >#68#return; 131526#L30-1 [2022-07-22 01:30:02,464 INFO L754 eck$LassoCheckResult]: Loop: 131526#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 131602#factENTRY ~n := #in~n; 131630#L25 assume ~n <= 0;#res := 1; 131601#factFINAL assume true; 131525#factEXIT >#70#return; 131540#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 131585#factENTRY ~n := #in~n; 131609#L25 assume !(~n <= 0); 131571#L26 call #t~ret0 := fact(~n - 1);< 131579#factENTRY ~n := #in~n; 131671#L25 assume !(~n <= 0); 131574#L26 call #t~ret0 := fact(~n - 1);< 131628#factENTRY ~n := #in~n; 131671#L25 assume !(~n <= 0); 131574#L26 call #t~ret0 := fact(~n - 1);< 131628#factENTRY ~n := #in~n; 131670#L25 assume ~n <= 0;#res := 1; 131669#factFINAL assume true; 131627#factEXIT >#66#return; 131623#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131621#factFINAL assume true; 131569#factEXIT >#66#return; 131578#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131652#factFINAL assume true; 131597#factEXIT >#66#return; 131599#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131563#factFINAL assume true; 131557#factEXIT >#72#return; 130696#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; 130697#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 130722#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 130723#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 131719#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; 131552#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 131585#factENTRY ~n := #in~n; 131609#L25 assume !(~n <= 0); 131571#L26 call #t~ret0 := fact(~n - 1);< 131579#factENTRY ~n := #in~n; 131671#L25 assume !(~n <= 0); 131574#L26 call #t~ret0 := fact(~n - 1);< 131628#factENTRY ~n := #in~n; 131670#L25 assume ~n <= 0;#res := 1; 131669#factFINAL assume true; 131627#factEXIT >#66#return; 131623#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131621#factFINAL assume true; 131569#factEXIT >#66#return; 131577#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 131603#factFINAL assume true; 131549#factEXIT >#68#return; 131526#L30-1 [2022-07-22 01:30:02,465 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:02,465 INFO L85 PathProgramCache]: Analyzing trace with hash -371707361, now seen corresponding path program 16 times [2022-07-22 01:30:02,465 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:02,465 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2069731750] [2022-07-22 01:30:02,465 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:02,466 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:02,474 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:02,474 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1789607345] [2022-07-22 01:30:02,474 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-22 01:30:02,475 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:02,475 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:02,479 INFO L229 MonitoredProcess]: Starting monitored process 143 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:02,503 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (143)] Waiting until timeout for monitored process [2022-07-22 01:30:02,627 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-22 01:30:02,628 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:02,630 INFO L263 TraceCheckSpWp]: Trace formula consists of 598 conjuncts, 10 conjunts are in the unsatisfiable core [2022-07-22 01:30:02,632 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:02,716 INFO L134 CoverageAnalysis]: Checked inductivity of 3199 backedges. 1331 proven. 3 refuted. 0 times theorem prover too weak. 1865 trivial. 0 not checked. [2022-07-22 01:30:02,717 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:02,933 INFO L134 CoverageAnalysis]: Checked inductivity of 3199 backedges. 133 proven. 198 refuted. 0 times theorem prover too weak. 2868 trivial. 0 not checked. [2022-07-22 01:30:02,933 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:02,933 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2069731750] [2022-07-22 01:30:02,933 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:02,933 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1789607345] [2022-07-22 01:30:02,933 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1789607345] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:02,934 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:02,934 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 11 [2022-07-22 01:30:02,934 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1188846185] [2022-07-22 01:30:02,934 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:02,934 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:30:02,934 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:02,934 INFO L85 PathProgramCache]: Analyzing trace with hash 126239160, now seen corresponding path program 4 times [2022-07-22 01:30:02,934 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:02,935 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [66355958] [2022-07-22 01:30:02,935 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:02,935 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:02,938 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:02,938 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [886266680] [2022-07-22 01:30:02,938 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-22 01:30:02,938 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:02,938 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:02,947 INFO L229 MonitoredProcess]: Starting monitored process 144 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:02,962 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (144)] Waiting until timeout for monitored process [2022-07-22 01:30:03,009 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-22 01:30:03,009 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-07-22 01:30:03,009 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-07-22 01:30:03,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-07-22 01:30:03,026 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-07-22 01:30:03,758 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 01:30:03,759 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 01:30:03,759 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 01:30:03,759 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 01:30:03,759 INFO L129 ssoRankerPreferences]: Use exernal solver: true [2022-07-22 01:30:03,759 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:30:03,759 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 01:30:03,759 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 01:30:03,759 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration29_Loop [2022-07-22 01:30:03,759 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 01:30:03,759 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 01:30:03,760 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-22 01:30:03,761 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-22 01:30:03,785 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-22 01:30:03,786 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-22 01:30:03,788 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-22 01:30:03,789 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-22 01:30:03,870 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 01:30:03,870 INFO L404 LassoAnalysis]: Checking for nontermination... [2022-07-22 01:30:03,871 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:30:03,871 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:03,875 INFO L229 MonitoredProcess]: Starting monitored process 145 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-22 01:30:03,876 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (145)] Waiting until timeout for monitored process [2022-07-22 01:30:03,876 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:30:03,876 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:30:03,882 INFO L437 LassoAnalysis]: Proved nontermination for one component. [2022-07-22 01:30:03,882 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-22 01:30:03,896 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (145)] Ended with exit code 0 [2022-07-22 01:30:03,897 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:30:03,897 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:03,898 INFO L229 MonitoredProcess]: Starting monitored process 146 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-22 01:30:03,899 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (146)] Waiting until timeout for monitored process [2022-07-22 01:30:03,900 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2022-07-22 01:30:03,900 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:30:03,921 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (146)] Ended with exit code 0 [2022-07-22 01:30:03,922 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:30:03,922 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:03,923 INFO L229 MonitoredProcess]: Starting monitored process 147 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-22 01:30:03,923 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (147)] Waiting until timeout for monitored process [2022-07-22 01:30:03,925 INFO L148 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2022-07-22 01:30:03,925 INFO L160 nArgumentSynthesizer]: Using integer mode. [2022-07-22 01:30:03,936 INFO L444 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2022-07-22 01:30:03,951 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (147)] Forceful destruction successful, exit code 0 [2022-07-22 01:30:03,951 INFO L210 LassoAnalysis]: Preferences: [2022-07-22 01:30:03,951 INFO L126 ssoRankerPreferences]: Compute integeral hull: false [2022-07-22 01:30:03,951 INFO L127 ssoRankerPreferences]: Enable LassoPartitioneer: true [2022-07-22 01:30:03,952 INFO L128 ssoRankerPreferences]: Term annotations enabled: false [2022-07-22 01:30:03,952 INFO L129 ssoRankerPreferences]: Use exernal solver: false [2022-07-22 01:30:03,952 INFO L130 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:30:03,952 INFO L131 ssoRankerPreferences]: Dump SMT script to file: false [2022-07-22 01:30:03,952 INFO L132 ssoRankerPreferences]: Path of dumped script: [2022-07-22 01:30:03,952 INFO L133 ssoRankerPreferences]: Filename of dumped script: Binomial.c_Iteration29_Loop [2022-07-22 01:30:03,952 INFO L134 ssoRankerPreferences]: MapElimAlgo: Frank [2022-07-22 01:30:03,952 INFO L276 LassoAnalysis]: Starting lasso preprocessing... [2022-07-22 01:30:03,952 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-22 01:30:03,954 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-22 01:30:03,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-22 01:30:03,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-22 01:30:03,958 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-22 01:30:03,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-22 01:30:04,073 INFO L294 LassoAnalysis]: Preprocessing complete. [2022-07-22 01:30:04,073 INFO L490 LassoAnalysis]: Using template 'affine'. [2022-07-22 01:30:04,073 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:30:04,073 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:04,075 INFO L229 MonitoredProcess]: Starting monitored process 148 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-22 01:30:04,075 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (148)] Waiting until timeout for monitored process [2022-07-22 01:30:04,077 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-22 01:30:04,081 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:30:04,081 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:30:04,082 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:30:04,082 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:30:04,082 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:30:04,082 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:30:04,082 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:30:04,083 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:30:04,097 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (148)] Ended with exit code 0 [2022-07-22 01:30:04,098 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:30:04,098 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:04,099 INFO L229 MonitoredProcess]: Starting monitored process 149 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-22 01:30:04,100 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (149)] Waiting until timeout for monitored process [2022-07-22 01:30:04,101 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-22 01:30:04,106 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:30:04,106 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:30:04,107 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:30:04,107 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:30:04,107 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:30:04,107 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:30:04,107 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:30:04,108 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:30:04,123 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (149)] Ended with exit code 0 [2022-07-22 01:30:04,123 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:30:04,123 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:04,124 INFO L229 MonitoredProcess]: Starting monitored process 150 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-22 01:30:04,125 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (150)] Waiting until timeout for monitored process [2022-07-22 01:30:04,126 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-22 01:30:04,131 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:30:04,131 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:30:04,131 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:30:04,131 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:30:04,131 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:30:04,131 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:30:04,131 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:30:04,132 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:30:04,146 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (150)] Ended with exit code 0 [2022-07-22 01:30:04,147 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:30:04,147 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:04,148 INFO L229 MonitoredProcess]: Starting monitored process 151 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-22 01:30:04,148 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (151)] Waiting until timeout for monitored process [2022-07-22 01:30:04,149 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-22 01:30:04,154 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:30:04,154 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:30:04,154 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:30:04,154 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:30:04,154 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:30:04,155 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:30:04,155 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:30:04,156 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:30:04,170 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (151)] Ended with exit code 0 [2022-07-22 01:30:04,170 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:30:04,170 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:04,172 INFO L229 MonitoredProcess]: Starting monitored process 152 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-22 01:30:04,172 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (152)] Waiting until timeout for monitored process [2022-07-22 01:30:04,173 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-22 01:30:04,178 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:30:04,178 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:30:04,178 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:30:04,178 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:30:04,178 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:30:04,178 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:30:04,178 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:30:04,179 INFO L527 LassoAnalysis]: Proving termination failed for this template and these settings. [2022-07-22 01:30:04,193 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (152)] Ended with exit code 0 [2022-07-22 01:30:04,194 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:30:04,194 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:04,195 INFO L229 MonitoredProcess]: Starting monitored process 153 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-22 01:30:04,201 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (153)] Waiting until timeout for monitored process [2022-07-22 01:30:04,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-22 01:30:04,206 INFO L338 nArgumentSynthesizer]: Template has degree 0. [2022-07-22 01:30:04,207 INFO L351 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2022-07-22 01:30:04,207 INFO L203 nArgumentSynthesizer]: 1 stem disjuncts [2022-07-22 01:30:04,207 INFO L204 nArgumentSynthesizer]: 1 loop disjuncts [2022-07-22 01:30:04,207 INFO L205 nArgumentSynthesizer]: 2 template conjuncts. [2022-07-22 01:30:04,209 INFO L401 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2022-07-22 01:30:04,209 INFO L402 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2022-07-22 01:30:04,212 INFO L420 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2022-07-22 01:30:04,215 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2022-07-22 01:30:04,215 INFO L444 ModelExtractionUtils]: 7 out of 10 variables were initially zero. Simplification set additionally 0 variables to zero. [2022-07-22 01:30:04,215 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2022-07-22 01:30:04,215 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:04,344 INFO L229 MonitoredProcess]: Starting monitored process 154 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-22 01:30:04,345 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (154)] Waiting until timeout for monitored process [2022-07-22 01:30:04,346 INFO L435 nArgumentSynthesizer]: Simplifying supporting invariants... [2022-07-22 01:30:04,346 INFO L438 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2022-07-22 01:30:04,346 INFO L513 LassoAnalysis]: Proved termination. [2022-07-22 01:30:04,346 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-22 01:30:04,361 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (153)] Forceful destruction successful, exit code 0 [2022-07-22 01:30:04,361 INFO L293 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2022-07-22 01:30:04,369 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:04,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:30:04,560 INFO L263 TraceCheckSpWp]: Trace formula consists of 1662 conjuncts, 78 conjunts are in the unsatisfiable core [2022-07-22 01:30:04,565 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:04,800 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (154)] Forceful destruction successful, exit code 0 [2022-07-22 01:30:05,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:30:05,838 INFO L263 TraceCheckSpWp]: Trace formula consists of 337 conjuncts, 20 conjunts are in the unsatisfiable core [2022-07-22 01:30:05,839 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:05,969 INFO L134 CoverageAnalysis]: Checked inductivity of 132 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 132 trivial. 0 not checked. [2022-07-22 01:30:05,970 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-22 01:30:05,970 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1400 states and 1960 transitions. cyclomatic complexity: 586 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-22 01:30:06,039 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1400 states and 1960 transitions. cyclomatic complexity: 586. 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 1755 states and 2424 transitions. Complement of second has 14 states. [2022-07-22 01:30:06,040 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-22 01:30:06,040 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-22 01:30:06,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 38 transitions. [2022-07-22 01:30:06,041 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 38 transitions. Stem has 254 letters. Loop has 50 letters. [2022-07-22 01:30:06,041 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:30:06,041 INFO L577 RefineBuchi]: Bad chosen interpolant automaton: word not accepted [2022-07-22 01:30:06,051 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:06,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:30:06,259 INFO L263 TraceCheckSpWp]: Trace formula consists of 1662 conjuncts, 78 conjunts are in the unsatisfiable core [2022-07-22 01:30:06,263 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:07,397 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:30:07,399 INFO L263 TraceCheckSpWp]: Trace formula consists of 337 conjuncts, 20 conjunts are in the unsatisfiable core [2022-07-22 01:30:07,400 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:07,535 INFO L134 CoverageAnalysis]: Checked inductivity of 132 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 132 trivial. 0 not checked. [2022-07-22 01:30:07,535 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-22 01:30:07,536 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1400 states and 1960 transitions. cyclomatic complexity: 586 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-22 01:30:07,616 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1400 states and 1960 transitions. cyclomatic complexity: 586. 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 1761 states and 2430 transitions. Complement of second has 18 states. [2022-07-22 01:30:07,617 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-22 01:30:07,617 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-22 01:30:07,617 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 39 transitions. [2022-07-22 01:30:07,617 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 7 states and 39 transitions. Stem has 254 letters. Loop has 50 letters. [2022-07-22 01:30:07,617 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:30:07,618 INFO L577 RefineBuchi]: Bad chosen interpolant automaton: word not accepted [2022-07-22 01:30:07,626 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:07,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:30:07,803 INFO L263 TraceCheckSpWp]: Trace formula consists of 1662 conjuncts, 78 conjunts are in the unsatisfiable core [2022-07-22 01:30:07,806 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:08,875 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:30:08,878 INFO L263 TraceCheckSpWp]: Trace formula consists of 337 conjuncts, 20 conjunts are in the unsatisfiable core [2022-07-22 01:30:08,879 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:09,028 INFO L134 CoverageAnalysis]: Checked inductivity of 132 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 132 trivial. 0 not checked. [2022-07-22 01:30:09,029 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-22 01:30:09,029 INFO L71 iDifferenceNCSBLazy3]: Start buchiDifferenceNCSBLazy3. First operand 1400 states and 1960 transitions. cyclomatic complexity: 586 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-22 01:30:09,162 INFO L75 iDifferenceNCSBLazy3]: Finished buchiDifferenceNCSBLazy3. First operand 1400 states and 1960 transitions. cyclomatic complexity: 586. 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 2908 states and 4042 transitions. Complement of second has 20 states. [2022-07-22 01:30:09,164 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-22 01:30:09,164 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-22 01:30:09,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 66 transitions. [2022-07-22 01:30:09,164 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 66 transitions. Stem has 254 letters. Loop has 50 letters. [2022-07-22 01:30:09,165 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:30:09,165 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 66 transitions. Stem has 304 letters. Loop has 50 letters. [2022-07-22 01:30:09,166 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:30:09,166 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 6 states and 66 transitions. Stem has 254 letters. Loop has 100 letters. [2022-07-22 01:30:09,167 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2022-07-22 01:30:09,167 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2908 states and 4042 transitions. [2022-07-22 01:30:09,178 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 70 [2022-07-22 01:30:09,183 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2908 states to 1471 states and 2017 transitions. [2022-07-22 01:30:09,183 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 164 [2022-07-22 01:30:09,183 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 171 [2022-07-22 01:30:09,183 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1471 states and 2017 transitions. [2022-07-22 01:30:09,183 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:30:09,183 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1471 states and 2017 transitions. [2022-07-22 01:30:09,184 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1471 states and 2017 transitions. [2022-07-22 01:30:09,201 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1471 to 1444. [2022-07-22 01:30:09,202 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1444 states, 916 states have (on average 1.0938864628820961) internal successors, (1002), 929 states have internal predecessors, (1002), 326 states have call successors, (333), 203 states have call predecessors, (333), 202 states have return successors, (640), 311 states have call predecessors, (640), 326 states have call successors, (640) [2022-07-22 01:30:09,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1444 states to 1444 states and 1975 transitions. [2022-07-22 01:30:09,224 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1444 states and 1975 transitions. [2022-07-22 01:30:09,224 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:30:09,224 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-07-22 01:30:09,224 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2022-07-22 01:30:09,225 INFO L87 Difference]: Start difference. First operand 1444 states and 1975 transitions. Second operand has 11 states, 10 states have (on average 4.8) internal successors, (48), 11 states have internal predecessors, (48), 7 states have call successors, (23), 2 states have call predecessors, (23), 4 states have return successors, (23), 5 states have call predecessors, (23), 7 states have call successors, (23) [2022-07-22 01:30:09,444 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:30:09,445 INFO L93 Difference]: Finished difference Result 1361 states and 1857 transitions. [2022-07-22 01:30:09,448 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-07-22 01:30:09,448 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1361 states and 1857 transitions. [2022-07-22 01:30:09,454 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 87 [2022-07-22 01:30:09,459 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1361 states to 1076 states and 1492 transitions. [2022-07-22 01:30:09,459 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 159 [2022-07-22 01:30:09,459 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 159 [2022-07-22 01:30:09,459 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1076 states and 1492 transitions. [2022-07-22 01:30:09,460 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:30:09,460 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1076 states and 1492 transitions. [2022-07-22 01:30:09,460 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1076 states and 1492 transitions. [2022-07-22 01:30:09,473 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1076 to 1005. [2022-07-22 01:30:09,474 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1005 states, 642 states have (on average 1.0965732087227413) internal successors, (704), 649 states have internal predecessors, (704), 230 states have call successors, (230), 139 states have call predecessors, (230), 133 states have return successors, (460), 216 states have call predecessors, (460), 230 states have call successors, (460) [2022-07-22 01:30:09,477 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1005 states to 1005 states and 1394 transitions. [2022-07-22 01:30:09,477 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1005 states and 1394 transitions. [2022-07-22 01:30:09,477 INFO L374 stractBuchiCegarLoop]: Abstraction has 1005 states and 1394 transitions. [2022-07-22 01:30:09,477 INFO L287 stractBuchiCegarLoop]: ======== Iteration 30 ============ [2022-07-22 01:30:09,477 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1005 states and 1394 transitions. [2022-07-22 01:30:09,480 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 68 [2022-07-22 01:30:09,480 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:30:09,480 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:30:09,481 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [54, 54, 27, 27, 27, 27, 27, 10, 9, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1] [2022-07-22 01:30:09,481 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [37, 37, 25, 25, 25, 25, 12, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:30:09,482 INFO L752 eck$LassoCheckResult]: Stem: 145686#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 145657#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; 145658#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 145685#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; 145673#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 145674#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 146253#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; 146248#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 146252#factENTRY ~n := #in~n; 146247#L25 assume ~n <= 0;#res := 1; 146249#factFINAL assume true; 146270#factEXIT >#68#return; 146271#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 146340#factENTRY ~n := #in~n; 146337#L25 assume ~n <= 0;#res := 1; 146338#factFINAL assume true; 146329#factEXIT >#70#return; 145643#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 145644#factENTRY ~n := #in~n; 146417#L25 assume ~n <= 0;#res := 1; 146415#factFINAL assume true; 146408#factEXIT >#72#return; 145678#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; 145679#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 145681#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 145700#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 145701#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; 145630#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 145631#factENTRY ~n := #in~n; 146548#L25 assume !(~n <= 0); 146546#L26 call #t~ret0 := fact(~n - 1);< 146552#factENTRY ~n := #in~n; 146549#L25 assume ~n <= 0;#res := 1; 146545#factFINAL assume true; 146547#factEXIT >#66#return; 146539#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146537#factFINAL assume true; 146538#factEXIT >#74#return; 145708#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 145709#factENTRY ~n := #in~n; 146573#L25 assume ~n <= 0;#res := 1; 146571#factFINAL assume true; 146568#factEXIT >#76#return; 146241#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 146570#factENTRY ~n := #in~n; 146582#L25 assume !(~n <= 0); 146576#L26 call #t~ret0 := fact(~n - 1);< 146578#factENTRY ~n := #in~n; 146583#L25 assume ~n <= 0;#res := 1; 146579#factFINAL assume true; 146574#factEXIT >#66#return; 146572#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146569#factFINAL assume true; 146240#factEXIT >#78#return; 146238#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; 146236#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 146235#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 146232#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 145788#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; 145736#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 145762#factENTRY ~n := #in~n; 145755#L25 assume !(~n <= 0); 145756#L26 call #t~ret0 := fact(~n - 1);< 145786#factENTRY ~n := #in~n; 145784#L25 assume !(~n <= 0); 145773#L26 call #t~ret0 := fact(~n - 1);< 145781#factENTRY ~n := #in~n; 145785#L25 assume ~n <= 0;#res := 1; 145783#factFINAL assume true; 145780#factEXIT >#66#return; 145779#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 145776#factFINAL assume true; 145770#factEXIT >#66#return; 145769#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 145767#factFINAL assume true; 145761#factEXIT >#74#return; 145745#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 145748#factENTRY ~n := #in~n; 145764#L25 assume ~n <= 0;#res := 1; 145752#factFINAL assume true; 145744#factEXIT >#76#return; 145739#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 145768#factENTRY ~n := #in~n; 145782#L25 assume !(~n <= 0); 145771#L26 call #t~ret0 := fact(~n - 1);< 145775#factENTRY ~n := #in~n; 145784#L25 assume !(~n <= 0); 145773#L26 call #t~ret0 := fact(~n - 1);< 145781#factENTRY ~n := #in~n; 145785#L25 assume ~n <= 0;#res := 1; 145783#factFINAL assume true; 145780#factEXIT >#66#return; 145779#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 145776#factFINAL assume true; 145770#factEXIT >#66#return; 145769#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 145767#factFINAL assume true; 145761#factEXIT >#78#return; 145659#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; 145660#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 145670#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 145727#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 145728#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 145751#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 145698#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 145699#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; 146244#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 146268#factENTRY ~n := #in~n; 146266#L25 assume !(~n <= 0); 146260#L26 call #t~ret0 := fact(~n - 1);< 146262#factENTRY ~n := #in~n; 146269#L25 assume ~n <= 0;#res := 1; 146327#factFINAL assume true; 146259#factEXIT >#66#return; 146261#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146243#factFINAL assume true; 146245#factEXIT >#68#return; 146321#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 146322#factENTRY ~n := #in~n; 146324#L25 assume ~n <= 0;#res := 1; 146323#factFINAL assume true; 146320#factEXIT >#70#return; 146318#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 146319#factENTRY ~n := #in~n; 146336#L25 assume !(~n <= 0); 146334#L26 call #t~ret0 := fact(~n - 1);< 146335#factENTRY ~n := #in~n; 146389#L25 assume ~n <= 0;#res := 1; 146390#factFINAL assume true; 146333#factEXIT >#66#return; 146330#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146328#factFINAL assume true; 146317#factEXIT >#72#return; 146316#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; 146315#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 146314#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 146313#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 146312#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; 145650#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 145651#factENTRY ~n := #in~n; 146326#L25 assume !(~n <= 0); 146264#L26 call #t~ret0 := fact(~n - 1);< 146325#factENTRY ~n := #in~n; 146267#L25 assume ~n <= 0;#res := 1; 146263#factFINAL assume true; 146265#factEXIT >#66#return; 146250#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146251#factFINAL assume true; 146233#factEXIT >#68#return; 145704#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 145705#factENTRY ~n := #in~n; 146351#L25 assume !(~n <= 0); 146344#L26 call #t~ret0 := fact(~n - 1);< 146346#factENTRY ~n := #in~n; 146354#L25 assume ~n <= 0;#res := 1; 146347#factFINAL assume true; 146341#factEXIT >#66#return; 146339#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146331#factFINAL assume true; 146332#factEXIT >#70#return; 146371#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 146372#factENTRY ~n := #in~n; 146382#L25 assume ~n <= 0;#res := 1; 146381#factFINAL assume true; 146370#factEXIT >#72#return; 146366#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; 146364#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 146362#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 146361#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 146359#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; 146360#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 146412#factENTRY ~n := #in~n; 146424#L25 assume !(~n <= 0); 146421#L26 call #t~ret0 := fact(~n - 1);< 146422#factENTRY ~n := #in~n; 146429#L25 assume !(~n <= 0); 146420#L26 call #t~ret0 := fact(~n - 1);< 146427#factENTRY ~n := #in~n; 146430#L25 assume ~n <= 0;#res := 1; 146428#factFINAL assume true; 146426#factEXIT >#66#return; 146425#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146423#factFINAL assume true; 146419#factEXIT >#66#return; 146418#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146416#factFINAL assume true; 146411#factEXIT >#74#return; 146402#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 146405#factENTRY ~n := #in~n; 146444#L25 assume !(~n <= 0); 146442#L26 call #t~ret0 := fact(~n - 1);< 146443#factENTRY ~n := #in~n; 146431#L25 assume ~n <= 0;#res := 1; 146445#factFINAL assume true; 146441#factEXIT >#66#return; 146438#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146435#factFINAL assume true; 146400#factEXIT >#76#return; 146401#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 146405#factENTRY ~n := #in~n; 146444#L25 assume !(~n <= 0); 146442#L26 call #t~ret0 := fact(~n - 1);< 146443#factENTRY ~n := #in~n; 146431#L25 assume ~n <= 0;#res := 1; 146445#factFINAL assume true; 146441#factEXIT >#66#return; 146438#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146435#factFINAL assume true; 146400#factEXIT >#78#return; 145719#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; 145718#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 145717#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 145716#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 145684#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 145675#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 145677#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 145687#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; 145688#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 146280#factENTRY ~n := #in~n; 146283#L25 assume !(~n <= 0); 145691#L26 call #t~ret0 := fact(~n - 1);< 145664#factENTRY ~n := #in~n; 146136#L25 assume !(~n <= 0); 145633#L26 call #t~ret0 := fact(~n - 1);< 146135#factENTRY ~n := #in~n; 146137#L25 assume ~n <= 0;#res := 1; 145645#factFINAL assume true; 145632#factEXIT >#66#return; 145634#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 145692#factFINAL assume true; 146134#factEXIT >#66#return; 145791#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 145789#factFINAL assume true; 145790#factEXIT >#68#return; 146276#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 145703#factENTRY ~n := #in~n; 146281#L25 assume ~n <= 0;#res := 1; 146279#factFINAL assume true; 146275#factEXIT >#70#return; 146273#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 146274#factENTRY ~n := #in~n; 146301#L25 assume !(~n <= 0); 146292#L26 call #t~ret0 := fact(~n - 1);< 146296#factENTRY ~n := #in~n; 146302#L25 assume !(~n <= 0); 146291#L26 call #t~ret0 := fact(~n - 1);< 146308#factENTRY ~n := #in~n; 146311#L25 assume ~n <= 0;#res := 1; 146309#factFINAL assume true; 146307#factEXIT >#66#return; 146305#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146306#factFINAL assume true; 146290#factEXIT >#66#return; 146294#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146399#factFINAL assume true; 146272#factEXIT >#72#return; 145975#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; 146239#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 146237#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 146234#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 146185#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; 145971#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 145976#factENTRY ~n := #in~n; 146122#L25 assume !(~n <= 0); 146011#L26 call #t~ret0 := fact(~n - 1);< 146015#factENTRY ~n := #in~n; 146062#L25 assume !(~n <= 0); 146004#L26 call #t~ret0 := fact(~n - 1);< 146061#factENTRY ~n := #in~n; 146089#L25 assume ~n <= 0;#res := 1; 146088#factFINAL assume true; 146060#factEXIT >#66#return; 146059#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146044#factFINAL assume true; 146002#factEXIT >#66#return; 145985#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 145979#factFINAL assume true; 145965#factEXIT >#68#return; 145958#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 145961#factENTRY ~n := #in~n; 146118#L25 assume !(~n <= 0); 146009#L26 call #t~ret0 := fact(~n - 1);< 146116#factENTRY ~n := #in~n; 146163#L25 assume ~n <= 0;#res := 1; 146160#factFINAL assume true; 146152#factEXIT >#66#return; 146151#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146150#factFINAL assume true; 146149#factEXIT >#70#return; 146144#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 146147#factENTRY ~n := #in~n; 146164#L25 assume !(~n <= 0); 145887#L26 call #t~ret0 := fact(~n - 1);< 146161#factENTRY ~n := #in~n; 146163#L25 assume ~n <= 0;#res := 1; 146160#factFINAL assume true; 146152#factEXIT >#66#return; 146155#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146158#factFINAL assume true; 146143#factEXIT >#72#return; 146146#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; 146171#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 146166#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 146127#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 145978#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; 145862#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 145976#factENTRY ~n := #in~n; 146122#L25 assume !(~n <= 0); 146011#L26 call #t~ret0 := fact(~n - 1);< 146015#factENTRY ~n := #in~n; 146062#L25 assume !(~n <= 0); 146004#L26 call #t~ret0 := fact(~n - 1);< 146061#factENTRY ~n := #in~n; 146062#L25 assume !(~n <= 0); 146004#L26 call #t~ret0 := fact(~n - 1);< 146061#factENTRY ~n := #in~n; 146089#L25 assume ~n <= 0;#res := 1; 146088#factFINAL assume true; 146060#factEXIT >#66#return; 146059#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146044#factFINAL assume true; 146002#factEXIT >#66#return; 146013#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146180#factFINAL assume true; 146181#factEXIT >#66#return; 146051#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146040#factFINAL assume true; 146035#factEXIT >#68#return; 145956#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 145961#factENTRY ~n := #in~n; 146118#L25 assume !(~n <= 0); 146009#L26 call #t~ret0 := fact(~n - 1);< 146116#factENTRY ~n := #in~n; 146062#L25 assume !(~n <= 0); 146004#L26 call #t~ret0 := fact(~n - 1);< 146061#factENTRY ~n := #in~n; 146089#L25 assume ~n <= 0;#res := 1; 146088#factFINAL assume true; 146060#factEXIT >#66#return; 146059#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146044#factFINAL assume true; 146002#factEXIT >#66#return; 146014#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146105#factFINAL assume true; 145952#factEXIT >#70#return; 145874#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 145980#factENTRY ~n := #in~n; 146121#L25 assume ~n <= 0;#res := 1; 145884#factFINAL assume true; 145871#factEXIT >#72#return; 145878#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; 146030#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 146028#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 146027#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 146017#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; 145799#L30-5 [2022-07-22 01:30:09,482 INFO L754 eck$LassoCheckResult]: Loop: 145799#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 145800#factENTRY ~n := #in~n; 145897#L25 assume !(~n <= 0); 145893#L26 call #t~ret0 := fact(~n - 1);< 145895#factENTRY ~n := #in~n; 145894#L25 assume !(~n <= 0); 145823#L26 call #t~ret0 := fact(~n - 1);< 145834#factENTRY ~n := #in~n; 145832#L25 assume !(~n <= 0); 145822#L26 call #t~ret0 := fact(~n - 1);< 145830#factENTRY ~n := #in~n; 145832#L25 assume !(~n <= 0); 145822#L26 call #t~ret0 := fact(~n - 1);< 145830#factENTRY ~n := #in~n; 145857#L25 assume ~n <= 0;#res := 1; 145853#factFINAL assume true; 145848#factEXIT >#66#return; 145847#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 145829#factFINAL assume true; 145821#factEXIT >#66#return; 145826#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 145892#factFINAL assume true; 145890#factEXIT >#66#return; 145891#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 145900#factFINAL assume true; 145899#factEXIT >#66#return; 145898#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 145896#factFINAL assume true; 145883#factEXIT >#74#return; 145793#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 145811#factENTRY ~n := #in~n; 145846#L25 assume !(~n <= 0); 145825#L26 call #t~ret0 := fact(~n - 1);< 145827#factENTRY ~n := #in~n; 145832#L25 assume !(~n <= 0); 145822#L26 call #t~ret0 := fact(~n - 1);< 145830#factENTRY ~n := #in~n; 145857#L25 assume ~n <= 0;#res := 1; 145853#factFINAL assume true; 145848#factEXIT >#66#return; 145847#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 145829#factFINAL assume true; 145821#factEXIT >#66#return; 145819#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 145814#factFINAL assume true; 145810#factEXIT >#76#return; 145795#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 145805#factENTRY ~n := #in~n; 146112#L25 assume !(~n <= 0); 146109#L26 call #t~ret0 := fact(~n - 1);< 146110#factENTRY ~n := #in~n; 146115#L25 assume ~n <= 0;#res := 1; 146113#factFINAL assume true; 146108#factEXIT >#66#return; 146107#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146097#factFINAL assume true; 145803#factEXIT >#78#return; 145734#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; 145778#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 145710#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 145711#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 145682#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 145683#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 145742#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 145743#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; 145648#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 145649#factENTRY ~n := #in~n; 145652#L25 assume !(~n <= 0); 145663#L26 call #t~ret0 := fact(~n - 1);< 145664#factENTRY ~n := #in~n; 146136#L25 assume !(~n <= 0); 145633#L26 call #t~ret0 := fact(~n - 1);< 146135#factENTRY ~n := #in~n; 146136#L25 assume !(~n <= 0); 145633#L26 call #t~ret0 := fact(~n - 1);< 146135#factENTRY ~n := #in~n; 146137#L25 assume ~n <= 0;#res := 1; 145645#factFINAL assume true; 145632#factEXIT >#66#return; 145634#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 145692#factFINAL assume true; 146134#factEXIT >#66#return; 146131#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146284#factFINAL assume true; 146129#factEXIT >#66#return; 146130#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146282#factFINAL assume true; 145749#factEXIT >#68#return; 145702#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 145703#factENTRY ~n := #in~n; 146281#L25 assume ~n <= 0;#res := 1; 146279#factFINAL assume true; 146275#factEXIT >#70#return; 146277#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 146288#factENTRY ~n := #in~n; 146297#L25 assume !(~n <= 0); 146298#L26 call #t~ret0 := fact(~n - 1);< 146303#factENTRY ~n := #in~n; 146304#L25 assume !(~n <= 0); 146293#L26 call #t~ret0 := fact(~n - 1);< 146296#factENTRY ~n := #in~n; 146302#L25 assume !(~n <= 0); 146291#L26 call #t~ret0 := fact(~n - 1);< 146308#factENTRY ~n := #in~n; 146311#L25 assume ~n <= 0;#res := 1; 146309#factFINAL assume true; 146307#factEXIT >#66#return; 146305#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146306#factFINAL assume true; 146290#factEXIT >#66#return; 146295#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146299#factFINAL assume true; 146300#factEXIT >#66#return; 146289#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146286#factFINAL assume true; 146287#factEXIT >#72#return; 146039#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; 146396#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 146394#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 146310#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 146205#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; 146037#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 146041#factENTRY ~n := #in~n; 146157#L25 assume !(~n <= 0); 146008#L26 call #t~ret0 := fact(~n - 1);< 146015#factENTRY ~n := #in~n; 146062#L25 assume !(~n <= 0); 146004#L26 call #t~ret0 := fact(~n - 1);< 146061#factENTRY ~n := #in~n; 146062#L25 assume !(~n <= 0); 146004#L26 call #t~ret0 := fact(~n - 1);< 146061#factENTRY ~n := #in~n; 146089#L25 assume ~n <= 0;#res := 1; 146088#factFINAL assume true; 146060#factEXIT >#66#return; 146059#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146044#factFINAL assume true; 146002#factEXIT >#66#return; 146013#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146180#factFINAL assume true; 146181#factEXIT >#66#return; 146051#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146040#factFINAL assume true; 146035#factEXIT >#68#return; 145960#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 145961#factENTRY ~n := #in~n; 146118#L25 assume !(~n <= 0); 146009#L26 call #t~ret0 := fact(~n - 1);< 146116#factENTRY ~n := #in~n; 146163#L25 assume ~n <= 0;#res := 1; 146160#factFINAL assume true; 146152#factEXIT >#66#return; 146151#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146150#factFINAL assume true; 146149#factEXIT >#70#return; 145967#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 145976#factENTRY ~n := #in~n; 146122#L25 assume !(~n <= 0); 146011#L26 call #t~ret0 := fact(~n - 1);< 146015#factENTRY ~n := #in~n; 146062#L25 assume !(~n <= 0); 146004#L26 call #t~ret0 := fact(~n - 1);< 146061#factENTRY ~n := #in~n; 146062#L25 assume !(~n <= 0); 146004#L26 call #t~ret0 := fact(~n - 1);< 146061#factENTRY ~n := #in~n; 146089#L25 assume ~n <= 0;#res := 1; 146088#factFINAL assume true; 146060#factEXIT >#66#return; 146059#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146044#factFINAL assume true; 146002#factEXIT >#66#return; 146013#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146180#factFINAL assume true; 146181#factEXIT >#66#return; 146051#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146040#factFINAL assume true; 146035#factEXIT >#72#return; 145973#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; 146183#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 146182#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 146176#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 146114#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; 145944#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 146041#factENTRY ~n := #in~n; 146157#L25 assume !(~n <= 0); 146008#L26 call #t~ret0 := fact(~n - 1);< 146015#factENTRY ~n := #in~n; 146062#L25 assume !(~n <= 0); 146004#L26 call #t~ret0 := fact(~n - 1);< 146061#factENTRY ~n := #in~n; 146062#L25 assume !(~n <= 0); 146004#L26 call #t~ret0 := fact(~n - 1);< 146061#factENTRY ~n := #in~n; 146089#L25 assume ~n <= 0;#res := 1; 146088#factFINAL assume true; 146060#factEXIT >#66#return; 146059#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146044#factFINAL assume true; 146002#factEXIT >#66#return; 146013#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146180#factFINAL assume true; 146181#factEXIT >#66#return; 146051#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146040#factFINAL assume true; 146035#factEXIT >#68#return; 145959#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 145961#factENTRY ~n := #in~n; 146118#L25 assume !(~n <= 0); 146009#L26 call #t~ret0 := fact(~n - 1);< 146116#factENTRY ~n := #in~n; 146062#L25 assume !(~n <= 0); 146004#L26 call #t~ret0 := fact(~n - 1);< 146061#factENTRY ~n := #in~n; 146089#L25 assume ~n <= 0;#res := 1; 146088#factFINAL assume true; 146060#factEXIT >#66#return; 146059#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146044#factFINAL assume true; 146002#factEXIT >#66#return; 146014#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 146105#factFINAL assume true; 145952#factEXIT >#70#return; 145872#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 145980#factENTRY ~n := #in~n; 146121#L25 assume ~n <= 0;#res := 1; 145884#factFINAL assume true; 145871#factEXIT >#72#return; 145876#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; 146087#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 146086#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 146078#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 145943#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; 145799#L30-5 [2022-07-22 01:30:09,483 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:09,483 INFO L85 PathProgramCache]: Analyzing trace with hash 620596742, now seen corresponding path program 17 times [2022-07-22 01:30:09,483 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:09,484 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [632079331] [2022-07-22 01:30:09,484 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:09,484 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:09,494 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:09,494 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [394267123] [2022-07-22 01:30:09,494 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-22 01:30:09,495 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:09,495 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:09,496 INFO L229 MonitoredProcess]: Starting monitored process 155 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:09,498 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (155)] Waiting until timeout for monitored process [2022-07-22 01:30:09,691 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 22 check-sat command(s) [2022-07-22 01:30:09,691 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:09,694 INFO L263 TraceCheckSpWp]: Trace formula consists of 797 conjuncts, 18 conjunts are in the unsatisfiable core [2022-07-22 01:30:09,697 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:09,818 INFO L134 CoverageAnalysis]: Checked inductivity of 6667 backedges. 1942 proven. 105 refuted. 0 times theorem prover too weak. 4620 trivial. 0 not checked. [2022-07-22 01:30:09,819 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:10,428 INFO L134 CoverageAnalysis]: Checked inductivity of 6667 backedges. 1042 proven. 205 refuted. 0 times theorem prover too weak. 5420 trivial. 0 not checked. [2022-07-22 01:30:10,429 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:10,429 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [632079331] [2022-07-22 01:30:10,429 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:10,429 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [394267123] [2022-07-22 01:30:10,429 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [394267123] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:10,429 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:10,429 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 17] total 20 [2022-07-22 01:30:10,429 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1307517278] [2022-07-22 01:30:10,429 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:10,430 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:30:10,430 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:10,430 INFO L85 PathProgramCache]: Analyzing trace with hash -1049353306, now seen corresponding path program 15 times [2022-07-22 01:30:10,430 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:10,430 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1457819372] [2022-07-22 01:30:10,430 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:10,431 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:10,437 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:10,437 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1664566284] [2022-07-22 01:30:10,437 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 01:30:10,437 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:10,437 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:10,439 INFO L229 MonitoredProcess]: Starting monitored process 156 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:10,463 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (156)] Waiting until timeout for monitored process [2022-07-22 01:30:10,596 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 11 check-sat command(s) [2022-07-22 01:30:10,596 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:10,597 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 20 conjunts are in the unsatisfiable core [2022-07-22 01:30:10,599 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:10,765 INFO L134 CoverageAnalysis]: Checked inductivity of 3301 backedges. 766 proven. 69 refuted. 0 times theorem prover too weak. 2466 trivial. 0 not checked. [2022-07-22 01:30:10,766 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:11,477 INFO L134 CoverageAnalysis]: Checked inductivity of 3301 backedges. 766 proven. 77 refuted. 0 times theorem prover too weak. 2458 trivial. 0 not checked. [2022-07-22 01:30:11,478 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:11,478 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1457819372] [2022-07-22 01:30:11,478 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:11,478 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1664566284] [2022-07-22 01:30:11,478 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1664566284] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:11,478 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:11,478 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 17] total 23 [2022-07-22 01:30:11,478 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [770404646] [2022-07-22 01:30:11,478 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:11,479 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:30:11,479 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:30:11,479 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-07-22 01:30:11,479 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=82, Invalid=470, Unknown=0, NotChecked=0, Total=552 [2022-07-22 01:30:11,479 INFO L87 Difference]: Start difference. First operand 1005 states and 1394 transitions. cyclomatic complexity: 410 Second operand has 24 states, 19 states have (on average 2.9473684210526314) internal successors, (56), 22 states have internal predecessors, (56), 14 states have call successors, (20), 1 states have call predecessors, (20), 7 states have return successors, (22), 10 states have call predecessors, (22), 14 states have call successors, (22) [2022-07-22 01:30:12,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:30:12,432 INFO L93 Difference]: Finished difference Result 1176 states and 1673 transitions. [2022-07-22 01:30:12,432 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-07-22 01:30:12,432 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1176 states and 1673 transitions. [2022-07-22 01:30:12,436 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 112 [2022-07-22 01:30:12,445 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1176 states to 1176 states and 1673 transitions. [2022-07-22 01:30:12,445 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 171 [2022-07-22 01:30:12,445 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 171 [2022-07-22 01:30:12,445 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1176 states and 1673 transitions. [2022-07-22 01:30:12,446 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:30:12,446 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1176 states and 1673 transitions. [2022-07-22 01:30:12,446 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1176 states and 1673 transitions. [2022-07-22 01:30:12,462 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1176 to 1019. [2022-07-22 01:30:12,463 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1019 states, 651 states have (on average 1.0952380952380953) internal successors, (713), 657 states have internal predecessors, (713), 233 states have call successors, (233), 139 states have call predecessors, (233), 135 states have return successors, (477), 222 states have call predecessors, (477), 233 states have call successors, (477) [2022-07-22 01:30:12,466 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1019 states to 1019 states and 1423 transitions. [2022-07-22 01:30:12,466 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1019 states and 1423 transitions. [2022-07-22 01:30:12,466 INFO L374 stractBuchiCegarLoop]: Abstraction has 1019 states and 1423 transitions. [2022-07-22 01:30:12,466 INFO L287 stractBuchiCegarLoop]: ======== Iteration 31 ============ [2022-07-22 01:30:12,466 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1019 states and 1423 transitions. [2022-07-22 01:30:12,469 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 75 [2022-07-22 01:30:12,469 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:30:12,469 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:30:12,470 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [55, 55, 28, 28, 28, 28, 27, 10, 9, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1] [2022-07-22 01:30:12,470 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [38, 38, 26, 26, 26, 26, 12, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:30:12,471 INFO L752 eck$LassoCheckResult]: Stem: 151459#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 151435#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; 151436#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 151458#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; 151447#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 151448#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 152006#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; 151420#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 151421#factENTRY ~n := #in~n; 152054#L25 assume ~n <= 0;#res := 1; 152053#factFINAL assume true; 152012#factEXIT >#68#return; 152013#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 152044#factENTRY ~n := #in~n; 152041#L25 assume ~n <= 0;#res := 1; 152037#factFINAL assume true; 152038#factEXIT >#70#return; 151416#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 151417#factENTRY ~n := #in~n; 152222#L25 assume ~n <= 0;#res := 1; 152221#factFINAL assume true; 152220#factEXIT >#72#return; 152218#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; 152219#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 152340#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 152339#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 152338#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; 152315#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 152337#factENTRY ~n := #in~n; 152326#L25 assume !(~n <= 0); 152320#L26 call #t~ret0 := fact(~n - 1);< 152330#factENTRY ~n := #in~n; 152327#L25 assume ~n <= 0;#res := 1; 152328#factFINAL assume true; 152319#factEXIT >#66#return; 152318#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 152314#factFINAL assume true; 152316#factEXIT >#74#return; 152346#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 152348#factENTRY ~n := #in~n; 152350#L25 assume ~n <= 0;#res := 1; 152349#factFINAL assume true; 152345#factEXIT >#76#return; 152157#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 152317#factENTRY ~n := #in~n; 152381#L25 assume !(~n <= 0); 152373#L26 call #t~ret0 := fact(~n - 1);< 152376#factENTRY ~n := #in~n; 152382#L25 assume ~n <= 0;#res := 1; 152378#factFINAL assume true; 152372#factEXIT >#66#return; 152369#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 152366#factFINAL assume true; 152156#factEXIT >#78#return; 152154#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; 152155#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 152407#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 152406#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 152404#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; 151845#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 152117#factENTRY ~n := #in~n; 152110#L25 assume !(~n <= 0); 152111#L26 call #t~ret0 := fact(~n - 1);< 152122#factENTRY ~n := #in~n; 152144#L25 assume !(~n <= 0); 152131#L26 call #t~ret0 := fact(~n - 1);< 152150#factENTRY ~n := #in~n; 152153#L25 assume ~n <= 0;#res := 1; 152151#factFINAL assume true; 152149#factEXIT >#66#return; 152148#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 152147#factFINAL assume true; 152146#factEXIT >#66#return; 152145#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 152142#factFINAL assume true; 151844#factEXIT >#74#return; 151848#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 152106#factENTRY ~n := #in~n; 152119#L25 assume ~n <= 0;#res := 1; 152107#factFINAL assume true; 152102#factEXIT >#76#return; 151847#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 152126#factENTRY ~n := #in~n; 152136#L25 assume !(~n <= 0); 152129#L26 call #t~ret0 := fact(~n - 1);< 152141#factENTRY ~n := #in~n; 152144#L25 assume !(~n <= 0); 152131#L26 call #t~ret0 := fact(~n - 1);< 152150#factENTRY ~n := #in~n; 152153#L25 assume ~n <= 0;#res := 1; 152151#factFINAL assume true; 152149#factEXIT >#66#return; 152148#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 152147#factFINAL assume true; 152146#factEXIT >#66#return; 152145#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 152142#factFINAL assume true; 151844#factEXIT >#78#return; 151437#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; 151438#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 151502#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 151488#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 151489#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 151501#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 151469#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 151470#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; 152026#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 152027#factENTRY ~n := #in~n; 152035#L25 assume !(~n <= 0); 152032#L26 call #t~ret0 := fact(~n - 1);< 152033#factENTRY ~n := #in~n; 152036#L25 assume ~n <= 0;#res := 1; 152034#factFINAL assume true; 152031#factEXIT >#66#return; 152030#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 152029#factFINAL assume true; 152025#factEXIT >#68#return; 152022#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 152023#factENTRY ~n := #in~n; 152028#L25 assume ~n <= 0;#res := 1; 152024#factFINAL assume true; 152021#factEXIT >#70#return; 152019#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 152020#factENTRY ~n := #in~n; 152101#L25 assume !(~n <= 0); 152099#L26 call #t~ret0 := fact(~n - 1);< 152100#factENTRY ~n := #in~n; 152228#L25 assume ~n <= 0;#res := 1; 152223#factFINAL assume true; 152098#factEXIT >#66#return; 152097#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 152096#factFINAL assume true; 152018#factEXIT >#72#return; 152017#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; 152016#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 152014#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 152015#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 152003#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; 152004#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 152052#factENTRY ~n := #in~n; 152065#L25 assume !(~n <= 0); 152061#L26 call #t~ret0 := fact(~n - 1);< 152062#factENTRY ~n := #in~n; 152066#L25 assume ~n <= 0;#res := 1; 152064#factFINAL assume true; 152060#factEXIT >#66#return; 152058#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 152039#factFINAL assume true; 152040#factEXIT >#68#return; 151476#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 151477#factENTRY ~n := #in~n; 152051#L25 assume !(~n <= 0); 152046#L26 call #t~ret0 := fact(~n - 1);< 152050#factENTRY ~n := #in~n; 152093#L25 assume ~n <= 0;#res := 1; 152055#factFINAL assume true; 152045#factEXIT >#66#return; 152042#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 152043#factFINAL assume true; 152008#factEXIT >#70#return; 152009#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 152089#factENTRY ~n := #in~n; 152094#L25 assume ~n <= 0;#res := 1; 152092#factFINAL assume true; 152088#factEXIT >#72#return; 152085#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; 152083#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 152080#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 152076#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 152072#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; 152073#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 152252#factENTRY ~n := #in~n; 152260#L25 assume !(~n <= 0); 152256#L26 call #t~ret0 := fact(~n - 1);< 152258#factENTRY ~n := #in~n; 152265#L25 assume !(~n <= 0); 152257#L26 call #t~ret0 := fact(~n - 1);< 152263#factENTRY ~n := #in~n; 152266#L25 assume ~n <= 0;#res := 1; 152264#factFINAL assume true; 152262#factEXIT >#66#return; 152261#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 152259#factFINAL assume true; 152255#factEXIT >#66#return; 152254#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 152253#factFINAL assume true; 152251#factEXIT >#74#return; 152238#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 152241#factENTRY ~n := #in~n; 152278#L25 assume !(~n <= 0); 152275#L26 call #t~ret0 := fact(~n - 1);< 152276#factENTRY ~n := #in~n; 152267#L25 assume ~n <= 0;#res := 1; 152280#factFINAL assume true; 152274#factEXIT >#66#return; 152273#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 152269#factFINAL assume true; 152237#factEXIT >#76#return; 152239#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 152241#factENTRY ~n := #in~n; 152278#L25 assume !(~n <= 0); 152275#L26 call #t~ret0 := fact(~n - 1);< 152276#factENTRY ~n := #in~n; 152267#L25 assume ~n <= 0;#res := 1; 152280#factFINAL assume true; 152274#factEXIT >#66#return; 152273#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 152269#factFINAL assume true; 152237#factEXIT >#78#return; 151491#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; 151490#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 151487#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 151486#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 151457#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 151449#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 151451#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 151460#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; 151461#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 151697#factENTRY ~n := #in~n; 151706#L25 assume !(~n <= 0); 151464#L26 call #t~ret0 := fact(~n - 1);< 151543#factENTRY ~n := #in~n; 151710#L25 assume !(~n <= 0); 151465#L26 call #t~ret0 := fact(~n - 1);< 151709#factENTRY ~n := #in~n; 151712#L25 assume ~n <= 0;#res := 1; 151714#factFINAL assume true; 151713#factEXIT >#66#return; 151711#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151708#factFINAL assume true; 151705#factEXIT >#66#return; 151704#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151702#factFINAL assume true; 151696#factEXIT >#68#return; 151692#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 151475#factENTRY ~n := #in~n; 151723#L25 assume ~n <= 0;#res := 1; 151722#factFINAL assume true; 151691#factEXIT >#70#return; 151674#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 151680#factENTRY ~n := #in~n; 151786#L25 assume !(~n <= 0); 151782#L26 call #t~ret0 := fact(~n - 1);< 151944#factENTRY ~n := #in~n; 151956#L25 assume !(~n <= 0); 151781#L26 call #t~ret0 := fact(~n - 1);< 151954#factENTRY ~n := #in~n; 151959#L25 assume ~n <= 0;#res := 1; 151958#factFINAL assume true; 151953#factEXIT >#66#return; 151951#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151947#factFINAL assume true; 151943#factEXIT >#66#return; 151942#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151941#factFINAL assume true; 151673#factEXIT >#72#return; 151613#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; 151671#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 151670#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 151669#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 151664#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; 151611#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 151614#factENTRY ~n := #in~n; 151684#L25 assume !(~n <= 0); 151630#L26 call #t~ret0 := fact(~n - 1);< 151635#factENTRY ~n := #in~n; 151652#L25 assume !(~n <= 0); 151625#L26 call #t~ret0 := fact(~n - 1);< 151644#factENTRY ~n := #in~n; 151651#L25 assume ~n <= 0;#res := 1; 151649#factFINAL assume true; 151643#factEXIT >#66#return; 151640#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151637#factFINAL assume true; 151622#factEXIT >#66#return; 151620#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151618#factFINAL assume true; 151604#factEXIT >#68#return; 151593#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 151598#factENTRY ~n := #in~n; 151685#L25 assume !(~n <= 0); 151624#L26 call #t~ret0 := fact(~n - 1);< 151662#factENTRY ~n := #in~n; 151703#L25 assume ~n <= 0;#res := 1; 151687#factFINAL assume true; 151658#factEXIT >#66#return; 151657#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151655#factFINAL assume true; 151650#factEXIT >#70#return; 151647#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 151648#factENTRY ~n := #in~n; 151665#L25 assume !(~n <= 0); 151660#L26 call #t~ret0 := fact(~n - 1);< 151663#factENTRY ~n := #in~n; 151703#L25 assume ~n <= 0;#res := 1; 151687#factFINAL assume true; 151658#factEXIT >#66#return; 151656#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151653#factFINAL assume true; 151645#factEXIT >#72#return; 151642#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; 151639#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 151636#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 151621#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 151619#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; 151570#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 151614#factENTRY ~n := #in~n; 151684#L25 assume !(~n <= 0); 151630#L26 call #t~ret0 := fact(~n - 1);< 151635#factENTRY ~n := #in~n; 151652#L25 assume !(~n <= 0); 151625#L26 call #t~ret0 := fact(~n - 1);< 151644#factENTRY ~n := #in~n; 151652#L25 assume !(~n <= 0); 151625#L26 call #t~ret0 := fact(~n - 1);< 151644#factENTRY ~n := #in~n; 151651#L25 assume ~n <= 0;#res := 1; 151649#factFINAL assume true; 151643#factEXIT >#66#return; 151640#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151637#factFINAL assume true; 151622#factEXIT >#66#return; 151633#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151889#factFINAL assume true; 151888#factEXIT >#66#return; 151716#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151699#factFINAL assume true; 151675#factEXIT >#68#return; 151595#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 151598#factENTRY ~n := #in~n; 151685#L25 assume !(~n <= 0); 151624#L26 call #t~ret0 := fact(~n - 1);< 151662#factENTRY ~n := #in~n; 151652#L25 assume !(~n <= 0); 151625#L26 call #t~ret0 := fact(~n - 1);< 151644#factENTRY ~n := #in~n; 151652#L25 assume !(~n <= 0); 151625#L26 call #t~ret0 := fact(~n - 1);< 151644#factENTRY ~n := #in~n; 151651#L25 assume ~n <= 0;#res := 1; 151649#factFINAL assume true; 151643#factEXIT >#66#return; 151640#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151637#factFINAL assume true; 151622#factEXIT >#66#return; 151633#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151889#factFINAL assume true; 151888#factEXIT >#66#return; 151720#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151902#factFINAL assume true; 151901#factEXIT >#70#return; 151582#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 151654#factENTRY ~n := #in~n; 151682#L25 assume ~n <= 0;#res := 1; 151672#factFINAL assume true; 151577#factEXIT >#72#return; 151586#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; 151851#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 151810#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 151803#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 151790#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; 151504#L30-5 [2022-07-22 01:30:12,471 INFO L754 eck$LassoCheckResult]: Loop: 151504#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 151533#factENTRY ~n := #in~n; 151616#L25 assume !(~n <= 0); 151600#L26 call #t~ret0 := fact(~n - 1);< 151602#factENTRY ~n := #in~n; 151641#L25 assume !(~n <= 0); 151550#L26 call #t~ret0 := fact(~n - 1);< 151562#factENTRY ~n := #in~n; 151560#L25 assume !(~n <= 0); 151551#L26 call #t~ret0 := fact(~n - 1);< 151557#factENTRY ~n := #in~n; 151560#L25 assume !(~n <= 0); 151551#L26 call #t~ret0 := fact(~n - 1);< 151557#factENTRY ~n := #in~n; 151564#L25 assume ~n <= 0;#res := 1; 151563#factFINAL assume true; 151561#factEXIT >#66#return; 151559#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151556#factFINAL assume true; 151549#factEXIT >#66#return; 151554#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151617#factFINAL assume true; 151603#factEXIT >#66#return; 151601#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151615#factFINAL assume true; 151599#factEXIT >#66#return; 151545#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151532#factFINAL assume true; 151503#factEXIT >#74#return; 151478#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 151479#factENTRY ~n := #in~n; 151558#L25 assume !(~n <= 0); 151553#L26 call #t~ret0 := fact(~n - 1);< 151555#factENTRY ~n := #in~n; 151560#L25 assume !(~n <= 0); 151551#L26 call #t~ret0 := fact(~n - 1);< 151557#factENTRY ~n := #in~n; 151560#L25 assume !(~n <= 0); 151551#L26 call #t~ret0 := fact(~n - 1);< 151557#factENTRY ~n := #in~n; 151564#L25 assume ~n <= 0;#res := 1; 151563#factFINAL assume true; 151561#factEXIT >#66#return; 151559#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151556#factFINAL assume true; 151549#factEXIT >#66#return; 151554#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151617#factFINAL assume true; 151603#factEXIT >#66#return; 151588#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151576#factFINAL assume true; 151568#factEXIT >#76#return; 151431#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 151430#factENTRY ~n := #in~n; 151432#L25 assume !(~n <= 0); 151441#L26 call #t~ret0 := fact(~n - 1);< 151442#factENTRY ~n := #in~n; 151744#L25 assume ~n <= 0;#res := 1; 151742#factFINAL assume true; 151741#factEXIT >#66#return; 151739#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151738#factFINAL assume true; 151518#factEXIT >#78#return; 151507#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; 151444#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 151445#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 151482#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 151455#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 151456#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 151499#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 151500#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; 151418#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 151419#factENTRY ~n := #in~n; 151707#L25 assume !(~n <= 0); 151466#L26 call #t~ret0 := fact(~n - 1);< 151543#factENTRY ~n := #in~n; 151710#L25 assume !(~n <= 0); 151465#L26 call #t~ret0 := fact(~n - 1);< 151709#factENTRY ~n := #in~n; 151710#L25 assume !(~n <= 0); 151465#L26 call #t~ret0 := fact(~n - 1);< 151709#factENTRY ~n := #in~n; 151712#L25 assume ~n <= 0;#res := 1; 151714#factFINAL assume true; 151713#factEXIT >#66#return; 151711#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151708#factFINAL assume true; 151705#factEXIT >#66#return; 151463#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151467#factFINAL assume true; 151542#factEXIT >#66#return; 151521#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151508#factFINAL assume true; 151505#factEXIT >#68#return; 151506#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 151475#factENTRY ~n := #in~n; 151723#L25 assume ~n <= 0;#res := 1; 151722#factFINAL assume true; 151691#factEXIT >#70#return; 151693#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 151777#factENTRY ~n := #in~n; 151945#L25 assume !(~n <= 0); 151783#L26 call #t~ret0 := fact(~n - 1);< 151785#factENTRY ~n := #in~n; 151961#L25 assume !(~n <= 0); 151780#L26 call #t~ret0 := fact(~n - 1);< 151944#factENTRY ~n := #in~n; 151956#L25 assume !(~n <= 0); 151781#L26 call #t~ret0 := fact(~n - 1);< 151954#factENTRY ~n := #in~n; 151959#L25 assume ~n <= 0;#res := 1; 151958#factFINAL assume true; 151953#factEXIT >#66#return; 151951#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151947#factFINAL assume true; 151943#factEXIT >#66#return; 151784#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151962#factFINAL assume true; 151779#factEXIT >#66#return; 151778#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151775#factFINAL assume true; 151776#factEXIT >#72#return; 151679#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; 151957#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 151955#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 151952#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 151950#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; 151677#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 151700#factENTRY ~n := #in~n; 151724#L25 assume !(~n <= 0); 151628#L26 call #t~ret0 := fact(~n - 1);< 151635#factENTRY ~n := #in~n; 151652#L25 assume !(~n <= 0); 151625#L26 call #t~ret0 := fact(~n - 1);< 151644#factENTRY ~n := #in~n; 151652#L25 assume !(~n <= 0); 151625#L26 call #t~ret0 := fact(~n - 1);< 151644#factENTRY ~n := #in~n; 151651#L25 assume ~n <= 0;#res := 1; 151649#factFINAL assume true; 151643#factEXIT >#66#return; 151640#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151637#factFINAL assume true; 151622#factEXIT >#66#return; 151633#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151889#factFINAL assume true; 151888#factEXIT >#66#return; 151716#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151699#factFINAL assume true; 151675#factEXIT >#68#return; 151592#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 151598#factENTRY ~n := #in~n; 151685#L25 assume !(~n <= 0); 151624#L26 call #t~ret0 := fact(~n - 1);< 151662#factENTRY ~n := #in~n; 151703#L25 assume ~n <= 0;#res := 1; 151687#factFINAL assume true; 151658#factEXIT >#66#return; 151657#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151655#factFINAL assume true; 151650#factEXIT >#70#return; 151609#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 151614#factENTRY ~n := #in~n; 151684#L25 assume !(~n <= 0); 151630#L26 call #t~ret0 := fact(~n - 1);< 151635#factENTRY ~n := #in~n; 151652#L25 assume !(~n <= 0); 151625#L26 call #t~ret0 := fact(~n - 1);< 151644#factENTRY ~n := #in~n; 151651#L25 assume ~n <= 0;#res := 1; 151649#factFINAL assume true; 151643#factEXIT >#66#return; 151640#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151637#factFINAL assume true; 151622#factEXIT >#66#return; 151620#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151618#factFINAL assume true; 151604#factEXIT >#72#return; 151584#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; 152234#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 152011#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 152010#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 151918#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; 151667#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 151700#factENTRY ~n := #in~n; 151724#L25 assume !(~n <= 0); 151628#L26 call #t~ret0 := fact(~n - 1);< 151635#factENTRY ~n := #in~n; 151652#L25 assume !(~n <= 0); 151625#L26 call #t~ret0 := fact(~n - 1);< 151644#factENTRY ~n := #in~n; 151652#L25 assume !(~n <= 0); 151625#L26 call #t~ret0 := fact(~n - 1);< 151644#factENTRY ~n := #in~n; 151651#L25 assume ~n <= 0;#res := 1; 151649#factFINAL assume true; 151643#factEXIT >#66#return; 151640#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151637#factFINAL assume true; 151622#factEXIT >#66#return; 151633#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151889#factFINAL assume true; 151888#factEXIT >#66#return; 151716#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151699#factFINAL assume true; 151675#factEXIT >#68#return; 151590#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 151598#factENTRY ~n := #in~n; 151685#L25 assume !(~n <= 0); 151624#L26 call #t~ret0 := fact(~n - 1);< 151662#factENTRY ~n := #in~n; 151652#L25 assume !(~n <= 0); 151625#L26 call #t~ret0 := fact(~n - 1);< 151644#factENTRY ~n := #in~n; 151652#L25 assume !(~n <= 0); 151625#L26 call #t~ret0 := fact(~n - 1);< 151644#factENTRY ~n := #in~n; 151651#L25 assume ~n <= 0;#res := 1; 151649#factFINAL assume true; 151643#factEXIT >#66#return; 151640#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151637#factFINAL assume true; 151622#factEXIT >#66#return; 151633#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151889#factFINAL assume true; 151888#factEXIT >#66#return; 151720#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 151902#factFINAL assume true; 151901#factEXIT >#70#return; 151579#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 151654#factENTRY ~n := #in~n; 151682#L25 assume ~n <= 0;#res := 1; 151672#factFINAL assume true; 151577#factEXIT >#72#return; 151585#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; 151899#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 151760#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 151759#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 151666#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; 151504#L30-5 [2022-07-22 01:30:12,472 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:12,472 INFO L85 PathProgramCache]: Analyzing trace with hash -1423525490, now seen corresponding path program 18 times [2022-07-22 01:30:12,472 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:12,472 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2088103193] [2022-07-22 01:30:12,472 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:12,473 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:12,481 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:12,482 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1667437830] [2022-07-22 01:30:12,482 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-22 01:30:12,482 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:12,482 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:12,484 INFO L229 MonitoredProcess]: Starting monitored process 157 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:12,485 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (157)] Waiting until timeout for monitored process [2022-07-22 01:30:12,626 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 9 check-sat command(s) [2022-07-22 01:30:12,626 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:12,628 INFO L263 TraceCheckSpWp]: Trace formula consists of 327 conjuncts, 7 conjunts are in the unsatisfiable core [2022-07-22 01:30:12,631 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:12,826 INFO L134 CoverageAnalysis]: Checked inductivity of 6937 backedges. 135 proven. 37 refuted. 0 times theorem prover too weak. 6765 trivial. 0 not checked. [2022-07-22 01:30:12,826 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:13,097 INFO L134 CoverageAnalysis]: Checked inductivity of 6937 backedges. 135 proven. 37 refuted. 0 times theorem prover too weak. 6765 trivial. 0 not checked. [2022-07-22 01:30:13,097 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:13,097 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2088103193] [2022-07-22 01:30:13,097 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:13,097 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1667437830] [2022-07-22 01:30:13,098 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1667437830] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:13,098 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:13,098 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 6 [2022-07-22 01:30:13,098 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1327553690] [2022-07-22 01:30:13,098 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:13,098 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:30:13,099 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:13,099 INFO L85 PathProgramCache]: Analyzing trace with hash 1428838830, now seen corresponding path program 16 times [2022-07-22 01:30:13,099 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:13,099 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [321369571] [2022-07-22 01:30:13,099 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:13,099 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:13,105 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:13,106 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2049538551] [2022-07-22 01:30:13,106 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-22 01:30:13,106 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:13,106 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:13,111 INFO L229 MonitoredProcess]: Starting monitored process 158 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:13,133 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (158)] Waiting until timeout for monitored process [2022-07-22 01:30:13,234 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-22 01:30:13,234 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:13,235 INFO L263 TraceCheckSpWp]: Trace formula consists of 524 conjuncts, 12 conjunts are in the unsatisfiable core [2022-07-22 01:30:13,239 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:13,331 INFO L134 CoverageAnalysis]: Checked inductivity of 3499 backedges. 619 proven. 21 refuted. 0 times theorem prover too weak. 2859 trivial. 0 not checked. [2022-07-22 01:30:13,332 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:13,729 INFO L134 CoverageAnalysis]: Checked inductivity of 3499 backedges. 471 proven. 34 refuted. 0 times theorem prover too weak. 2994 trivial. 0 not checked. [2022-07-22 01:30:13,730 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:13,730 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [321369571] [2022-07-22 01:30:13,730 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:13,730 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2049538551] [2022-07-22 01:30:13,730 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2049538551] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:13,730 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:13,730 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 12] total 13 [2022-07-22 01:30:13,730 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1503090762] [2022-07-22 01:30:13,730 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:13,731 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:30:13,731 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:30:13,731 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-07-22 01:30:13,731 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=118, Unknown=0, NotChecked=0, Total=156 [2022-07-22 01:30:13,731 INFO L87 Difference]: Start difference. First operand 1019 states and 1423 transitions. cyclomatic complexity: 425 Second operand has 13 states, 12 states have (on average 3.8333333333333335) internal successors, (46), 13 states have internal predecessors, (46), 9 states have call successors, (18), 2 states have call predecessors, (18), 5 states have return successors, (19), 8 states have call predecessors, (19), 9 states have call successors, (19) [2022-07-22 01:30:14,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:30:14,066 INFO L93 Difference]: Finished difference Result 1208 states and 1732 transitions. [2022-07-22 01:30:14,066 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-07-22 01:30:14,067 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1208 states and 1732 transitions. [2022-07-22 01:30:14,073 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 111 [2022-07-22 01:30:14,079 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1208 states to 1208 states and 1732 transitions. [2022-07-22 01:30:14,079 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 171 [2022-07-22 01:30:14,079 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 171 [2022-07-22 01:30:14,079 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1208 states and 1732 transitions. [2022-07-22 01:30:14,080 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:30:14,080 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1208 states and 1732 transitions. [2022-07-22 01:30:14,080 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1208 states and 1732 transitions. [2022-07-22 01:30:14,093 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1208 to 1067. [2022-07-22 01:30:14,094 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1067 states, 681 states have (on average 1.091042584434655) internal successors, (743), 687 states have internal predecessors, (743), 251 states have call successors, (251), 139 states have call predecessors, (251), 135 states have return successors, (513), 240 states have call predecessors, (513), 251 states have call successors, (513) [2022-07-22 01:30:14,097 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1067 states to 1067 states and 1507 transitions. [2022-07-22 01:30:14,098 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1067 states and 1507 transitions. [2022-07-22 01:30:14,098 INFO L374 stractBuchiCegarLoop]: Abstraction has 1067 states and 1507 transitions. [2022-07-22 01:30:14,098 INFO L287 stractBuchiCegarLoop]: ======== Iteration 32 ============ [2022-07-22 01:30:14,098 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1067 states and 1507 transitions. [2022-07-22 01:30:14,101 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 90 [2022-07-22 01:30:14,101 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:30:14,101 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:30:14,102 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [57, 57, 29, 29, 29, 29, 28, 10, 9, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1] [2022-07-22 01:30:14,103 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [47, 47, 32, 32, 32, 32, 15, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:30:14,103 INFO L752 eck$LassoCheckResult]: Stem: 157314#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 157290#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; 157291#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 157313#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; 157301#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 157302#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 157981#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; 157917#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 157954#factENTRY ~n := #in~n; 157988#L25 assume ~n <= 0;#res := 1; 157916#factFINAL assume true; 157918#factEXIT >#68#return; 157904#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 157910#factENTRY ~n := #in~n; 157903#L25 assume ~n <= 0;#res := 1; 157905#factFINAL assume true; 157978#factEXIT >#70#return; 157269#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 157270#factENTRY ~n := #in~n; 158003#L25 assume ~n <= 0;#res := 1; 158002#factFINAL assume true; 158001#factEXIT >#72#return; 157308#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; 157306#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 157307#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 158102#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 158103#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; 157256#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 157257#factENTRY ~n := #in~n; 158235#L25 assume !(~n <= 0); 158228#L26 call #t~ret0 := fact(~n - 1);< 158239#factENTRY ~n := #in~n; 158236#L25 assume ~n <= 0;#res := 1; 158237#factFINAL assume true; 158227#factEXIT >#66#return; 158229#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 158223#factFINAL assume true; 158224#factEXIT >#74#return; 157267#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 157331#factENTRY ~n := #in~n; 157324#L25 assume ~n <= 0;#res := 1; 157325#factFINAL assume true; 157266#factEXIT >#76#return; 157268#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 158300#factENTRY ~n := #in~n; 158301#L25 assume !(~n <= 0); 158259#L26 call #t~ret0 := fact(~n - 1);< 158262#factENTRY ~n := #in~n; 158297#L25 assume ~n <= 0;#res := 1; 158296#factFINAL assume true; 158258#factEXIT >#66#return; 158261#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 158299#factFINAL assume true; 158214#factEXIT >#78#return; 157294#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; 157295#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 157300#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 157322#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 157323#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; 158006#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 158009#factENTRY ~n := #in~n; 158181#L25 assume !(~n <= 0); 158093#L26 call #t~ret0 := fact(~n - 1);< 158180#factENTRY ~n := #in~n; 158196#L25 assume !(~n <= 0); 158096#L26 call #t~ret0 := fact(~n - 1);< 158194#factENTRY ~n := #in~n; 158197#L25 assume ~n <= 0;#res := 1; 158195#factFINAL assume true; 158193#factEXIT >#66#return; 158192#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 158191#factFINAL assume true; 158188#factEXIT >#66#return; 158187#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 158186#factFINAL assume true; 158169#factEXIT >#74#return; 157382#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 158010#factENTRY ~n := #in~n; 158179#L25 assume ~n <= 0;#res := 1; 158182#factFINAL assume true; 158199#factEXIT >#76#return; 157383#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 158184#factENTRY ~n := #in~n; 158185#L25 assume !(~n <= 0); 158094#L26 call #t~ret0 := fact(~n - 1);< 158190#factENTRY ~n := #in~n; 158196#L25 assume !(~n <= 0); 158096#L26 call #t~ret0 := fact(~n - 1);< 158194#factENTRY ~n := #in~n; 158197#L25 assume ~n <= 0;#res := 1; 158195#factFINAL assume true; 158193#factEXIT >#66#return; 158192#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 158191#factFINAL assume true; 158188#factEXIT >#66#return; 158187#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 158186#factFINAL assume true; 158169#factEXIT >#78#return; 157292#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; 157293#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 157332#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 157333#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 157310#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 157311#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 157320#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 157321#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; 157273#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 157274#factENTRY ~n := #in~n; 157982#L25 assume !(~n <= 0); 157966#L26 call #t~ret0 := fact(~n - 1);< 157967#factENTRY ~n := #in~n; 157974#L25 assume ~n <= 0;#res := 1; 157972#factFINAL assume true; 157965#factEXIT >#66#return; 157962#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157958#factFINAL assume true; 157890#factEXIT >#68#return; 157891#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 157948#factENTRY ~n := #in~n; 157953#L25 assume ~n <= 0;#res := 1; 157952#factFINAL assume true; 157947#factEXIT >#70#return; 157942#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 157943#factENTRY ~n := #in~n; 158016#L25 assume !(~n <= 0); 158014#L26 call #t~ret0 := fact(~n - 1);< 158015#factENTRY ~n := #in~n; 158209#L25 assume ~n <= 0;#res := 1; 158210#factFINAL assume true; 158013#factEXIT >#66#return; 158011#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 158004#factFINAL assume true; 157941#factEXIT >#72#return; 157939#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; 157938#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 157936#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 157927#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 157915#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; 157913#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 157914#factENTRY ~n := #in~n; 157946#L25 assume !(~n <= 0); 157934#L26 call #t~ret0 := fact(~n - 1);< 157935#factENTRY ~n := #in~n; 157945#L25 assume ~n <= 0;#res := 1; 157944#factFINAL assume true; 157933#factEXIT >#66#return; 157926#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157925#factFINAL assume true; 157912#factEXIT >#68#return; 157328#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 157329#factENTRY ~n := #in~n; 157932#L25 assume !(~n <= 0); 157921#L26 call #t~ret0 := fact(~n - 1);< 157924#factENTRY ~n := #in~n; 157937#L25 assume ~n <= 0;#res := 1; 157928#factFINAL assume true; 157919#factEXIT >#66#return; 157906#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157902#factFINAL assume true; 157900#factEXIT >#70#return; 157901#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 157977#factENTRY ~n := #in~n; 157980#L25 assume ~n <= 0;#res := 1; 157979#factFINAL assume true; 157976#factEXIT >#72#return; 157975#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; 157973#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 157971#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 157964#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 157960#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; 157961#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 158033#factENTRY ~n := #in~n; 158041#L25 assume !(~n <= 0); 158037#L26 call #t~ret0 := fact(~n - 1);< 158039#factENTRY ~n := #in~n; 158045#L25 assume !(~n <= 0); 158038#L26 call #t~ret0 := fact(~n - 1);< 158044#factENTRY ~n := #in~n; 158048#L25 assume ~n <= 0;#res := 1; 158046#factFINAL assume true; 158043#factEXIT >#66#return; 158042#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 158040#factFINAL assume true; 158036#factEXIT >#66#return; 158035#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 158034#factFINAL assume true; 158032#factEXIT >#74#return; 158023#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 158024#factENTRY ~n := #in~n; 158065#L25 assume !(~n <= 0); 158061#L26 call #t~ret0 := fact(~n - 1);< 158062#factENTRY ~n := #in~n; 158047#L25 assume ~n <= 0;#res := 1; 158067#factFINAL assume true; 158060#factEXIT >#66#return; 158050#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 158029#factFINAL assume true; 158031#factEXIT >#76#return; 158030#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 158024#factENTRY ~n := #in~n; 158065#L25 assume !(~n <= 0); 158061#L26 call #t~ret0 := fact(~n - 1);< 158062#factENTRY ~n := #in~n; 158047#L25 assume ~n <= 0;#res := 1; 158067#factFINAL assume true; 158060#factEXIT >#66#return; 158050#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 158029#factFINAL assume true; 158031#factEXIT >#78#return; 157339#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; 157338#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 157337#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 157336#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 157312#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 157303#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 157305#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 157315#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; 157316#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 157794#factENTRY ~n := #in~n; 157358#L25 assume !(~n <= 0); 157355#L26 call #t~ret0 := fact(~n - 1);< 157357#factENTRY ~n := #in~n; 157363#L25 assume !(~n <= 0); 157354#L26 call #t~ret0 := fact(~n - 1);< 157362#factENTRY ~n := #in~n; 157364#L25 assume ~n <= 0;#res := 1; 157368#factFINAL assume true; 157366#factEXIT >#66#return; 157367#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157810#factFINAL assume true; 157352#factEXIT >#66#return; 157350#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157351#factFINAL assume true; 157793#factEXIT >#68#return; 157789#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 157327#factENTRY ~n := #in~n; 157820#L25 assume ~n <= 0;#res := 1; 157818#factFINAL assume true; 157788#factEXIT >#70#return; 157785#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 157786#factENTRY ~n := #in~n; 157827#L25 assume !(~n <= 0); 157804#L26 call #t~ret0 := fact(~n - 1);< 157812#factENTRY ~n := #in~n; 157834#L25 assume !(~n <= 0); 157807#L26 call #t~ret0 := fact(~n - 1);< 157832#factENTRY ~n := #in~n; 157839#L25 assume ~n <= 0;#res := 1; 157837#factFINAL assume true; 157831#factEXIT >#66#return; 157830#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157829#factFINAL assume true; 157824#factEXIT >#66#return; 157822#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157821#factFINAL assume true; 157784#factEXIT >#72#return; 157782#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; 157780#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 157778#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 157777#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 157776#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; 157665#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 157685#factENTRY ~n := #in~n; 157753#L25 assume !(~n <= 0); 157688#L26 call #t~ret0 := fact(~n - 1);< 157716#factENTRY ~n := #in~n; 157748#L25 assume !(~n <= 0); 157690#L26 call #t~ret0 := fact(~n - 1);< 157747#factENTRY ~n := #in~n; 157750#L25 assume ~n <= 0;#res := 1; 157749#factFINAL assume true; 157746#factEXIT >#66#return; 157741#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157735#factFINAL assume true; 157709#factEXIT >#66#return; 157710#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157713#factFINAL assume true; 157684#factEXIT >#68#return; 157640#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 157642#factENTRY ~n := #in~n; 157701#L25 assume !(~n <= 0); 157687#L26 call #t~ret0 := fact(~n - 1);< 157700#factENTRY ~n := #in~n; 157843#L25 assume ~n <= 0;#res := 1; 157751#factFINAL assume true; 157742#factEXIT >#66#return; 157740#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157739#factFINAL assume true; 157733#factEXIT >#70#return; 157730#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 157732#factENTRY ~n := #in~n; 157755#L25 assume !(~n <= 0); 157649#L26 call #t~ret0 := fact(~n - 1);< 157752#factENTRY ~n := #in~n; 157843#L25 assume ~n <= 0;#res := 1; 157751#factFINAL assume true; 157742#factEXIT >#66#return; 157744#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157846#factFINAL assume true; 157726#factEXIT >#72#return; 157724#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; 157723#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 157719#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 157718#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 157717#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; 157667#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 157685#factENTRY ~n := #in~n; 157753#L25 assume !(~n <= 0); 157688#L26 call #t~ret0 := fact(~n - 1);< 157716#factENTRY ~n := #in~n; 157748#L25 assume !(~n <= 0); 157690#L26 call #t~ret0 := fact(~n - 1);< 157747#factENTRY ~n := #in~n; 157750#L25 assume ~n <= 0;#res := 1; 157749#factFINAL assume true; 157746#factEXIT >#66#return; 157741#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157735#factFINAL assume true; 157709#factEXIT >#66#return; 157710#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157713#factFINAL assume true; 157684#factEXIT >#68#return; 157633#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 157642#factENTRY ~n := #in~n; 157701#L25 assume !(~n <= 0); 157687#L26 call #t~ret0 := fact(~n - 1);< 157700#factENTRY ~n := #in~n; 157748#L25 assume !(~n <= 0); 157690#L26 call #t~ret0 := fact(~n - 1);< 157747#factENTRY ~n := #in~n; 157750#L25 assume ~n <= 0;#res := 1; 157749#factFINAL assume true; 157746#factEXIT >#66#return; 157741#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157735#factFINAL assume true; 157709#factEXIT >#66#return; 157682#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157678#factFINAL assume true; 157625#factEXIT >#70#return; 157614#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 157623#factENTRY ~n := #in~n; 157648#L25 assume ~n <= 0;#res := 1; 157647#factFINAL assume true; 157613#factEXIT >#72#return; 157611#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; 157608#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 157604#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 157603#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 157426#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; 157421#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 157425#factENTRY ~n := #in~n; 157423#L25 assume !(~n <= 0); 157262#L26 call #t~ret0 := fact(~n - 1);< 157405#factENTRY ~n := #in~n; 157413#L25 assume !(~n <= 0); 157260#L26 call #t~ret0 := fact(~n - 1);< 157412#factENTRY ~n := #in~n; 157413#L25 assume !(~n <= 0); 157260#L26 call #t~ret0 := fact(~n - 1);< 157412#factENTRY ~n := #in~n; 157435#L25 assume ~n <= 0;#res := 1; 157429#factFINAL assume true; 157420#factEXIT >#66#return; 157415#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157411#factFINAL assume true; 157403#factEXIT >#66#return; 157404#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157473#factFINAL assume true; 157474#factEXIT >#66#return; 157645#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157644#factFINAL assume true; 157643#factEXIT >#74#return; 157276#L30-6 [2022-07-22 01:30:14,104 INFO L754 eck$LassoCheckResult]: Loop: 157276#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 157330#factENTRY ~n := #in~n; 157408#L25 assume !(~n <= 0); 157261#L26 call #t~ret0 := fact(~n - 1);< 157405#factENTRY ~n := #in~n; 157413#L25 assume !(~n <= 0); 157260#L26 call #t~ret0 := fact(~n - 1);< 157412#factENTRY ~n := #in~n; 157435#L25 assume ~n <= 0;#res := 1; 157429#factFINAL assume true; 157420#factEXIT >#66#return; 157415#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157411#factFINAL assume true; 157403#factEXIT >#66#return; 157402#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157398#factFINAL assume true; 157397#factEXIT >#76#return; 157365#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 157401#factENTRY ~n := #in~n; 157434#L25 assume !(~n <= 0); 157432#L26 call #t~ret0 := fact(~n - 1);< 157433#factENTRY ~n := #in~n; 157455#L25 assume ~n <= 0;#res := 1; 157445#factFINAL assume true; 157431#factEXIT >#66#return; 157410#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157400#factFINAL assume true; 157369#factEXIT >#78#return; 157370#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; 157298#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 157299#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 157715#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 157704#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 157705#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 157799#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 157798#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; 157271#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 157272#factENTRY ~n := #in~n; 157359#L25 assume !(~n <= 0); 157353#L26 call #t~ret0 := fact(~n - 1);< 157357#factENTRY ~n := #in~n; 157363#L25 assume !(~n <= 0); 157354#L26 call #t~ret0 := fact(~n - 1);< 157362#factENTRY ~n := #in~n; 157363#L25 assume !(~n <= 0); 157354#L26 call #t~ret0 := fact(~n - 1);< 157362#factENTRY ~n := #in~n; 157364#L25 assume ~n <= 0;#res := 1; 157368#factFINAL assume true; 157366#factEXIT >#66#return; 157367#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157810#factFINAL assume true; 157352#factEXIT >#66#return; 157356#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157360#factFINAL assume true; 157361#factEXIT >#66#return; 157801#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157349#factFINAL assume true; 157347#factEXIT >#68#return; 157326#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 157327#factENTRY ~n := #in~n; 157820#L25 assume ~n <= 0;#res := 1; 157818#factFINAL assume true; 157788#factEXIT >#70#return; 157791#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 157797#factENTRY ~n := #in~n; 157813#L25 assume !(~n <= 0); 157806#L26 call #t~ret0 := fact(~n - 1);< 157809#factENTRY ~n := #in~n; 157893#L25 assume !(~n <= 0); 157805#L26 call #t~ret0 := fact(~n - 1);< 157812#factENTRY ~n := #in~n; 157834#L25 assume !(~n <= 0); 157807#L26 call #t~ret0 := fact(~n - 1);< 157832#factENTRY ~n := #in~n; 157839#L25 assume ~n <= 0;#res := 1; 157837#factFINAL assume true; 157831#factEXIT >#66#return; 157830#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157829#factFINAL assume true; 157824#factEXIT >#66#return; 157808#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157811#factFINAL assume true; 157803#factEXIT >#66#return; 157802#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157800#factFINAL assume true; 157795#factEXIT >#72#return; 157796#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; 157828#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 157826#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 157825#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 157823#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; 157669#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 157677#factENTRY ~n := #in~n; 157762#L25 assume !(~n <= 0); 157696#L26 call #t~ret0 := fact(~n - 1);< 157716#factENTRY ~n := #in~n; 157748#L25 assume !(~n <= 0); 157690#L26 call #t~ret0 := fact(~n - 1);< 157747#factENTRY ~n := #in~n; 157748#L25 assume !(~n <= 0); 157690#L26 call #t~ret0 := fact(~n - 1);< 157747#factENTRY ~n := #in~n; 157750#L25 assume ~n <= 0;#res := 1; 157749#factFINAL assume true; 157746#factEXIT >#66#return; 157741#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157735#factFINAL assume true; 157709#factEXIT >#66#return; 157711#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157763#factFINAL assume true; 157686#factEXIT >#66#return; 157697#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157680#factFINAL assume true; 157653#factEXIT >#68#return; 157626#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 157642#factENTRY ~n := #in~n; 157701#L25 assume !(~n <= 0); 157687#L26 call #t~ret0 := fact(~n - 1);< 157700#factENTRY ~n := #in~n; 157843#L25 assume ~n <= 0;#res := 1; 157751#factFINAL assume true; 157742#factEXIT >#66#return; 157740#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157739#factFINAL assume true; 157733#factEXIT >#70#return; 157668#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 157685#factENTRY ~n := #in~n; 157753#L25 assume !(~n <= 0); 157688#L26 call #t~ret0 := fact(~n - 1);< 157716#factENTRY ~n := #in~n; 157748#L25 assume !(~n <= 0); 157690#L26 call #t~ret0 := fact(~n - 1);< 157747#factENTRY ~n := #in~n; 157750#L25 assume ~n <= 0;#res := 1; 157749#factFINAL assume true; 157746#factEXIT >#66#return; 157741#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157735#factFINAL assume true; 157709#factEXIT >#66#return; 157710#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157713#factFINAL assume true; 157684#factEXIT >#72#return; 157675#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; 157819#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 157817#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 157816#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 157815#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; 157671#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 157677#factENTRY ~n := #in~n; 157762#L25 assume !(~n <= 0); 157696#L26 call #t~ret0 := fact(~n - 1);< 157716#factENTRY ~n := #in~n; 157748#L25 assume !(~n <= 0); 157690#L26 call #t~ret0 := fact(~n - 1);< 157747#factENTRY ~n := #in~n; 157748#L25 assume !(~n <= 0); 157690#L26 call #t~ret0 := fact(~n - 1);< 157747#factENTRY ~n := #in~n; 157750#L25 assume ~n <= 0;#res := 1; 157749#factFINAL assume true; 157746#factEXIT >#66#return; 157741#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157735#factFINAL assume true; 157709#factEXIT >#66#return; 157711#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157763#factFINAL assume true; 157686#factEXIT >#66#return; 157697#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157680#factFINAL assume true; 157653#factEXIT >#68#return; 157627#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 157642#factENTRY ~n := #in~n; 157701#L25 assume !(~n <= 0); 157687#L26 call #t~ret0 := fact(~n - 1);< 157700#factENTRY ~n := #in~n; 157748#L25 assume !(~n <= 0); 157690#L26 call #t~ret0 := fact(~n - 1);< 157747#factENTRY ~n := #in~n; 157750#L25 assume ~n <= 0;#res := 1; 157749#factFINAL assume true; 157746#factEXIT >#66#return; 157741#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157735#factFINAL assume true; 157709#factEXIT >#66#return; 157682#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157678#factFINAL assume true; 157625#factEXIT >#70#return; 157616#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 157624#factENTRY ~n := #in~n; 157754#L25 assume !(~n <= 0); 157692#L26 call #t~ret0 := fact(~n - 1);< 157700#factENTRY ~n := #in~n; 157748#L25 assume !(~n <= 0); 157690#L26 call #t~ret0 := fact(~n - 1);< 157747#factENTRY ~n := #in~n; 157750#L25 assume ~n <= 0;#res := 1; 157749#factFINAL assume true; 157746#factEXIT >#66#return; 157741#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157735#factFINAL assume true; 157709#factEXIT >#66#return; 157710#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157713#factFINAL assume true; 157684#factEXIT >#72#return; 157621#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; 157855#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 157854#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 157852#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 157722#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; 157658#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 157677#factENTRY ~n := #in~n; 157762#L25 assume !(~n <= 0); 157696#L26 call #t~ret0 := fact(~n - 1);< 157716#factENTRY ~n := #in~n; 157748#L25 assume !(~n <= 0); 157690#L26 call #t~ret0 := fact(~n - 1);< 157747#factENTRY ~n := #in~n; 157748#L25 assume !(~n <= 0); 157690#L26 call #t~ret0 := fact(~n - 1);< 157747#factENTRY ~n := #in~n; 157750#L25 assume ~n <= 0;#res := 1; 157749#factFINAL assume true; 157746#factEXIT >#66#return; 157741#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157735#factFINAL assume true; 157709#factEXIT >#66#return; 157711#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157763#factFINAL assume true; 157686#factEXIT >#66#return; 157697#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157680#factFINAL assume true; 157653#factEXIT >#68#return; 157638#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 157642#factENTRY ~n := #in~n; 157701#L25 assume !(~n <= 0); 157687#L26 call #t~ret0 := fact(~n - 1);< 157700#factENTRY ~n := #in~n; 157748#L25 assume !(~n <= 0); 157690#L26 call #t~ret0 := fact(~n - 1);< 157747#factENTRY ~n := #in~n; 157748#L25 assume !(~n <= 0); 157690#L26 call #t~ret0 := fact(~n - 1);< 157747#factENTRY ~n := #in~n; 157750#L25 assume ~n <= 0;#res := 1; 157749#factFINAL assume true; 157746#factEXIT >#66#return; 157741#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157735#factFINAL assume true; 157709#factEXIT >#66#return; 157711#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157763#factFINAL assume true; 157686#factEXIT >#66#return; 157683#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157679#factFINAL assume true; 157652#factEXIT >#70#return; 157619#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 157624#factENTRY ~n := #in~n; 157754#L25 assume ~n <= 0;#res := 1; 157647#factFINAL assume true; 157613#factEXIT >#72#return; 157612#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; 157609#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 157610#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 157725#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 157720#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; 157254#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 157255#factENTRY ~n := #in~n; 157285#L25 assume !(~n <= 0); 157263#L26 call #t~ret0 := fact(~n - 1);< 157296#factENTRY ~n := #in~n; 157459#L25 assume !(~n <= 0); 157259#L26 call #t~ret0 := fact(~n - 1);< 157416#factENTRY ~n := #in~n; 157413#L25 assume !(~n <= 0); 157260#L26 call #t~ret0 := fact(~n - 1);< 157412#factENTRY ~n := #in~n; 157413#L25 assume !(~n <= 0); 157260#L26 call #t~ret0 := fact(~n - 1);< 157412#factENTRY ~n := #in~n; 157435#L25 assume ~n <= 0;#res := 1; 157429#factFINAL assume true; 157420#factEXIT >#66#return; 157415#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157411#factFINAL assume true; 157403#factEXIT >#66#return; 157404#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157473#factFINAL assume true; 157474#factEXIT >#66#return; 157264#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157476#factFINAL assume true; 157258#factEXIT >#66#return; 157265#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 157275#factFINAL assume true; 157277#factEXIT >#74#return; 157276#L30-6 [2022-07-22 01:30:14,104 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:14,104 INFO L85 PathProgramCache]: Analyzing trace with hash 785036393, now seen corresponding path program 19 times [2022-07-22 01:30:14,104 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:14,105 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [762686404] [2022-07-22 01:30:14,105 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:14,105 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:14,113 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:14,114 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1006637627] [2022-07-22 01:30:14,114 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-22 01:30:14,114 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:14,114 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:14,119 INFO L229 MonitoredProcess]: Starting monitored process 159 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:14,147 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (159)] Waiting until timeout for monitored process [2022-07-22 01:30:14,280 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:30:14,283 INFO L263 TraceCheckSpWp]: Trace formula consists of 856 conjuncts, 10 conjunts are in the unsatisfiable core [2022-07-22 01:30:14,285 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:14,438 INFO L134 CoverageAnalysis]: Checked inductivity of 7440 backedges. 1109 proven. 120 refuted. 0 times theorem prover too weak. 6211 trivial. 0 not checked. [2022-07-22 01:30:14,438 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:14,776 INFO L134 CoverageAnalysis]: Checked inductivity of 7440 backedges. 41 proven. 184 refuted. 0 times theorem prover too weak. 7215 trivial. 0 not checked. [2022-07-22 01:30:14,777 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:14,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [762686404] [2022-07-22 01:30:14,777 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:14,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1006637627] [2022-07-22 01:30:14,777 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1006637627] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:14,777 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:14,777 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 15 [2022-07-22 01:30:14,777 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [749754951] [2022-07-22 01:30:14,777 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:14,778 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:30:14,778 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:14,778 INFO L85 PathProgramCache]: Analyzing trace with hash -1260131747, now seen corresponding path program 17 times [2022-07-22 01:30:14,778 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:14,778 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [288701502] [2022-07-22 01:30:14,778 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:14,778 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:14,784 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:14,784 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1606146850] [2022-07-22 01:30:14,784 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-22 01:30:14,784 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:14,784 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:14,791 INFO L229 MonitoredProcess]: Starting monitored process 160 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:14,803 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (160)] Waiting until timeout for monitored process [2022-07-22 01:30:14,933 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 14 check-sat command(s) [2022-07-22 01:30:14,933 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:14,935 INFO L263 TraceCheckSpWp]: Trace formula consists of 379 conjuncts, 26 conjunts are in the unsatisfiable core [2022-07-22 01:30:14,937 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:15,168 INFO L134 CoverageAnalysis]: Checked inductivity of 5381 backedges. 2911 proven. 410 refuted. 0 times theorem prover too weak. 2060 trivial. 0 not checked. [2022-07-22 01:30:15,168 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:16,163 INFO L134 CoverageAnalysis]: Checked inductivity of 5381 backedges. 626 proven. 941 refuted. 0 times theorem prover too weak. 3814 trivial. 0 not checked. [2022-07-22 01:30:16,163 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:16,163 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [288701502] [2022-07-22 01:30:16,163 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:16,163 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1606146850] [2022-07-22 01:30:16,163 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1606146850] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:16,163 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:16,164 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 19] total 24 [2022-07-22 01:30:16,164 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [645789668] [2022-07-22 01:30:16,164 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:16,164 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:30:16,164 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:30:16,164 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-07-22 01:30:16,165 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=79, Invalid=473, Unknown=0, NotChecked=0, Total=552 [2022-07-22 01:30:16,165 INFO L87 Difference]: Start difference. First operand 1067 states and 1507 transitions. cyclomatic complexity: 461 Second operand has 24 states, 17 states have (on average 3.5294117647058822) internal successors, (60), 20 states have internal predecessors, (60), 17 states have call successors, (32), 2 states have call predecessors, (32), 8 states have return successors, (35), 15 states have call predecessors, (35), 17 states have call successors, (35) [2022-07-22 01:30:17,463 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:30:17,463 INFO L93 Difference]: Finished difference Result 1647 states and 2470 transitions. [2022-07-22 01:30:17,464 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-07-22 01:30:17,464 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1647 states and 2470 transitions. [2022-07-22 01:30:17,470 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 242 [2022-07-22 01:30:17,479 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1647 states to 1644 states and 2465 transitions. [2022-07-22 01:30:17,479 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 286 [2022-07-22 01:30:17,479 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 286 [2022-07-22 01:30:17,479 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1644 states and 2465 transitions. [2022-07-22 01:30:17,480 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:30:17,480 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1644 states and 2465 transitions. [2022-07-22 01:30:17,480 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1644 states and 2465 transitions. [2022-07-22 01:30:17,499 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1644 to 1252. [2022-07-22 01:30:17,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1252 states, 791 states have (on average 1.0960809102402023) internal successors, (867), 795 states have internal predecessors, (867), 320 states have call successors, (320), 149 states have call predecessors, (320), 141 states have return successors, (692), 307 states have call predecessors, (692), 320 states have call successors, (692) [2022-07-22 01:30:17,504 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1252 states to 1252 states and 1879 transitions. [2022-07-22 01:30:17,504 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1252 states and 1879 transitions. [2022-07-22 01:30:17,504 INFO L374 stractBuchiCegarLoop]: Abstraction has 1252 states and 1879 transitions. [2022-07-22 01:30:17,504 INFO L287 stractBuchiCegarLoop]: ======== Iteration 33 ============ [2022-07-22 01:30:17,504 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1252 states and 1879 transitions. [2022-07-22 01:30:17,507 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 160 [2022-07-22 01:30:17,507 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:30:17,507 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:30:17,509 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [57, 57, 29, 29, 29, 29, 28, 10, 9, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1] [2022-07-22 01:30:17,509 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [48, 48, 33, 33, 33, 33, 15, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:30:17,509 INFO L752 eck$LassoCheckResult]: Stem: 164106#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 164081#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; 164082#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 164105#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; 164094#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 164095#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 164523#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; 164519#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 164520#factENTRY ~n := #in~n; 164524#L25 assume ~n <= 0;#res := 1; 164522#factFINAL assume true; 164518#factEXIT >#68#return; 164514#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 164515#factENTRY ~n := #in~n; 164521#L25 assume ~n <= 0;#res := 1; 164517#factFINAL assume true; 164513#factEXIT >#70#return; 164507#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 164508#factENTRY ~n := #in~n; 164516#L25 assume ~n <= 0;#res := 1; 164512#factFINAL assume true; 164506#factEXIT >#72#return; 164502#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; 164503#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 164567#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 164545#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 164539#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; 164536#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 164537#factENTRY ~n := #in~n; 164568#L25 assume !(~n <= 0); 164552#L26 call #t~ret0 := fact(~n - 1);< 164553#factENTRY ~n := #in~n; 164560#L25 assume ~n <= 0;#res := 1; 164559#factFINAL assume true; 164551#factEXIT >#66#return; 164548#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164547#factFINAL assume true; 164535#factEXIT >#74#return; 164530#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 164531#factENTRY ~n := #in~n; 164546#L25 assume ~n <= 0;#res := 1; 164534#factFINAL assume true; 164529#factEXIT >#76#return; 164471#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 164533#factENTRY ~n := #in~n; 164566#L25 assume !(~n <= 0); 164542#L26 call #t~ret0 := fact(~n - 1);< 164544#factENTRY ~n := #in~n; 164555#L25 assume ~n <= 0;#res := 1; 164549#factFINAL assume true; 164540#factEXIT >#66#return; 164538#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164532#factFINAL assume true; 164470#factEXIT >#78#return; 164472#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; 165303#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 165302#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 165301#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 164359#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; 164354#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 164357#factENTRY ~n := #in~n; 164394#L25 assume !(~n <= 0); 164367#L26 call #t~ret0 := fact(~n - 1);< 164392#factENTRY ~n := #in~n; 164389#L25 assume !(~n <= 0); 164377#L26 call #t~ret0 := fact(~n - 1);< 164386#factENTRY ~n := #in~n; 164390#L25 assume ~n <= 0;#res := 1; 164387#factFINAL assume true; 164385#factEXIT >#66#return; 164384#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164382#factFINAL assume true; 164376#factEXIT >#66#return; 164375#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164372#factFINAL assume true; 164369#factEXIT >#74#return; 164347#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 164358#factENTRY ~n := #in~n; 164396#L25 assume ~n <= 0;#res := 1; 164395#factFINAL assume true; 164401#factEXIT >#76#return; 164350#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 164373#factENTRY ~n := #in~n; 164397#L25 assume !(~n <= 0); 164378#L26 call #t~ret0 := fact(~n - 1);< 164381#factENTRY ~n := #in~n; 164389#L25 assume !(~n <= 0); 164377#L26 call #t~ret0 := fact(~n - 1);< 164386#factENTRY ~n := #in~n; 164390#L25 assume ~n <= 0;#res := 1; 164387#factFINAL assume true; 164385#factEXIT >#66#return; 164384#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164382#factFINAL assume true; 164376#factEXIT >#66#return; 164375#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164372#factFINAL assume true; 164369#factEXIT >#78#return; 164345#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; 164341#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 164335#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 164328#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 164321#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 164320#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 164319#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 164301#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; 164296#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 164297#factENTRY ~n := #in~n; 164309#L25 assume !(~n <= 0); 164305#L26 call #t~ret0 := fact(~n - 1);< 164306#factENTRY ~n := #in~n; 164308#L25 assume ~n <= 0;#res := 1; 164307#factFINAL assume true; 164304#factEXIT >#66#return; 164303#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164299#factFINAL assume true; 164295#factEXIT >#68#return; 164290#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 164291#factENTRY ~n := #in~n; 164300#L25 assume ~n <= 0;#res := 1; 164292#factFINAL assume true; 164289#factEXIT >#70#return; 164287#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 164288#factENTRY ~n := #in~n; 164327#L25 assume !(~n <= 0); 164325#L26 call #t~ret0 := fact(~n - 1);< 164326#factENTRY ~n := #in~n; 164336#L25 assume ~n <= 0;#res := 1; 164337#factFINAL assume true; 164324#factEXIT >#66#return; 164323#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164322#factFINAL assume true; 164286#factEXIT >#72#return; 164283#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; 164252#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 164248#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 164242#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 164204#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; 164199#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 164200#factENTRY ~n := #in~n; 164208#L25 assume !(~n <= 0); 164206#L26 call #t~ret0 := fact(~n - 1);< 164207#factENTRY ~n := #in~n; 164222#L25 assume ~n <= 0;#res := 1; 164215#factFINAL assume true; 164205#factEXIT >#66#return; 164202#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164201#factFINAL assume true; 164198#factEXIT >#68#return; 164194#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 164195#factENTRY ~n := #in~n; 164221#L25 assume !(~n <= 0); 164210#L26 call #t~ret0 := fact(~n - 1);< 164214#factENTRY ~n := #in~n; 164223#L25 assume ~n <= 0;#res := 1; 164216#factFINAL assume true; 164209#factEXIT >#66#return; 164203#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164196#factFINAL assume true; 164193#factEXIT >#70#return; 164186#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 164187#factENTRY ~n := #in~n; 164192#L25 assume ~n <= 0;#res := 1; 164190#factFINAL assume true; 164185#factEXIT >#72#return; 164182#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; 164180#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 164177#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 164172#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 164169#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; 164165#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 164167#factENTRY ~n := #in~n; 164179#L25 assume !(~n <= 0); 164174#L26 call #t~ret0 := fact(~n - 1);< 164176#factENTRY ~n := #in~n; 164189#L25 assume !(~n <= 0); 164175#L26 call #t~ret0 := fact(~n - 1);< 164184#factENTRY ~n := #in~n; 164197#L25 assume ~n <= 0;#res := 1; 164188#factFINAL assume true; 164183#factEXIT >#66#return; 164181#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164178#factFINAL assume true; 164173#factEXIT >#66#return; 164171#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164168#factFINAL assume true; 164164#factEXIT >#74#return; 164150#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 164251#factENTRY ~n := #in~n; 164315#L25 assume !(~n <= 0); 164278#L26 call #t~ret0 := fact(~n - 1);< 164281#factENTRY ~n := #in~n; 164191#L25 assume ~n <= 0;#res := 1; 164277#factFINAL assume true; 164279#factEXIT >#66#return; 164249#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164250#factFINAL assume true; 164149#factEXIT >#76#return; 164151#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 164251#factENTRY ~n := #in~n; 164315#L25 assume !(~n <= 0); 164278#L26 call #t~ret0 := fact(~n - 1);< 164281#factENTRY ~n := #in~n; 164191#L25 assume ~n <= 0;#res := 1; 164277#factFINAL assume true; 164279#factEXIT >#66#return; 164249#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164250#factFINAL assume true; 164149#factEXIT >#78#return; 164148#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; 164147#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 164146#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 164145#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 164104#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 164096#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 164098#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 164107#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; 164108#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 165125#factENTRY ~n := #in~n; 164135#L25 assume !(~n <= 0); 164130#L26 call #t~ret0 := fact(~n - 1);< 164134#factENTRY ~n := #in~n; 164139#L25 assume !(~n <= 0); 164132#L26 call #t~ret0 := fact(~n - 1);< 164138#factENTRY ~n := #in~n; 164140#L25 assume ~n <= 0;#res := 1; 164144#factFINAL assume true; 164142#factEXIT >#66#return; 164143#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165131#factFINAL assume true; 165129#factEXIT >#66#return; 165128#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165127#factFINAL assume true; 165124#factEXIT >#68#return; 165122#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 164117#factENTRY ~n := #in~n; 165126#L25 assume ~n <= 0;#res := 1; 165123#factFINAL assume true; 165119#factEXIT >#70#return; 165117#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 165118#factENTRY ~n := #in~n; 165209#L25 assume !(~n <= 0); 164065#L26 call #t~ret0 := fact(~n - 1);< 165207#factENTRY ~n := #in~n; 165215#L25 assume !(~n <= 0); 164064#L26 call #t~ret0 := fact(~n - 1);< 165212#factENTRY ~n := #in~n; 165216#L25 assume ~n <= 0;#res := 1; 165213#factFINAL assume true; 165211#factEXIT >#66#return; 165210#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165208#factFINAL assume true; 165205#factEXIT >#66#return; 165204#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165203#factFINAL assume true; 165116#factEXIT >#72#return; 165115#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; 165114#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 165112#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 165107#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 165106#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; 164929#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 164950#factENTRY ~n := #in~n; 164987#L25 assume !(~n <= 0); 164956#L26 call #t~ret0 := fact(~n - 1);< 164982#factENTRY ~n := #in~n; 164981#L25 assume !(~n <= 0); 164959#L26 call #t~ret0 := fact(~n - 1);< 164979#factENTRY ~n := #in~n; 164080#L25 assume ~n <= 0;#res := 1; 164977#factFINAL assume true; 164975#factEXIT >#66#return; 164974#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164972#factFINAL assume true; 164955#factEXIT >#66#return; 164954#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164951#factFINAL assume true; 164924#factEXIT >#68#return; 164909#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 164119#factENTRY ~n := #in~n; 165109#L25 assume !(~n <= 0); 164966#L26 call #t~ret0 := fact(~n - 1);< 165105#factENTRY ~n := #in~n; 165113#L25 assume ~n <= 0;#res := 1; 165108#factFINAL assume true; 165100#factEXIT >#66#return; 165103#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165099#factFINAL assume true; 165097#factEXIT >#70#return; 165093#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 165095#factENTRY ~n := #in~n; 165194#L25 assume !(~n <= 0); 164921#L26 call #t~ret0 := fact(~n - 1);< 165104#factENTRY ~n := #in~n; 165113#L25 assume ~n <= 0;#res := 1; 165108#factFINAL assume true; 165100#factEXIT >#66#return; 165098#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165096#factFINAL assume true; 165089#factEXIT >#72#return; 165088#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; 165086#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 165085#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 165081#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 165080#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; 164931#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 164950#factENTRY ~n := #in~n; 164987#L25 assume !(~n <= 0); 164956#L26 call #t~ret0 := fact(~n - 1);< 164982#factENTRY ~n := #in~n; 164981#L25 assume !(~n <= 0); 164959#L26 call #t~ret0 := fact(~n - 1);< 164979#factENTRY ~n := #in~n; 164080#L25 assume ~n <= 0;#res := 1; 164977#factFINAL assume true; 164975#factEXIT >#66#return; 164974#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164972#factFINAL assume true; 164955#factEXIT >#66#return; 164954#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164951#factFINAL assume true; 164924#factEXIT >#68#return; 164908#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 164119#factENTRY ~n := #in~n; 165109#L25 assume !(~n <= 0); 164966#L26 call #t~ret0 := fact(~n - 1);< 165105#factENTRY ~n := #in~n; 164980#L25 assume !(~n <= 0); 164960#L26 call #t~ret0 := fact(~n - 1);< 164976#factENTRY ~n := #in~n; 164080#L25 assume ~n <= 0;#res := 1; 164977#factFINAL assume true; 164975#factEXIT >#66#return; 164974#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164972#factFINAL assume true; 164955#factEXIT >#66#return; 164969#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165226#factFINAL assume true; 164896#factEXIT >#70#return; 164881#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 164894#factENTRY ~n := #in~n; 164920#L25 assume ~n <= 0;#res := 1; 164895#factFINAL assume true; 164876#factEXIT >#72#return; 164875#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; 164874#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 164873#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 164872#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 164663#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; 164605#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 164660#factENTRY ~n := #in~n; 164725#L25 assume !(~n <= 0); 164614#L26 call #t~ret0 := fact(~n - 1);< 164620#factENTRY ~n := #in~n; 164623#L25 assume !(~n <= 0); 164616#L26 call #t~ret0 := fact(~n - 1);< 164644#factENTRY ~n := #in~n; 164623#L25 assume !(~n <= 0); 164616#L26 call #t~ret0 := fact(~n - 1);< 164644#factENTRY ~n := #in~n; 164666#L25 assume ~n <= 0;#res := 1; 164645#factFINAL assume true; 164646#factEXIT >#66#return; 164638#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164639#factFINAL assume true; 164624#factEXIT >#66#return; 164625#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164923#factFINAL assume true; 164922#factEXIT >#66#return; 164610#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164611#factFINAL assume true; 164604#factEXIT >#74#return; 164073#L30-6 [2022-07-22 01:30:17,509 INFO L754 eck$LassoCheckResult]: Loop: 164073#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 164120#factENTRY ~n := #in~n; 164695#L25 assume !(~n <= 0); 164617#L26 call #t~ret0 := fact(~n - 1);< 164620#factENTRY ~n := #in~n; 164623#L25 assume !(~n <= 0); 164616#L26 call #t~ret0 := fact(~n - 1);< 164644#factENTRY ~n := #in~n; 164666#L25 assume ~n <= 0;#res := 1; 164645#factFINAL assume true; 164646#factEXIT >#66#return; 164638#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164639#factFINAL assume true; 164624#factEXIT >#66#return; 164111#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164072#factFINAL assume true; 164074#factEXIT >#76#return; 164059#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 164076#factENTRY ~n := #in~n; 164077#L25 assume !(~n <= 0); 164086#L26 call #t~ret0 := fact(~n - 1);< 164087#factENTRY ~n := #in~n; 165273#L25 assume ~n <= 0;#res := 1; 165271#factFINAL assume true; 165266#factEXIT >#66#return; 165267#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165281#factFINAL assume true; 164058#factEXIT >#78#return; 164060#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; 164083#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 164092#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 164112#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 164102#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 164103#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 164343#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 164344#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; 164068#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 164069#factENTRY ~n := #in~n; 164136#L25 assume !(~n <= 0); 164131#L26 call #t~ret0 := fact(~n - 1);< 164134#factENTRY ~n := #in~n; 164139#L25 assume !(~n <= 0); 164132#L26 call #t~ret0 := fact(~n - 1);< 164138#factENTRY ~n := #in~n; 164139#L25 assume !(~n <= 0); 164132#L26 call #t~ret0 := fact(~n - 1);< 164138#factENTRY ~n := #in~n; 164139#L25 assume !(~n <= 0); 164132#L26 call #t~ret0 := fact(~n - 1);< 164138#factENTRY ~n := #in~n; 164140#L25 assume ~n <= 0;#res := 1; 164144#factFINAL assume true; 164142#factEXIT >#66#return; 164143#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165131#factFINAL assume true; 165129#factEXIT >#66#return; 165130#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164137#factFINAL assume true; 164129#factEXIT >#66#return; 164133#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164141#factFINAL assume true; 165249#factEXIT >#66#return; 165248#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165247#factFINAL assume true; 165246#factEXIT >#68#return; 165121#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 164117#factENTRY ~n := #in~n; 165126#L25 assume ~n <= 0;#res := 1; 165123#factFINAL assume true; 165119#factEXIT >#70#return; 164088#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 164057#factENTRY ~n := #in~n; 164115#L25 assume !(~n <= 0); 164063#L26 call #t~ret0 := fact(~n - 1);< 164091#factENTRY ~n := #in~n; 165214#L25 assume !(~n <= 0); 164062#L26 call #t~ret0 := fact(~n - 1);< 165207#factENTRY ~n := #in~n; 165215#L25 assume !(~n <= 0); 164064#L26 call #t~ret0 := fact(~n - 1);< 165212#factENTRY ~n := #in~n; 165216#L25 assume ~n <= 0;#res := 1; 165213#factFINAL assume true; 165211#factEXIT >#66#return; 165210#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165208#factFINAL assume true; 165205#factEXIT >#66#return; 165206#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165245#factFINAL assume true; 165244#factEXIT >#66#return; 165243#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165241#factFINAL assume true; 165201#factEXIT >#72#return; 165200#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; 165199#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 165198#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 165197#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 165196#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; 164986#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 164989#factENTRY ~n := #in~n; 164988#L25 assume !(~n <= 0); 164958#L26 call #t~ret0 := fact(~n - 1);< 164982#factENTRY ~n := #in~n; 164981#L25 assume !(~n <= 0); 164959#L26 call #t~ret0 := fact(~n - 1);< 164979#factENTRY ~n := #in~n; 164978#L25 assume !(~n <= 0); 164079#L26 call #t~ret0 := fact(~n - 1);< 164078#factENTRY ~n := #in~n; 164080#L25 assume ~n <= 0;#res := 1; 164977#factFINAL assume true; 164975#factEXIT >#66#return; 164974#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164972#factFINAL assume true; 164955#factEXIT >#66#return; 164968#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165143#factFINAL assume true; 165140#factEXIT >#66#return; 165141#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165156#factFINAL assume true; 165155#factEXIT >#68#return; 164918#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 164119#factENTRY ~n := #in~n; 165109#L25 assume ~n <= 0;#res := 1; 165110#factFINAL assume true; 165166#factEXIT >#70#return; 165072#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 165083#factENTRY ~n := #in~n; 165225#L25 assume !(~n <= 0); 164973#L26 call #t~ret0 := fact(~n - 1);< 165222#factENTRY ~n := #in~n; 165223#L25 assume !(~n <= 0); 164961#L26 call #t~ret0 := fact(~n - 1);< 164971#factENTRY ~n := #in~n; 164980#L25 assume !(~n <= 0); 164960#L26 call #t~ret0 := fact(~n - 1);< 164976#factENTRY ~n := #in~n; 164080#L25 assume ~n <= 0;#res := 1; 164977#factFINAL assume true; 164975#factEXIT >#66#return; 164974#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164972#factFINAL assume true; 164955#factEXIT >#66#return; 164968#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165143#factFINAL assume true; 165140#factEXIT >#66#return; 165141#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165156#factFINAL assume true; 165155#factEXIT >#72#return; 165078#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; 165192#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 165190#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 165188#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 165186#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; 164984#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 164989#factENTRY ~n := #in~n; 164988#L25 assume !(~n <= 0); 164958#L26 call #t~ret0 := fact(~n - 1);< 164982#factENTRY ~n := #in~n; 164981#L25 assume !(~n <= 0); 164959#L26 call #t~ret0 := fact(~n - 1);< 164979#factENTRY ~n := #in~n; 164978#L25 assume !(~n <= 0); 164079#L26 call #t~ret0 := fact(~n - 1);< 164078#factENTRY ~n := #in~n; 164080#L25 assume ~n <= 0;#res := 1; 164977#factFINAL assume true; 164975#factEXIT >#66#return; 164974#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164972#factFINAL assume true; 164955#factEXIT >#66#return; 164968#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165143#factFINAL assume true; 165140#factEXIT >#66#return; 165141#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165156#factFINAL assume true; 165155#factEXIT >#68#return; 164912#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 164119#factENTRY ~n := #in~n; 165109#L25 assume !(~n <= 0); 164966#L26 call #t~ret0 := fact(~n - 1);< 165105#factENTRY ~n := #in~n; 165113#L25 assume ~n <= 0;#res := 1; 165108#factFINAL assume true; 165100#factEXIT >#66#return; 165103#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165099#factFINAL assume true; 165097#factEXIT >#70#return; 164928#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 164952#factENTRY ~n := #in~n; 165220#L25 assume !(~n <= 0); 164965#L26 call #t~ret0 := fact(~n - 1);< 164971#factENTRY ~n := #in~n; 164980#L25 assume !(~n <= 0); 164960#L26 call #t~ret0 := fact(~n - 1);< 164976#factENTRY ~n := #in~n; 164980#L25 assume !(~n <= 0); 164960#L26 call #t~ret0 := fact(~n - 1);< 164976#factENTRY ~n := #in~n; 164080#L25 assume ~n <= 0;#res := 1; 164977#factFINAL assume true; 164975#factEXIT >#66#return; 164974#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164972#factFINAL assume true; 164955#factEXIT >#66#return; 164968#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165143#factFINAL assume true; 165140#factEXIT >#66#return; 165141#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165156#factFINAL assume true; 165155#factEXIT >#72#return; 164890#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; 165184#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 165183#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 165181#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 165175#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; 164983#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 164989#factENTRY ~n := #in~n; 164988#L25 assume !(~n <= 0); 164958#L26 call #t~ret0 := fact(~n - 1);< 164982#factENTRY ~n := #in~n; 164981#L25 assume !(~n <= 0); 164959#L26 call #t~ret0 := fact(~n - 1);< 164979#factENTRY ~n := #in~n; 164978#L25 assume !(~n <= 0); 164079#L26 call #t~ret0 := fact(~n - 1);< 164078#factENTRY ~n := #in~n; 164080#L25 assume ~n <= 0;#res := 1; 164977#factFINAL assume true; 164975#factEXIT >#66#return; 164974#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164972#factFINAL assume true; 164955#factEXIT >#66#return; 164968#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165143#factFINAL assume true; 165140#factEXIT >#66#return; 165141#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165156#factFINAL assume true; 165155#factEXIT >#68#return; 164914#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 164119#factENTRY ~n := #in~n; 165109#L25 assume !(~n <= 0); 164966#L26 call #t~ret0 := fact(~n - 1);< 165105#factENTRY ~n := #in~n; 164980#L25 assume !(~n <= 0); 164960#L26 call #t~ret0 := fact(~n - 1);< 164976#factENTRY ~n := #in~n; 164980#L25 assume !(~n <= 0); 164960#L26 call #t~ret0 := fact(~n - 1);< 164976#factENTRY ~n := #in~n; 164080#L25 assume ~n <= 0;#res := 1; 164977#factFINAL assume true; 164975#factEXIT >#66#return; 164974#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164972#factFINAL assume true; 164955#factEXIT >#66#return; 164968#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165143#factFINAL assume true; 165140#factEXIT >#66#return; 165056#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 165148#factFINAL assume true; 165069#factEXIT >#70#return; 164884#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 164894#factENTRY ~n := #in~n; 164920#L25 assume ~n <= 0;#res := 1; 164895#factFINAL assume true; 164876#factEXIT >#72#return; 164892#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; 165178#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 165177#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 165176#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 165136#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; 164052#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 164053#factENTRY ~n := #in~n; 164659#L25 assume !(~n <= 0); 164613#L26 call #t~ret0 := fact(~n - 1);< 164640#factENTRY ~n := #in~n; 164641#L25 assume !(~n <= 0); 164615#L26 call #t~ret0 := fact(~n - 1);< 164622#factENTRY ~n := #in~n; 164623#L25 assume !(~n <= 0); 164616#L26 call #t~ret0 := fact(~n - 1);< 164644#factENTRY ~n := #in~n; 164623#L25 assume !(~n <= 0); 164616#L26 call #t~ret0 := fact(~n - 1);< 164644#factENTRY ~n := #in~n; 164666#L25 assume ~n <= 0;#res := 1; 164645#factFINAL assume true; 164646#factEXIT >#66#return; 164638#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164639#factFINAL assume true; 164624#factEXIT >#66#return; 164625#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164923#factFINAL assume true; 164922#factEXIT >#66#return; 164619#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164621#factFINAL assume true; 164612#factEXIT >#66#return; 164618#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 164606#factFINAL assume true; 164607#factEXIT >#74#return; 164073#L30-6 [2022-07-22 01:30:17,510 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:17,510 INFO L85 PathProgramCache]: Analyzing trace with hash 785036393, now seen corresponding path program 20 times [2022-07-22 01:30:17,510 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:17,510 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1777736811] [2022-07-22 01:30:17,510 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:17,510 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:17,519 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:17,519 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [884754772] [2022-07-22 01:30:17,519 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 01:30:17,520 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:17,520 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:17,525 INFO L229 MonitoredProcess]: Starting monitored process 161 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:17,526 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (161)] Waiting until timeout for monitored process [2022-07-22 01:30:17,723 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 01:30:17,723 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:17,726 INFO L263 TraceCheckSpWp]: Trace formula consists of 856 conjuncts, 10 conjunts are in the unsatisfiable core [2022-07-22 01:30:17,730 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:17,957 INFO L134 CoverageAnalysis]: Checked inductivity of 7440 backedges. 1076 proven. 128 refuted. 0 times theorem prover too weak. 6236 trivial. 0 not checked. [2022-07-22 01:30:17,957 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:18,464 INFO L134 CoverageAnalysis]: Checked inductivity of 7440 backedges. 71 proven. 128 refuted. 0 times theorem prover too weak. 7241 trivial. 0 not checked. [2022-07-22 01:30:18,464 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:18,465 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1777736811] [2022-07-22 01:30:18,465 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:18,465 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [884754772] [2022-07-22 01:30:18,465 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [884754772] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:18,465 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:18,465 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 18 [2022-07-22 01:30:18,465 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [296056075] [2022-07-22 01:30:18,465 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:18,465 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:30:18,466 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:18,466 INFO L85 PathProgramCache]: Analyzing trace with hash -1602127003, now seen corresponding path program 18 times [2022-07-22 01:30:18,466 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:18,466 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1323849532] [2022-07-22 01:30:18,466 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:18,466 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:18,471 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:18,472 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2000583440] [2022-07-22 01:30:18,472 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-22 01:30:18,472 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:18,472 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:18,474 INFO L229 MonitoredProcess]: Starting monitored process 162 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:18,474 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (162)] Waiting until timeout for monitored process [2022-07-22 01:30:18,596 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 24 check-sat command(s) [2022-07-22 01:30:18,597 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:18,598 INFO L263 TraceCheckSpWp]: Trace formula consists of 453 conjuncts, 25 conjunts are in the unsatisfiable core [2022-07-22 01:30:18,600 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:18,823 INFO L134 CoverageAnalysis]: Checked inductivity of 5633 backedges. 911 proven. 700 refuted. 0 times theorem prover too weak. 4022 trivial. 0 not checked. [2022-07-22 01:30:18,823 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:20,153 INFO L134 CoverageAnalysis]: Checked inductivity of 5633 backedges. 914 proven. 722 refuted. 0 times theorem prover too weak. 3997 trivial. 0 not checked. [2022-07-22 01:30:20,153 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:20,153 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1323849532] [2022-07-22 01:30:20,153 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:20,153 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2000583440] [2022-07-22 01:30:20,153 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2000583440] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:20,153 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:20,153 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 22] total 25 [2022-07-22 01:30:20,153 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1106415586] [2022-07-22 01:30:20,154 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:20,154 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:30:20,154 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:30:20,154 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-07-22 01:30:20,154 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=101, Invalid=549, Unknown=0, NotChecked=0, Total=650 [2022-07-22 01:30:20,155 INFO L87 Difference]: Start difference. First operand 1252 states and 1879 transitions. cyclomatic complexity: 650 Second operand has 26 states, 22 states have (on average 2.772727272727273) internal successors, (61), 25 states have internal predecessors, (61), 15 states have call successors, (19), 1 states have call predecessors, (19), 10 states have return successors, (24), 11 states have call predecessors, (24), 15 states have call successors, (24) [2022-07-22 01:30:21,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:30:21,224 INFO L93 Difference]: Finished difference Result 1658 states and 2826 transitions. [2022-07-22 01:30:21,224 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-07-22 01:30:21,225 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1658 states and 2826 transitions. [2022-07-22 01:30:21,232 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 250 [2022-07-22 01:30:21,240 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1658 states to 1654 states and 2810 transitions. [2022-07-22 01:30:21,240 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 247 [2022-07-22 01:30:21,240 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 247 [2022-07-22 01:30:21,240 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1654 states and 2810 transitions. [2022-07-22 01:30:21,240 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:30:21,241 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1654 states and 2810 transitions. [2022-07-22 01:30:21,241 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1654 states and 2810 transitions. [2022-07-22 01:30:21,290 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1654 to 1468. [2022-07-22 01:30:21,291 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1468 states, 913 states have (on average 1.0963855421686748) internal successors, (1001), 918 states have internal predecessors, (1001), 406 states have call successors, (406), 159 states have call predecessors, (406), 149 states have return successors, (971), 390 states have call predecessors, (971), 406 states have call successors, (971) [2022-07-22 01:30:21,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1468 states to 1468 states and 2378 transitions. [2022-07-22 01:30:21,297 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1468 states and 2378 transitions. [2022-07-22 01:30:21,297 INFO L374 stractBuchiCegarLoop]: Abstraction has 1468 states and 2378 transitions. [2022-07-22 01:30:21,297 INFO L287 stractBuchiCegarLoop]: ======== Iteration 34 ============ [2022-07-22 01:30:21,297 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1468 states and 2378 transitions. [2022-07-22 01:30:21,302 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 250 [2022-07-22 01:30:21,302 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:30:21,302 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:30:21,304 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [57, 57, 29, 29, 29, 29, 28, 10, 9, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1] [2022-07-22 01:30:21,305 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [47, 47, 32, 32, 32, 32, 15, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:30:21,305 INFO L752 eck$LassoCheckResult]: Stem: 171129#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 171101#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; 171102#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 171128#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; 171115#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 171116#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 172263#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; 171081#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 171082#factENTRY ~n := #in~n; 172280#L25 assume ~n <= 0;#res := 1; 172279#factFINAL assume true; 172277#factEXIT >#68#return; 172274#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 172275#factENTRY ~n := #in~n; 172278#L25 assume ~n <= 0;#res := 1; 172276#factFINAL assume true; 172273#factEXIT >#70#return; 171077#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 171078#factENTRY ~n := #in~n; 172412#L25 assume ~n <= 0;#res := 1; 172411#factFINAL assume true; 172410#factEXIT >#72#return; 171122#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; 171123#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 172389#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 172384#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 171131#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; 171064#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 171065#factENTRY ~n := #in~n; 172435#L25 assume !(~n <= 0); 172433#L26 call #t~ret0 := fact(~n - 1);< 172439#factENTRY ~n := #in~n; 172436#L25 assume ~n <= 0;#res := 1; 172432#factFINAL assume true; 172434#factEXIT >#66#return; 172425#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 172426#factFINAL assume true; 172421#factEXIT >#74#return; 171147#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 171148#factENTRY ~n := #in~n; 172461#L25 assume ~n <= 0;#res := 1; 172459#factFINAL assume true; 172455#factEXIT >#76#return; 171229#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 172458#factENTRY ~n := #in~n; 172469#L25 assume !(~n <= 0); 172464#L26 call #t~ret0 := fact(~n - 1);< 172466#factENTRY ~n := #in~n; 172470#L25 assume ~n <= 0;#res := 1; 172467#factFINAL assume true; 172462#factEXIT >#66#return; 172460#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 172457#factFINAL assume true; 171228#factEXIT >#78#return; 171230#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; 172513#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 172511#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 172509#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 172506#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; 171178#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 171181#factENTRY ~n := #in~n; 171216#L25 assume !(~n <= 0); 171189#L26 call #t~ret0 := fact(~n - 1);< 171214#factENTRY ~n := #in~n; 171211#L25 assume !(~n <= 0); 171199#L26 call #t~ret0 := fact(~n - 1);< 171208#factENTRY ~n := #in~n; 171212#L25 assume ~n <= 0;#res := 1; 171209#factFINAL assume true; 171207#factEXIT >#66#return; 171206#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171204#factFINAL assume true; 171198#factEXIT >#66#return; 171197#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171194#factFINAL assume true; 171191#factEXIT >#74#return; 171172#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 171182#factENTRY ~n := #in~n; 171218#L25 assume ~n <= 0;#res := 1; 171217#factFINAL assume true; 171219#factEXIT >#76#return; 171174#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 171195#factENTRY ~n := #in~n; 171220#L25 assume !(~n <= 0); 171200#L26 call #t~ret0 := fact(~n - 1);< 171203#factENTRY ~n := #in~n; 171211#L25 assume !(~n <= 0); 171199#L26 call #t~ret0 := fact(~n - 1);< 171208#factENTRY ~n := #in~n; 171212#L25 assume ~n <= 0;#res := 1; 171209#factFINAL assume true; 171207#factEXIT >#66#return; 171206#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171204#factFINAL assume true; 171198#factEXIT >#66#return; 171197#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171194#factFINAL assume true; 171191#factEXIT >#78#return; 171173#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; 171239#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 171238#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 171237#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 171236#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 171235#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 171133#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 171134#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; 171367#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 171368#factENTRY ~n := #in~n; 171388#L25 assume !(~n <= 0); 171382#L26 call #t~ret0 := fact(~n - 1);< 171383#factENTRY ~n := #in~n; 171387#L25 assume ~n <= 0;#res := 1; 171386#factFINAL assume true; 171381#factEXIT >#66#return; 171378#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171376#factFINAL assume true; 171366#factEXIT >#68#return; 171364#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 171365#factENTRY ~n := #in~n; 171375#L25 assume ~n <= 0;#res := 1; 171371#factFINAL assume true; 171363#factEXIT >#70#return; 171351#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 171352#factENTRY ~n := #in~n; 171463#L25 assume !(~n <= 0); 171461#L26 call #t~ret0 := fact(~n - 1);< 171462#factENTRY ~n := #in~n; 171508#L25 assume ~n <= 0;#res := 1; 171509#factFINAL assume true; 171460#factEXIT >#66#return; 171458#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171411#factFINAL assume true; 171350#factEXIT >#72#return; 171349#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; 171348#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 171346#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 171338#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 171330#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; 171326#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 171327#factENTRY ~n := #in~n; 171347#L25 assume !(~n <= 0); 171344#L26 call #t~ret0 := fact(~n - 1);< 171345#factENTRY ~n := #in~n; 171359#L25 assume ~n <= 0;#res := 1; 171356#factFINAL assume true; 171343#factEXIT >#66#return; 171337#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171329#factFINAL assume true; 171325#factEXIT >#68#return; 171321#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 171322#factENTRY ~n := #in~n; 171342#L25 assume !(~n <= 0); 171332#L26 call #t~ret0 := fact(~n - 1);< 171336#factENTRY ~n := #in~n; 171353#L25 assume ~n <= 0;#res := 1; 171339#factFINAL assume true; 171331#factEXIT >#66#return; 171328#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171324#factFINAL assume true; 171320#factEXIT >#70#return; 171314#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 171315#factENTRY ~n := #in~n; 171323#L25 assume ~n <= 0;#res := 1; 171319#factFINAL assume true; 171313#factEXIT >#72#return; 171310#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; 171308#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 171306#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 171303#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 171300#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; 171294#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 171298#factENTRY ~n := #in~n; 171296#L25 assume !(~n <= 0); 171265#L26 call #t~ret0 := fact(~n - 1);< 171295#factENTRY ~n := #in~n; 171318#L25 assume !(~n <= 0); 171305#L26 call #t~ret0 := fact(~n - 1);< 171312#factENTRY ~n := #in~n; 171317#L25 assume ~n <= 0;#res := 1; 171316#factFINAL assume true; 171311#factEXIT >#66#return; 171309#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171307#factFINAL assume true; 171304#factEXIT >#66#return; 171302#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171299#factFINAL assume true; 171297#factEXIT >#74#return; 171244#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 171245#factENTRY ~n := #in~n; 171274#L25 assume !(~n <= 0); 171266#L26 call #t~ret0 := fact(~n - 1);< 171267#factENTRY ~n := #in~n; 171273#L25 assume ~n <= 0;#res := 1; 171272#factFINAL assume true; 171264#factEXIT >#66#return; 171259#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171254#factFINAL assume true; 171252#factEXIT >#76#return; 171253#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 171245#factENTRY ~n := #in~n; 171274#L25 assume !(~n <= 0); 171266#L26 call #t~ret0 := fact(~n - 1);< 171267#factENTRY ~n := #in~n; 171273#L25 assume ~n <= 0;#res := 1; 171272#factFINAL assume true; 171264#factEXIT >#66#return; 171259#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171254#factFINAL assume true; 171252#factEXIT >#78#return; 171157#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; 171156#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 171155#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 171154#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 171127#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 171117#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 171118#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 171818#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; 171466#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 171815#factENTRY ~n := #in~n; 171478#L25 assume !(~n <= 0); 171475#L26 call #t~ret0 := fact(~n - 1);< 171477#factENTRY ~n := #in~n; 171482#L25 assume !(~n <= 0); 171474#L26 call #t~ret0 := fact(~n - 1);< 171481#factENTRY ~n := #in~n; 171483#L25 assume ~n <= 0;#res := 1; 171486#factFINAL assume true; 171484#factEXIT >#66#return; 171485#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171822#factFINAL assume true; 171820#factEXIT >#66#return; 171819#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171817#factFINAL assume true; 171814#factEXIT >#68#return; 171805#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 171142#factENTRY ~n := #in~n; 171816#L25 assume ~n <= 0;#res := 1; 171813#factFINAL assume true; 171804#factEXIT >#70#return; 171800#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 171802#factENTRY ~n := #in~n; 171945#L25 assume !(~n <= 0); 171889#L26 call #t~ret0 := fact(~n - 1);< 171939#factENTRY ~n := #in~n; 171950#L25 assume !(~n <= 0); 171892#L26 call #t~ret0 := fact(~n - 1);< 171948#factENTRY ~n := #in~n; 171954#L25 assume ~n <= 0;#res := 1; 171953#factFINAL assume true; 171947#factEXIT >#66#return; 171946#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171944#factFINAL assume true; 171942#factEXIT >#66#return; 171943#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171959#factFINAL assume true; 171799#factEXIT >#72#return; 171801#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; 171789#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 171790#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 171774#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 171775#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; 171645#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 171670#factENTRY ~n := #in~n; 171727#L25 assume !(~n <= 0); 171682#L26 call #t~ret0 := fact(~n - 1);< 171718#factENTRY ~n := #in~n; 171717#L25 assume !(~n <= 0); 171681#L26 call #t~ret0 := fact(~n - 1);< 171715#factENTRY ~n := #in~n; 171714#L25 assume ~n <= 0;#res := 1; 171712#factFINAL assume true; 171705#factEXIT >#66#return; 171704#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171696#factFINAL assume true; 171679#factEXIT >#66#return; 171678#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171675#factFINAL assume true; 171631#factEXIT >#68#return; 171625#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 171628#factENTRY ~n := #in~n; 171767#L25 assume !(~n <= 0); 171691#L26 call #t~ret0 := fact(~n - 1);< 171754#factENTRY ~n := #in~n; 171764#L25 assume ~n <= 0;#res := 1; 171755#factFINAL assume true; 171749#factEXIT >#66#return; 171752#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171770#factFINAL assume true; 171769#factEXIT >#70#return; 171740#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 171746#factENTRY ~n := #in~n; 171763#L25 assume !(~n <= 0); 171630#L26 call #t~ret0 := fact(~n - 1);< 171753#factENTRY ~n := #in~n; 171764#L25 assume ~n <= 0;#res := 1; 171755#factFINAL assume true; 171749#factEXIT >#66#return; 171748#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171747#factFINAL assume true; 171738#factEXIT >#72#return; 171736#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; 171737#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 171732#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 171733#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 171673#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; 171644#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 171670#factENTRY ~n := #in~n; 171727#L25 assume !(~n <= 0); 171682#L26 call #t~ret0 := fact(~n - 1);< 171718#factENTRY ~n := #in~n; 171717#L25 assume !(~n <= 0); 171681#L26 call #t~ret0 := fact(~n - 1);< 171715#factENTRY ~n := #in~n; 171714#L25 assume ~n <= 0;#res := 1; 171712#factFINAL assume true; 171705#factEXIT >#66#return; 171704#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171696#factFINAL assume true; 171679#factEXIT >#66#return; 171678#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171675#factFINAL assume true; 171631#factEXIT >#68#return; 171626#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 171628#factENTRY ~n := #in~n; 171767#L25 assume !(~n <= 0); 171691#L26 call #t~ret0 := fact(~n - 1);< 171754#factENTRY ~n := #in~n; 171716#L25 assume !(~n <= 0); 171680#L26 call #t~ret0 := fact(~n - 1);< 171707#factENTRY ~n := #in~n; 171714#L25 assume ~n <= 0;#res := 1; 171712#factFINAL assume true; 171705#factEXIT >#66#return; 171704#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171696#factFINAL assume true; 171679#factEXIT >#66#return; 171694#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171853#factFINAL assume true; 171591#factEXIT >#70#return; 171564#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 171589#factENTRY ~n := #in~n; 171629#L25 assume ~n <= 0;#res := 1; 171590#factFINAL assume true; 171563#factEXIT >#72#return; 171562#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; 171561#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 171560#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 171559#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 171556#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; 171518#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 171555#factENTRY ~n := #in~n; 171554#L25 assume !(~n <= 0); 171525#L26 call #t~ret0 := fact(~n - 1);< 171546#factENTRY ~n := #in~n; 171547#L25 assume !(~n <= 0); 171526#L26 call #t~ret0 := fact(~n - 1);< 171544#factENTRY ~n := #in~n; 171547#L25 assume !(~n <= 0); 171526#L26 call #t~ret0 := fact(~n - 1);< 171544#factENTRY ~n := #in~n; 171552#L25 assume ~n <= 0;#res := 1; 171551#factFINAL assume true; 171550#factEXIT >#66#return; 171548#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171545#factFINAL assume true; 171541#factEXIT >#66#return; 171543#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171827#factFINAL assume true; 171522#factEXIT >#66#return; 171527#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171517#factFINAL assume true; 171519#factEXIT >#74#return; 171145#L30-6 [2022-07-22 01:30:21,306 INFO L754 eck$LassoCheckResult]: Loop: 171145#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 171146#factENTRY ~n := #in~n; 171549#L25 assume !(~n <= 0); 171523#L26 call #t~ret0 := fact(~n - 1);< 171546#factENTRY ~n := #in~n; 171547#L25 assume !(~n <= 0); 171526#L26 call #t~ret0 := fact(~n - 1);< 171544#factENTRY ~n := #in~n; 171552#L25 assume ~n <= 0;#res := 1; 171551#factFINAL assume true; 171550#factEXIT >#66#return; 171548#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171545#factFINAL assume true; 171541#factEXIT >#66#return; 171542#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 172038#factFINAL assume true; 172034#factEXIT >#76#return; 171167#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 172040#factENTRY ~n := #in~n; 172064#L25 assume !(~n <= 0); 172061#L26 call #t~ret0 := fact(~n - 1);< 172062#factENTRY ~n := #in~n; 172069#L25 assume ~n <= 0;#res := 1; 172067#factFINAL assume true; 172060#factEXIT >#66#return; 172048#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 172039#factFINAL assume true; 171165#factEXIT >#78#return; 171103#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; 171104#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 171113#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 171149#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 171125#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 171126#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 171233#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 171234#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; 171465#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 171080#factENTRY ~n := #in~n; 171479#L25 assume !(~n <= 0); 171473#L26 call #t~ret0 := fact(~n - 1);< 171477#factENTRY ~n := #in~n; 171482#L25 assume !(~n <= 0); 171474#L26 call #t~ret0 := fact(~n - 1);< 171481#factENTRY ~n := #in~n; 171482#L25 assume !(~n <= 0); 171474#L26 call #t~ret0 := fact(~n - 1);< 171481#factENTRY ~n := #in~n; 171483#L25 assume ~n <= 0;#res := 1; 171486#factFINAL assume true; 171484#factEXIT >#66#return; 171485#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171822#factFINAL assume true; 171820#factEXIT >#66#return; 171821#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171879#factFINAL assume true; 171878#factEXIT >#66#return; 171877#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171876#factFINAL assume true; 171464#factEXIT >#68#return; 171467#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 171142#factENTRY ~n := #in~n; 171816#L25 assume ~n <= 0;#res := 1; 171813#factFINAL assume true; 171804#factEXIT >#70#return; 171808#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 171874#factENTRY ~n := #in~n; 171896#L25 assume !(~n <= 0); 171890#L26 call #t~ret0 := fact(~n - 1);< 171894#factENTRY ~n := #in~n; 171952#L25 assume !(~n <= 0); 171891#L26 call #t~ret0 := fact(~n - 1);< 171939#factENTRY ~n := #in~n; 171950#L25 assume !(~n <= 0); 171892#L26 call #t~ret0 := fact(~n - 1);< 171948#factENTRY ~n := #in~n; 171954#L25 assume ~n <= 0;#res := 1; 171953#factFINAL assume true; 171947#factEXIT >#66#return; 171946#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171944#factFINAL assume true; 171942#factEXIT >#66#return; 171941#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171938#factFINAL assume true; 171936#factEXIT >#66#return; 171934#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171932#factFINAL assume true; 171922#factEXIT >#72#return; 171870#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; 171919#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 171917#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 171915#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 171914#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; 171721#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 171728#factENTRY ~n := #in~n; 171726#L25 assume !(~n <= 0); 171686#L26 call #t~ret0 := fact(~n - 1);< 171718#factENTRY ~n := #in~n; 171717#L25 assume !(~n <= 0); 171681#L26 call #t~ret0 := fact(~n - 1);< 171715#factENTRY ~n := #in~n; 171713#L25 assume !(~n <= 0); 171706#L26 call #t~ret0 := fact(~n - 1);< 171708#factENTRY ~n := #in~n; 171714#L25 assume ~n <= 0;#res := 1; 171712#factFINAL assume true; 171705#factEXIT >#66#return; 171704#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171696#factFINAL assume true; 171679#factEXIT >#66#return; 171692#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171843#factFINAL assume true; 171839#factEXIT >#66#return; 171841#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171875#factFINAL assume true; 171792#factEXIT >#68#return; 171597#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 171628#factENTRY ~n := #in~n; 171767#L25 assume !(~n <= 0); 171691#L26 call #t~ret0 := fact(~n - 1);< 171754#factENTRY ~n := #in~n; 171764#L25 assume ~n <= 0;#res := 1; 171755#factFINAL assume true; 171749#factEXIT >#66#return; 171752#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171770#factFINAL assume true; 171769#factEXIT >#70#return; 171642#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 171676#factENTRY ~n := #in~n; 171731#L25 assume !(~n <= 0); 171684#L26 call #t~ret0 := fact(~n - 1);< 171695#factENTRY ~n := #in~n; 171716#L25 assume !(~n <= 0); 171680#L26 call #t~ret0 := fact(~n - 1);< 171707#factENTRY ~n := #in~n; 171716#L25 assume !(~n <= 0); 171680#L26 call #t~ret0 := fact(~n - 1);< 171707#factENTRY ~n := #in~n; 171714#L25 assume ~n <= 0;#res := 1; 171712#factFINAL assume true; 171705#factEXIT >#66#return; 171704#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171696#factFINAL assume true; 171679#factEXIT >#66#return; 171692#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171843#factFINAL assume true; 171839#factEXIT >#66#return; 171841#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171875#factFINAL assume true; 171792#factEXIT >#72#return; 171665#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; 171940#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 171937#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 171935#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 171933#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; 171725#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 171728#factENTRY ~n := #in~n; 171726#L25 assume !(~n <= 0); 171686#L26 call #t~ret0 := fact(~n - 1);< 171718#factENTRY ~n := #in~n; 171717#L25 assume !(~n <= 0); 171681#L26 call #t~ret0 := fact(~n - 1);< 171715#factENTRY ~n := #in~n; 171713#L25 assume !(~n <= 0); 171706#L26 call #t~ret0 := fact(~n - 1);< 171708#factENTRY ~n := #in~n; 171714#L25 assume ~n <= 0;#res := 1; 171712#factFINAL assume true; 171705#factEXIT >#66#return; 171704#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171696#factFINAL assume true; 171679#factEXIT >#66#return; 171692#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171843#factFINAL assume true; 171839#factEXIT >#66#return; 171841#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171875#factFINAL assume true; 171792#factEXIT >#68#return; 171623#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 171628#factENTRY ~n := #in~n; 171767#L25 assume !(~n <= 0); 171691#L26 call #t~ret0 := fact(~n - 1);< 171754#factENTRY ~n := #in~n; 171716#L25 assume !(~n <= 0); 171680#L26 call #t~ret0 := fact(~n - 1);< 171707#factENTRY ~n := #in~n; 171714#L25 assume ~n <= 0;#res := 1; 171712#factFINAL assume true; 171705#factEXIT >#66#return; 171704#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171696#factFINAL assume true; 171679#factEXIT >#66#return; 171694#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171853#factFINAL assume true; 171591#factEXIT >#70#return; 171575#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 171589#factENTRY ~n := #in~n; 171629#L25 assume !(~n <= 0); 171630#L26 call #t~ret0 := fact(~n - 1);< 171753#factENTRY ~n := #in~n; 171764#L25 assume ~n <= 0;#res := 1; 171755#factFINAL assume true; 171749#factEXIT >#66#return; 171748#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171747#factFINAL assume true; 171738#factEXIT >#72#return; 171587#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; 171904#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 171902#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 171900#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 171898#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; 171719#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 171728#factENTRY ~n := #in~n; 171726#L25 assume !(~n <= 0); 171686#L26 call #t~ret0 := fact(~n - 1);< 171718#factENTRY ~n := #in~n; 171717#L25 assume !(~n <= 0); 171681#L26 call #t~ret0 := fact(~n - 1);< 171715#factENTRY ~n := #in~n; 171713#L25 assume !(~n <= 0); 171706#L26 call #t~ret0 := fact(~n - 1);< 171708#factENTRY ~n := #in~n; 171714#L25 assume ~n <= 0;#res := 1; 171712#factFINAL assume true; 171705#factEXIT >#66#return; 171704#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171696#factFINAL assume true; 171679#factEXIT >#66#return; 171692#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171843#factFINAL assume true; 171839#factEXIT >#66#return; 171841#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171875#factFINAL assume true; 171792#factEXIT >#68#return; 171604#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 171628#factENTRY ~n := #in~n; 171767#L25 assume !(~n <= 0); 171691#L26 call #t~ret0 := fact(~n - 1);< 171754#factENTRY ~n := #in~n; 171716#L25 assume !(~n <= 0); 171680#L26 call #t~ret0 := fact(~n - 1);< 171707#factENTRY ~n := #in~n; 171716#L25 assume !(~n <= 0); 171680#L26 call #t~ret0 := fact(~n - 1);< 171707#factENTRY ~n := #in~n; 171714#L25 assume ~n <= 0;#res := 1; 171712#factFINAL assume true; 171705#factEXIT >#66#return; 171704#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171696#factFINAL assume true; 171679#factEXIT >#66#return; 171692#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171843#factFINAL assume true; 171839#factEXIT >#66#return; 171838#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171845#factFINAL assume true; 171846#factEXIT >#70#return; 171567#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 171589#factENTRY ~n := #in~n; 171629#L25 assume ~n <= 0;#res := 1; 171590#factFINAL assume true; 171563#factEXIT >#72#return; 171579#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; 171886#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 171887#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 171880#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 171881#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; 171513#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 171539#factENTRY ~n := #in~n; 171540#L25 assume !(~n <= 0); 171529#L26 call #t~ret0 := fact(~n - 1);< 171530#factENTRY ~n := #in~n; 171538#L25 assume !(~n <= 0); 171524#L26 call #t~ret0 := fact(~n - 1);< 171553#factENTRY ~n := #in~n; 171547#L25 assume !(~n <= 0); 171526#L26 call #t~ret0 := fact(~n - 1);< 171544#factENTRY ~n := #in~n; 171547#L25 assume !(~n <= 0); 171526#L26 call #t~ret0 := fact(~n - 1);< 171544#factENTRY ~n := #in~n; 171552#L25 assume ~n <= 0;#res := 1; 171551#factFINAL assume true; 171550#factEXIT >#66#return; 171548#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171545#factFINAL assume true; 171541#factEXIT >#66#return; 171543#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171827#factFINAL assume true; 171522#factEXIT >#66#return; 171528#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171828#factFINAL assume true; 171826#factEXIT >#66#return; 171520#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 171521#factFINAL assume true; 171511#factEXIT >#74#return; 171145#L30-6 [2022-07-22 01:30:21,307 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:21,307 INFO L85 PathProgramCache]: Analyzing trace with hash 785036393, now seen corresponding path program 21 times [2022-07-22 01:30:21,307 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:21,307 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [10240736] [2022-07-22 01:30:21,307 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:21,308 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:21,318 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:21,319 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [38430605] [2022-07-22 01:30:21,319 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 01:30:21,319 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:21,319 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:21,322 INFO L229 MonitoredProcess]: Starting monitored process 163 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:21,323 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (163)] Waiting until timeout for monitored process [2022-07-22 01:30:21,459 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2022-07-22 01:30:21,459 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:21,460 INFO L263 TraceCheckSpWp]: Trace formula consists of 339 conjuncts, 7 conjunts are in the unsatisfiable core [2022-07-22 01:30:21,463 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:21,614 INFO L134 CoverageAnalysis]: Checked inductivity of 7440 backedges. 1142 proven. 37 refuted. 0 times theorem prover too weak. 6261 trivial. 0 not checked. [2022-07-22 01:30:21,614 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:21,902 INFO L134 CoverageAnalysis]: Checked inductivity of 7440 backedges. 138 proven. 37 refuted. 0 times theorem prover too weak. 7265 trivial. 0 not checked. [2022-07-22 01:30:21,902 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:21,902 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [10240736] [2022-07-22 01:30:21,902 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:21,902 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [38430605] [2022-07-22 01:30:21,902 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [38430605] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:21,902 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:21,903 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 7 [2022-07-22 01:30:21,903 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1156412508] [2022-07-22 01:30:21,903 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:21,903 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:30:21,903 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:21,903 INFO L85 PathProgramCache]: Analyzing trace with hash 502842989, now seen corresponding path program 19 times [2022-07-22 01:30:21,903 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:21,903 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [39854827] [2022-07-22 01:30:21,904 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:21,904 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:21,909 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:21,909 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2005496844] [2022-07-22 01:30:21,909 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-22 01:30:21,909 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:21,909 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:21,913 INFO L229 MonitoredProcess]: Starting monitored process 164 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:21,914 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (164)] Waiting until timeout for monitored process [2022-07-22 01:30:22,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:30:22,050 INFO L263 TraceCheckSpWp]: Trace formula consists of 647 conjuncts, 24 conjunts are in the unsatisfiable core [2022-07-22 01:30:22,052 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:22,240 INFO L134 CoverageAnalysis]: Checked inductivity of 5381 backedges. 3061 proven. 263 refuted. 0 times theorem prover too weak. 2057 trivial. 0 not checked. [2022-07-22 01:30:22,240 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:23,230 INFO L134 CoverageAnalysis]: Checked inductivity of 5381 backedges. 339 proven. 953 refuted. 0 times theorem prover too weak. 4089 trivial. 0 not checked. [2022-07-22 01:30:23,231 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:23,231 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [39854827] [2022-07-22 01:30:23,231 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:23,231 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2005496844] [2022-07-22 01:30:23,231 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2005496844] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:23,231 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:23,231 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 21] total 27 [2022-07-22 01:30:23,231 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2132283511] [2022-07-22 01:30:23,231 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:23,232 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:30:23,232 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:30:23,232 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-07-22 01:30:23,232 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=605, Unknown=0, NotChecked=0, Total=702 [2022-07-22 01:30:23,232 INFO L87 Difference]: Start difference. First operand 1468 states and 2378 transitions. cyclomatic complexity: 936 Second operand has 27 states, 23 states have (on average 2.9565217391304346) internal successors, (68), 27 states have internal predecessors, (68), 16 states have call successors, (32), 2 states have call predecessors, (32), 9 states have return successors, (35), 12 states have call predecessors, (35), 16 states have call successors, (35) [2022-07-22 01:30:25,250 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:30:25,250 INFO L93 Difference]: Finished difference Result 1825 states and 2907 transitions. [2022-07-22 01:30:25,251 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2022-07-22 01:30:25,251 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1825 states and 2907 transitions. [2022-07-22 01:30:25,259 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 374 [2022-07-22 01:30:25,269 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1825 states to 1824 states and 2906 transitions. [2022-07-22 01:30:25,270 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 258 [2022-07-22 01:30:25,270 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 258 [2022-07-22 01:30:25,270 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1824 states and 2906 transitions. [2022-07-22 01:30:25,270 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:30:25,271 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1824 states and 2906 transitions. [2022-07-22 01:30:25,271 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1824 states and 2906 transitions. [2022-07-22 01:30:25,294 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1824 to 1479. [2022-07-22 01:30:25,295 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1479 states, 918 states have (on average 1.0958605664488017) internal successors, (1006), 921 states have internal predecessors, (1006), 412 states have call successors, (412), 162 states have call predecessors, (412), 149 states have return successors, (955), 395 states have call predecessors, (955), 412 states have call successors, (955) [2022-07-22 01:30:25,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1479 states to 1479 states and 2373 transitions. [2022-07-22 01:30:25,300 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1479 states and 2373 transitions. [2022-07-22 01:30:25,300 INFO L374 stractBuchiCegarLoop]: Abstraction has 1479 states and 2373 transitions. [2022-07-22 01:30:25,301 INFO L287 stractBuchiCegarLoop]: ======== Iteration 35 ============ [2022-07-22 01:30:25,301 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1479 states and 2373 transitions. [2022-07-22 01:30:25,305 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 260 [2022-07-22 01:30:25,305 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:30:25,305 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:30:25,306 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [57, 57, 29, 29, 29, 29, 28, 10, 9, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1] [2022-07-22 01:30:25,307 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [48, 48, 33, 33, 33, 33, 15, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:30:25,307 INFO L752 eck$LassoCheckResult]: Stem: 178527#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 178499#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; 178500#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 178526#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; 178557#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 178959#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 178958#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; 178953#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 178954#factENTRY ~n := #in~n; 178957#L25 assume ~n <= 0;#res := 1; 178956#factFINAL assume true; 178952#factEXIT >#68#return; 178947#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 178948#factENTRY ~n := #in~n; 178955#L25 assume ~n <= 0;#res := 1; 178951#factFINAL assume true; 178946#factEXIT >#70#return; 178941#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 178942#factENTRY ~n := #in~n; 178949#L25 assume ~n <= 0;#res := 1; 178945#factFINAL assume true; 178940#factEXIT >#72#return; 178936#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; 178937#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 179030#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 179026#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 179022#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; 179018#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 179019#factENTRY ~n := #in~n; 179033#L25 assume !(~n <= 0); 179028#L26 call #t~ret0 := fact(~n - 1);< 179029#factENTRY ~n := #in~n; 179034#L25 assume ~n <= 0;#res := 1; 179032#factFINAL assume true; 179027#factEXIT >#66#return; 179023#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179020#factFINAL assume true; 179017#factEXIT >#74#return; 178998#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 178999#factENTRY ~n := #in~n; 179006#L25 assume ~n <= 0;#res := 1; 179004#factFINAL assume true; 178997#factEXIT >#76#return; 178871#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 178961#factENTRY ~n := #in~n; 179013#L25 assume !(~n <= 0); 179011#L26 call #t~ret0 := fact(~n - 1);< 179012#factENTRY ~n := #in~n; 179016#L25 assume ~n <= 0;#res := 1; 179014#factFINAL assume true; 179009#factEXIT >#66#return; 179008#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 178960#factFINAL assume true; 178870#factEXIT >#78#return; 178869#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; 178868#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 178867#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 178814#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 178815#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; 178739#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 178763#factENTRY ~n := #in~n; 178754#L25 assume !(~n <= 0); 178755#L26 call #t~ret0 := fact(~n - 1);< 178768#factENTRY ~n := #in~n; 178786#L25 assume !(~n <= 0); 178775#L26 call #t~ret0 := fact(~n - 1);< 178784#factENTRY ~n := #in~n; 178788#L25 assume ~n <= 0;#res := 1; 178785#factFINAL assume true; 178783#factEXIT >#66#return; 178782#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 178779#factFINAL assume true; 178773#factEXIT >#66#return; 178772#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 178771#factFINAL assume true; 178738#factEXIT >#74#return; 178742#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 178750#factENTRY ~n := #in~n; 178760#L25 assume ~n <= 0;#res := 1; 178751#factFINAL assume true; 178746#factEXIT >#76#return; 178740#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 178770#factENTRY ~n := #in~n; 178781#L25 assume !(~n <= 0); 178776#L26 call #t~ret0 := fact(~n - 1);< 178778#factENTRY ~n := #in~n; 178786#L25 assume !(~n <= 0); 178775#L26 call #t~ret0 := fact(~n - 1);< 178784#factENTRY ~n := #in~n; 178788#L25 assume ~n <= 0;#res := 1; 178785#factFINAL assume true; 178783#factEXIT >#66#return; 178782#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 178779#factFINAL assume true; 178773#factEXIT >#66#return; 178772#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 178771#factFINAL assume true; 178738#factEXIT >#78#return; 178737#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; 178736#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 178735#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 178734#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 178733#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 178732#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 178731#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 178723#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; 178719#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 178720#factENTRY ~n := #in~n; 178729#L25 assume !(~n <= 0); 178726#L26 call #t~ret0 := fact(~n - 1);< 178727#factENTRY ~n := #in~n; 178730#L25 assume ~n <= 0;#res := 1; 178728#factFINAL assume true; 178725#factEXIT >#66#return; 178724#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 178722#factFINAL assume true; 178718#factEXIT >#68#return; 178715#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 178716#factENTRY ~n := #in~n; 178721#L25 assume ~n <= 0;#res := 1; 178717#factFINAL assume true; 178714#factEXIT >#70#return; 178712#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 178713#factENTRY ~n := #in~n; 178805#L25 assume !(~n <= 0); 178803#L26 call #t~ret0 := fact(~n - 1);< 178804#factENTRY ~n := #in~n; 178880#L25 assume ~n <= 0;#res := 1; 178881#factFINAL assume true; 178802#factEXIT >#66#return; 178800#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 178798#factFINAL assume true; 178711#factEXIT >#72#return; 178710#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; 178709#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 178703#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 178678#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 178636#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; 178615#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 178616#factENTRY ~n := #in~n; 178622#L25 assume !(~n <= 0); 178620#L26 call #t~ret0 := fact(~n - 1);< 178621#factENTRY ~n := #in~n; 178624#L25 assume ~n <= 0;#res := 1; 178623#factFINAL assume true; 178619#factEXIT >#66#return; 178618#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 178617#factFINAL assume true; 178614#factEXIT >#68#return; 178610#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 178611#factENTRY ~n := #in~n; 178637#L25 assume !(~n <= 0); 178627#L26 call #t~ret0 := fact(~n - 1);< 178631#factENTRY ~n := #in~n; 178635#L25 assume ~n <= 0;#res := 1; 178632#factFINAL assume true; 178626#factEXIT >#66#return; 178625#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 178612#factFINAL assume true; 178609#factEXIT >#70#return; 178602#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 178603#factENTRY ~n := #in~n; 178608#L25 assume ~n <= 0;#res := 1; 178606#factFINAL assume true; 178601#factEXIT >#72#return; 178598#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; 178596#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 178593#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 178588#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 178585#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; 178580#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 178581#factENTRY ~n := #in~n; 178595#L25 assume !(~n <= 0); 178591#L26 call #t~ret0 := fact(~n - 1);< 178592#factENTRY ~n := #in~n; 178605#L25 assume !(~n <= 0); 178590#L26 call #t~ret0 := fact(~n - 1);< 178600#factENTRY ~n := #in~n; 178613#L25 assume ~n <= 0;#res := 1; 178604#factFINAL assume true; 178599#factEXIT >#66#return; 178597#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 178594#factFINAL assume true; 178589#factEXIT >#66#return; 178587#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 178584#factFINAL assume true; 178579#factEXIT >#74#return; 178574#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 178577#factENTRY ~n := #in~n; 178676#L25 assume !(~n <= 0); 178672#L26 call #t~ret0 := fact(~n - 1);< 178673#factENTRY ~n := #in~n; 178607#L25 assume ~n <= 0;#res := 1; 178675#factFINAL assume true; 178671#factEXIT >#66#return; 178667#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 178664#factFINAL assume true; 178573#factEXIT >#76#return; 178575#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 178577#factENTRY ~n := #in~n; 178676#L25 assume !(~n <= 0); 178672#L26 call #t~ret0 := fact(~n - 1);< 178673#factENTRY ~n := #in~n; 178607#L25 assume ~n <= 0;#res := 1; 178675#factFINAL assume true; 178671#factEXIT >#66#return; 178667#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 178664#factFINAL assume true; 178573#factEXIT >#78#return; 178563#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; 178562#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 178561#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 178560#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 178525#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 178518#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 178519#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 179327#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; 178886#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 179324#factENTRY ~n := #in~n; 178899#L25 assume !(~n <= 0); 178895#L26 call #t~ret0 := fact(~n - 1);< 178898#factENTRY ~n := #in~n; 178904#L25 assume !(~n <= 0); 178893#L26 call #t~ret0 := fact(~n - 1);< 178903#factENTRY ~n := #in~n; 178905#L25 assume ~n <= 0;#res := 1; 178908#factFINAL assume true; 178906#factEXIT >#66#return; 178907#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179331#factFINAL assume true; 179329#factEXIT >#66#return; 179328#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179326#factFINAL assume true; 179323#factEXIT >#68#return; 179316#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 178551#factENTRY ~n := #in~n; 179325#L25 assume ~n <= 0;#res := 1; 179322#factFINAL assume true; 179312#factEXIT >#70#return; 179310#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 179311#factENTRY ~n := #in~n; 179426#L25 assume !(~n <= 0); 179420#L26 call #t~ret0 := fact(~n - 1);< 179422#factENTRY ~n := #in~n; 179431#L25 assume !(~n <= 0); 179418#L26 call #t~ret0 := fact(~n - 1);< 179429#factENTRY ~n := #in~n; 179433#L25 assume ~n <= 0;#res := 1; 179430#factFINAL assume true; 179428#factEXIT >#66#return; 179427#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179424#factFINAL assume true; 179417#factEXIT >#66#return; 179416#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179415#factFINAL assume true; 179309#factEXIT >#72#return; 179308#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; 179307#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 179306#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 179305#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 179304#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; 179187#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 179221#factENTRY ~n := #in~n; 179473#L25 assume !(~n <= 0); 179231#L26 call #t~ret0 := fact(~n - 1);< 179378#factENTRY ~n := #in~n; 179479#L25 assume !(~n <= 0); 179230#L26 call #t~ret0 := fact(~n - 1);< 179259#factENTRY ~n := #in~n; 179262#L25 assume ~n <= 0;#res := 1; 179261#factFINAL assume true; 179257#factEXIT >#66#return; 179256#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179247#factFINAL assume true; 179229#factEXIT >#66#return; 179228#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179222#factFINAL assume true; 179184#factEXIT >#68#return; 179159#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 179181#factENTRY ~n := #in~n; 179296#L25 assume !(~n <= 0); 179232#L26 call #t~ret0 := fact(~n - 1);< 179285#factENTRY ~n := #in~n; 179295#L25 assume ~n <= 0;#res := 1; 179286#factFINAL assume true; 179280#factEXIT >#66#return; 179282#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179303#factFINAL assume true; 179302#factEXIT >#70#return; 179272#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 179277#factENTRY ~n := #in~n; 179299#L25 assume !(~n <= 0); 179183#L26 call #t~ret0 := fact(~n - 1);< 179284#factENTRY ~n := #in~n; 179295#L25 assume ~n <= 0;#res := 1; 179286#factFINAL assume true; 179280#factEXIT >#66#return; 179279#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179278#factFINAL assume true; 179269#factEXIT >#72#return; 179276#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; 179342#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 179341#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 179339#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 179263#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; 179210#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 179221#factENTRY ~n := #in~n; 179473#L25 assume !(~n <= 0); 179231#L26 call #t~ret0 := fact(~n - 1);< 179378#factENTRY ~n := #in~n; 179479#L25 assume !(~n <= 0); 179230#L26 call #t~ret0 := fact(~n - 1);< 179259#factENTRY ~n := #in~n; 179262#L25 assume ~n <= 0;#res := 1; 179261#factFINAL assume true; 179257#factEXIT >#66#return; 179256#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179247#factFINAL assume true; 179229#factEXIT >#66#return; 179228#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179222#factFINAL assume true; 179184#factEXIT >#68#return; 179146#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 179181#factENTRY ~n := #in~n; 179296#L25 assume !(~n <= 0); 179232#L26 call #t~ret0 := fact(~n - 1);< 179285#factENTRY ~n := #in~n; 179383#L25 assume !(~n <= 0); 179235#L26 call #t~ret0 := fact(~n - 1);< 179381#factENTRY ~n := #in~n; 179262#L25 assume ~n <= 0;#res := 1; 179261#factFINAL assume true; 179257#factEXIT >#66#return; 179256#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179247#factFINAL assume true; 179229#factEXIT >#66#return; 179245#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179367#factFINAL assume true; 179138#factEXIT >#70#return; 179119#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 179136#factENTRY ~n := #in~n; 179182#L25 assume ~n <= 0;#res := 1; 179137#factFINAL assume true; 179110#factEXIT >#72#return; 179107#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; 179105#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 179104#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 179101#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 179098#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; 179061#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 179097#factENTRY ~n := #in~n; 179095#L25 assume !(~n <= 0); 179068#L26 call #t~ret0 := fact(~n - 1);< 179088#factENTRY ~n := #in~n; 179089#L25 assume !(~n <= 0); 179070#L26 call #t~ret0 := fact(~n - 1);< 179086#factENTRY ~n := #in~n; 179089#L25 assume !(~n <= 0); 179070#L26 call #t~ret0 := fact(~n - 1);< 179086#factENTRY ~n := #in~n; 179096#L25 assume ~n <= 0;#res := 1; 179094#factFINAL assume true; 179093#factEXIT >#66#return; 179090#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179087#factFINAL assume true; 179083#factEXIT >#66#return; 179085#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179478#factFINAL assume true; 179067#factEXIT >#66#return; 179072#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179572#factFINAL assume true; 179059#factEXIT >#74#return; 179060#L30-6 [2022-07-22 01:30:25,308 INFO L754 eck$LassoCheckResult]: Loop: 179060#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 178555#factENTRY ~n := #in~n; 179091#L25 assume !(~n <= 0); 179069#L26 call #t~ret0 := fact(~n - 1);< 179088#factENTRY ~n := #in~n; 179089#L25 assume !(~n <= 0); 179070#L26 call #t~ret0 := fact(~n - 1);< 179086#factENTRY ~n := #in~n; 179089#L25 assume !(~n <= 0); 179070#L26 call #t~ret0 := fact(~n - 1);< 179086#factENTRY ~n := #in~n; 179089#L25 assume !(~n <= 0); 179070#L26 call #t~ret0 := fact(~n - 1);< 179086#factENTRY ~n := #in~n; 179096#L25 assume ~n <= 0;#res := 1; 179094#factFINAL assume true; 179093#factEXIT >#66#return; 179090#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179087#factFINAL assume true; 179083#factEXIT >#66#return; 179085#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179478#factFINAL assume true; 179067#factEXIT >#66#return; 179073#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179081#factFINAL assume true; 179476#factEXIT >#66#return; 179065#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179066#factFINAL assume true; 179571#factEXIT >#76#return; 179042#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 179595#factENTRY ~n := #in~n; 179604#L25 assume !(~n <= 0); 179601#L26 call #t~ret0 := fact(~n - 1);< 179602#factENTRY ~n := #in~n; 179605#L25 assume ~n <= 0;#res := 1; 179603#factFINAL assume true; 179600#factEXIT >#66#return; 179599#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179594#factFINAL assume true; 179040#factEXIT >#78#return; 179043#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; 179467#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 179464#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 179451#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 178524#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 178516#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 178517#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 178528#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; 178529#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 178457#factENTRY ~n := #in~n; 178900#L25 assume !(~n <= 0); 178894#L26 call #t~ret0 := fact(~n - 1);< 178898#factENTRY ~n := #in~n; 178904#L25 assume !(~n <= 0); 178893#L26 call #t~ret0 := fact(~n - 1);< 178903#factENTRY ~n := #in~n; 178904#L25 assume !(~n <= 0); 178893#L26 call #t~ret0 := fact(~n - 1);< 178903#factENTRY ~n := #in~n; 178905#L25 assume ~n <= 0;#res := 1; 178908#factFINAL assume true; 178906#factEXIT >#66#return; 178907#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179331#factFINAL assume true; 179329#factEXIT >#66#return; 179330#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179413#factFINAL assume true; 178892#factEXIT >#66#return; 178897#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 178888#factFINAL assume true; 178889#factEXIT >#68#return; 179313#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 178551#factENTRY ~n := #in~n; 179325#L25 assume ~n <= 0;#res := 1; 179322#factFINAL assume true; 179312#factEXIT >#70#return; 179317#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 179408#factENTRY ~n := #in~n; 179443#L25 assume !(~n <= 0); 179425#L26 call #t~ret0 := fact(~n - 1);< 179434#factENTRY ~n := #in~n; 179432#L25 assume !(~n <= 0); 179419#L26 call #t~ret0 := fact(~n - 1);< 179422#factENTRY ~n := #in~n; 179431#L25 assume !(~n <= 0); 179418#L26 call #t~ret0 := fact(~n - 1);< 179429#factENTRY ~n := #in~n; 179431#L25 assume !(~n <= 0); 179418#L26 call #t~ret0 := fact(~n - 1);< 179429#factENTRY ~n := #in~n; 179433#L25 assume ~n <= 0;#res := 1; 179430#factFINAL assume true; 179428#factEXIT >#66#return; 179427#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179424#factFINAL assume true; 179417#factEXIT >#66#return; 179421#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179516#factFINAL assume true; 179515#factEXIT >#66#return; 179470#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179475#factFINAL assume true; 179469#factEXIT >#66#return; 179468#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179465#factFINAL assume true; 179466#factEXIT >#72#return; 179406#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; 179414#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 179412#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 179411#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 179410#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; 179347#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 179363#factENTRY ~n := #in~n; 179472#L25 assume !(~n <= 0); 179234#L26 call #t~ret0 := fact(~n - 1);< 179378#factENTRY ~n := #in~n; 179479#L25 assume !(~n <= 0); 179230#L26 call #t~ret0 := fact(~n - 1);< 179259#factENTRY ~n := #in~n; 179561#L25 assume !(~n <= 0); 179258#L26 call #t~ret0 := fact(~n - 1);< 179260#factENTRY ~n := #in~n; 179262#L25 assume ~n <= 0;#res := 1; 179261#factFINAL assume true; 179257#factEXIT >#66#return; 179256#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179247#factFINAL assume true; 179229#factEXIT >#66#return; 179243#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179380#factFINAL assume true; 179373#factEXIT >#66#return; 179368#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179364#factFINAL assume true; 179343#factEXIT >#68#return; 179142#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 179181#factENTRY ~n := #in~n; 179296#L25 assume !(~n <= 0); 179232#L26 call #t~ret0 := fact(~n - 1);< 179285#factENTRY ~n := #in~n; 179295#L25 assume ~n <= 0;#res := 1; 179286#factFINAL assume true; 179280#factEXIT >#66#return; 179282#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179303#factFINAL assume true; 179302#factEXIT >#70#return; 179188#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 179224#factENTRY ~n := #in~n; 179474#L25 assume !(~n <= 0); 179236#L26 call #t~ret0 := fact(~n - 1);< 179246#factENTRY ~n := #in~n; 179561#L25 assume !(~n <= 0); 179258#L26 call #t~ret0 := fact(~n - 1);< 179260#factENTRY ~n := #in~n; 179262#L25 assume ~n <= 0;#res := 1; 179261#factFINAL assume true; 179257#factEXIT >#66#return; 179256#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179247#factFINAL assume true; 179229#factEXIT >#66#return; 179228#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179222#factFINAL assume true; 179184#factEXIT >#72#return; 179214#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; 179409#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 179402#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 179400#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 179398#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; 179355#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 179363#factENTRY ~n := #in~n; 179472#L25 assume !(~n <= 0); 179234#L26 call #t~ret0 := fact(~n - 1);< 179378#factENTRY ~n := #in~n; 179479#L25 assume !(~n <= 0); 179230#L26 call #t~ret0 := fact(~n - 1);< 179259#factENTRY ~n := #in~n; 179561#L25 assume !(~n <= 0); 179258#L26 call #t~ret0 := fact(~n - 1);< 179260#factENTRY ~n := #in~n; 179262#L25 assume ~n <= 0;#res := 1; 179261#factFINAL assume true; 179257#factEXIT >#66#return; 179256#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179247#factFINAL assume true; 179229#factEXIT >#66#return; 179243#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179380#factFINAL assume true; 179373#factEXIT >#66#return; 179368#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179364#factFINAL assume true; 179343#factEXIT >#68#return; 179165#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 179181#factENTRY ~n := #in~n; 179296#L25 assume !(~n <= 0); 179232#L26 call #t~ret0 := fact(~n - 1);< 179285#factENTRY ~n := #in~n; 179383#L25 assume !(~n <= 0); 179235#L26 call #t~ret0 := fact(~n - 1);< 179381#factENTRY ~n := #in~n; 179262#L25 assume ~n <= 0;#res := 1; 179261#factFINAL assume true; 179257#factEXIT >#66#return; 179256#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179247#factFINAL assume true; 179229#factEXIT >#66#return; 179245#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179367#factFINAL assume true; 179138#factEXIT >#70#return; 179121#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 179136#factENTRY ~n := #in~n; 179182#L25 assume ~n <= 0;#res := 1; 179137#factFINAL assume true; 179110#factEXIT >#72#return; 179133#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; 179394#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 179393#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 179392#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 179369#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; 179357#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 179363#factENTRY ~n := #in~n; 179472#L25 assume !(~n <= 0); 179234#L26 call #t~ret0 := fact(~n - 1);< 179378#factENTRY ~n := #in~n; 179479#L25 assume !(~n <= 0); 179230#L26 call #t~ret0 := fact(~n - 1);< 179259#factENTRY ~n := #in~n; 179561#L25 assume !(~n <= 0); 179258#L26 call #t~ret0 := fact(~n - 1);< 179260#factENTRY ~n := #in~n; 179262#L25 assume ~n <= 0;#res := 1; 179261#factFINAL assume true; 179257#factEXIT >#66#return; 179256#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179247#factFINAL assume true; 179229#factEXIT >#66#return; 179243#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179380#factFINAL assume true; 179373#factEXIT >#66#return; 179368#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179364#factFINAL assume true; 179343#factEXIT >#68#return; 179152#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 179181#factENTRY ~n := #in~n; 179296#L25 assume !(~n <= 0); 179232#L26 call #t~ret0 := fact(~n - 1);< 179285#factENTRY ~n := #in~n; 179383#L25 assume !(~n <= 0); 179235#L26 call #t~ret0 := fact(~n - 1);< 179381#factENTRY ~n := #in~n; 179383#L25 assume !(~n <= 0); 179235#L26 call #t~ret0 := fact(~n - 1);< 179381#factENTRY ~n := #in~n; 179262#L25 assume ~n <= 0;#res := 1; 179261#factFINAL assume true; 179257#factEXIT >#66#return; 179256#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179247#factFINAL assume true; 179229#factEXIT >#66#return; 179243#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179380#factFINAL assume true; 179373#factEXIT >#66#return; 179375#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179340#factFINAL assume true; 179338#factEXIT >#70#return; 179112#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 179136#factENTRY ~n := #in~n; 179182#L25 assume ~n <= 0;#res := 1; 179137#factFINAL assume true; 179110#factEXIT >#72#return; 179125#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; 179337#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 179333#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 179334#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 179370#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; 178441#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 178442#factENTRY ~n := #in~n; 179106#L25 assume !(~n <= 0); 179078#L26 call #t~ret0 := fact(~n - 1);< 179102#factENTRY ~n := #in~n; 179103#L25 assume !(~n <= 0); 179071#L26 call #t~ret0 := fact(~n - 1);< 179092#factENTRY ~n := #in~n; 179089#L25 assume !(~n <= 0); 179070#L26 call #t~ret0 := fact(~n - 1);< 179086#factENTRY ~n := #in~n; 179089#L25 assume !(~n <= 0); 179070#L26 call #t~ret0 := fact(~n - 1);< 179086#factENTRY ~n := #in~n; 179096#L25 assume ~n <= 0;#res := 1; 179094#factFINAL assume true; 179093#factEXIT >#66#return; 179090#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179087#factFINAL assume true; 179083#factEXIT >#66#return; 179085#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179478#factFINAL assume true; 179067#factEXIT >#66#return; 179073#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179081#factFINAL assume true; 179476#factEXIT >#66#return; 179065#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 179066#factFINAL assume true; 179571#factEXIT >#74#return; 179060#L30-6 [2022-07-22 01:30:25,308 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:25,308 INFO L85 PathProgramCache]: Analyzing trace with hash 785036393, now seen corresponding path program 22 times [2022-07-22 01:30:25,308 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:25,309 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1270770774] [2022-07-22 01:30:25,309 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:25,309 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:25,319 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:25,319 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1504648042] [2022-07-22 01:30:25,319 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-22 01:30:25,319 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:25,320 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:25,325 INFO L229 MonitoredProcess]: Starting monitored process 165 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:25,348 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (165)] Waiting until timeout for monitored process [2022-07-22 01:30:25,538 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-22 01:30:25,538 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:25,541 INFO L263 TraceCheckSpWp]: Trace formula consists of 856 conjuncts, 10 conjunts are in the unsatisfiable core [2022-07-22 01:30:25,544 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:25,715 INFO L134 CoverageAnalysis]: Checked inductivity of 7440 backedges. 1109 proven. 120 refuted. 0 times theorem prover too weak. 6211 trivial. 0 not checked. [2022-07-22 01:30:25,715 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:26,119 INFO L134 CoverageAnalysis]: Checked inductivity of 7440 backedges. 41 proven. 184 refuted. 0 times theorem prover too weak. 7215 trivial. 0 not checked. [2022-07-22 01:30:26,120 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:26,120 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1270770774] [2022-07-22 01:30:26,120 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:26,120 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1504648042] [2022-07-22 01:30:26,120 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1504648042] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:26,120 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:26,120 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 15 [2022-07-22 01:30:26,120 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [940850096] [2022-07-22 01:30:26,120 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:26,121 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:30:26,121 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:26,121 INFO L85 PathProgramCache]: Analyzing trace with hash 786749973, now seen corresponding path program 20 times [2022-07-22 01:30:26,121 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:26,121 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [861231107] [2022-07-22 01:30:26,121 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:26,121 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:26,128 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:26,128 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1969354953] [2022-07-22 01:30:26,129 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 01:30:26,129 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:26,129 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:26,131 INFO L229 MonitoredProcess]: Starting monitored process 166 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:26,132 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (166)] Waiting until timeout for monitored process [2022-07-22 01:30:26,341 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 01:30:26,342 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:26,344 INFO L263 TraceCheckSpWp]: Trace formula consists of 659 conjuncts, 21 conjunts are in the unsatisfiable core [2022-07-22 01:30:26,347 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:26,546 INFO L134 CoverageAnalysis]: Checked inductivity of 5633 backedges. 2914 proven. 118 refuted. 0 times theorem prover too weak. 2601 trivial. 0 not checked. [2022-07-22 01:30:26,546 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:27,684 INFO L134 CoverageAnalysis]: Checked inductivity of 5633 backedges. 302 proven. 1174 refuted. 0 times theorem prover too weak. 4157 trivial. 0 not checked. [2022-07-22 01:30:27,685 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:27,685 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [861231107] [2022-07-22 01:30:27,685 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:27,685 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1969354953] [2022-07-22 01:30:27,685 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1969354953] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:27,685 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:27,685 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 21] total 24 [2022-07-22 01:30:27,685 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1130604634] [2022-07-22 01:30:27,686 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:27,686 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:30:27,686 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:30:27,686 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-07-22 01:30:27,686 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=87, Invalid=465, Unknown=0, NotChecked=0, Total=552 [2022-07-22 01:30:27,687 INFO L87 Difference]: Start difference. First operand 1479 states and 2373 transitions. cyclomatic complexity: 920 Second operand has 24 states, 21 states have (on average 2.9047619047619047) internal successors, (61), 22 states have internal predecessors, (61), 14 states have call successors, (26), 2 states have call predecessors, (26), 10 states have return successors, (31), 11 states have call predecessors, (31), 14 states have call successors, (31) [2022-07-22 01:30:28,639 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:30:28,639 INFO L93 Difference]: Finished difference Result 1827 states and 2821 transitions. [2022-07-22 01:30:28,640 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-07-22 01:30:28,642 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1827 states and 2821 transitions. [2022-07-22 01:30:28,650 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 358 [2022-07-22 01:30:28,657 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1827 states to 1824 states and 2818 transitions. [2022-07-22 01:30:28,657 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 287 [2022-07-22 01:30:28,657 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 287 [2022-07-22 01:30:28,657 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1824 states and 2818 transitions. [2022-07-22 01:30:28,657 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:30:28,658 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1824 states and 2818 transitions. [2022-07-22 01:30:28,658 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1824 states and 2818 transitions. [2022-07-22 01:30:28,683 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1824 to 1503. [2022-07-22 01:30:28,684 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1503 states, 935 states have (on average 1.095187165775401) internal successors, (1024), 935 states have internal predecessors, (1024), 419 states have call successors, (419), 171 states have call predecessors, (419), 149 states have return successors, (951), 396 states have call predecessors, (951), 419 states have call successors, (951) [2022-07-22 01:30:28,689 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1503 states to 1503 states and 2394 transitions. [2022-07-22 01:30:28,689 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1503 states and 2394 transitions. [2022-07-22 01:30:28,690 INFO L374 stractBuchiCegarLoop]: Abstraction has 1503 states and 2394 transitions. [2022-07-22 01:30:28,690 INFO L287 stractBuchiCegarLoop]: ======== Iteration 36 ============ [2022-07-22 01:30:28,690 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1503 states and 2394 transitions. [2022-07-22 01:30:28,694 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 260 [2022-07-22 01:30:28,694 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:30:28,694 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:30:28,701 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [57, 57, 29, 29, 29, 29, 28, 10, 9, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1] [2022-07-22 01:30:28,701 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [50, 50, 35, 35, 35, 35, 15, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:30:28,702 INFO L752 eck$LassoCheckResult]: Stem: 185899#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 185878#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; 185879#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 185898#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; 185920#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 187149#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 187147#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; 185870#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 185871#factENTRY ~n := #in~n; 187126#L25 assume ~n <= 0;#res := 1; 187125#factFINAL assume true; 187124#factEXIT >#68#return; 185914#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 185915#factENTRY ~n := #in~n; 186982#L25 assume ~n <= 0;#res := 1; 186934#factFINAL assume true; 186932#factEXIT >#70#return; 185864#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 185865#factENTRY ~n := #in~n; 187161#L25 assume ~n <= 0;#res := 1; 187160#factFINAL assume true; 187084#factEXIT >#72#return; 185896#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; 185897#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 187229#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 187228#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 185901#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; 185902#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 187226#factENTRY ~n := #in~n; 187216#L25 assume !(~n <= 0); 187214#L26 call #t~ret0 := fact(~n - 1);< 187220#factENTRY ~n := #in~n; 187217#L25 assume ~n <= 0;#res := 1; 187213#factFINAL assume true; 187215#factEXIT >#66#return; 187206#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 187207#factFINAL assume true; 187201#factEXIT >#74#return; 185918#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 185919#factENTRY ~n := #in~n; 187244#L25 assume ~n <= 0;#res := 1; 187243#factFINAL assume true; 187234#factEXIT >#76#return; 185862#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 185922#factENTRY ~n := #in~n; 187254#L25 assume !(~n <= 0); 187248#L26 call #t~ret0 := fact(~n - 1);< 187250#factENTRY ~n := #in~n; 187253#L25 assume ~n <= 0;#res := 1; 187251#factFINAL assume true; 187247#factEXIT >#66#return; 185904#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 185867#factFINAL assume true; 185861#factEXIT >#78#return; 185863#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; 187353#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 187351#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 187349#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 187337#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; 186133#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 186136#factENTRY ~n := #in~n; 186165#L25 assume !(~n <= 0); 186145#L26 call #t~ret0 := fact(~n - 1);< 186170#factENTRY ~n := #in~n; 186169#L25 assume !(~n <= 0); 186157#L26 call #t~ret0 := fact(~n - 1);< 186168#factENTRY ~n := #in~n; 186173#L25 assume ~n <= 0;#res := 1; 186171#factFINAL assume true; 186167#factEXIT >#66#return; 186166#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186162#factFINAL assume true; 186154#factEXIT >#66#return; 186152#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186149#factFINAL assume true; 186139#factEXIT >#74#return; 186126#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 186137#factENTRY ~n := #in~n; 186164#L25 assume ~n <= 0;#res := 1; 186160#factFINAL assume true; 186153#factEXIT >#76#return; 186129#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 186150#factENTRY ~n := #in~n; 186172#L25 assume !(~n <= 0); 186155#L26 call #t~ret0 := fact(~n - 1);< 186159#factENTRY ~n := #in~n; 186169#L25 assume !(~n <= 0); 186157#L26 call #t~ret0 := fact(~n - 1);< 186168#factENTRY ~n := #in~n; 186173#L25 assume ~n <= 0;#res := 1; 186171#factFINAL assume true; 186167#factEXIT >#66#return; 186166#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186162#factFINAL assume true; 186154#factEXIT >#66#return; 186152#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186149#factFINAL assume true; 186139#factEXIT >#78#return; 186124#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; 186123#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 186122#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 186121#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 186120#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 186119#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 186118#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 186027#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; 186021#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 186022#factENTRY ~n := #in~n; 186039#L25 assume !(~n <= 0); 186033#L26 call #t~ret0 := fact(~n - 1);< 186034#factENTRY ~n := #in~n; 186038#L25 assume ~n <= 0;#res := 1; 186037#factFINAL assume true; 186032#factEXIT >#66#return; 186030#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186026#factFINAL assume true; 186020#factEXIT >#68#return; 186014#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 186015#factENTRY ~n := #in~n; 186018#L25 assume ~n <= 0;#res := 1; 186016#factFINAL assume true; 186013#factEXIT >#70#return; 186011#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 186012#factENTRY ~n := #in~n; 186102#L25 assume !(~n <= 0); 186100#L26 call #t~ret0 := fact(~n - 1);< 186101#factENTRY ~n := #in~n; 186107#L25 assume ~n <= 0;#res := 1; 186103#factFINAL assume true; 186099#factEXIT >#66#return; 186098#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186096#factFINAL assume true; 186010#factEXIT >#72#return; 186009#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; 186007#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 186000#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 185998#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 185991#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; 185983#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 185984#factENTRY ~n := #in~n; 186001#L25 assume !(~n <= 0); 185994#L26 call #t~ret0 := fact(~n - 1);< 185995#factENTRY ~n := #in~n; 186002#L25 assume ~n <= 0;#res := 1; 185999#factFINAL assume true; 185993#factEXIT >#66#return; 185989#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 185988#factFINAL assume true; 185982#factEXIT >#68#return; 185969#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 185970#factENTRY ~n := #in~n; 185990#L25 assume !(~n <= 0); 185977#L26 call #t~ret0 := fact(~n - 1);< 185979#factENTRY ~n := #in~n; 185992#L25 assume ~n <= 0;#res := 1; 185985#factFINAL assume true; 185974#factEXIT >#66#return; 185973#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 185972#factFINAL assume true; 185968#factEXIT >#70#return; 185963#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 185964#factENTRY ~n := #in~n; 185980#L25 assume ~n <= 0;#res := 1; 185966#factFINAL assume true; 185962#factEXIT >#72#return; 185959#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; 185957#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 185954#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 185949#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 185946#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; 185943#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 185944#factENTRY ~n := #in~n; 185956#L25 assume !(~n <= 0); 185951#L26 call #t~ret0 := fact(~n - 1);< 185953#factENTRY ~n := #in~n; 185967#L25 assume !(~n <= 0); 185952#L26 call #t~ret0 := fact(~n - 1);< 185961#factENTRY ~n := #in~n; 185971#L25 assume ~n <= 0;#res := 1; 185965#factFINAL assume true; 185960#factEXIT >#66#return; 185958#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 185955#factFINAL assume true; 185950#factEXIT >#66#return; 185948#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 185945#factFINAL assume true; 185942#factEXIT >#74#return; 185928#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 186044#factENTRY ~n := #in~n; 186053#L25 assume !(~n <= 0); 186050#L26 call #t~ret0 := fact(~n - 1);< 186052#factENTRY ~n := #in~n; 185981#L25 assume ~n <= 0;#res := 1; 186071#factFINAL assume true; 186049#factEXIT >#66#return; 186051#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186043#factFINAL assume true; 185927#factEXIT >#76#return; 185929#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 186044#factENTRY ~n := #in~n; 186053#L25 assume !(~n <= 0); 186050#L26 call #t~ret0 := fact(~n - 1);< 186052#factENTRY ~n := #in~n; 185981#L25 assume ~n <= 0;#res := 1; 186071#factFINAL assume true; 186049#factEXIT >#66#return; 186051#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186043#factFINAL assume true; 185927#factEXIT >#78#return; 185926#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; 185925#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 185924#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 185923#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 185893#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 185889#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 185890#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 186887#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; 186184#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 186195#factENTRY ~n := #in~n; 186194#L25 assume !(~n <= 0); 186191#L26 call #t~ret0 := fact(~n - 1);< 186193#factENTRY ~n := #in~n; 186198#L25 assume !(~n <= 0); 186189#L26 call #t~ret0 := fact(~n - 1);< 186197#factENTRY ~n := #in~n; 186199#L25 assume ~n <= 0;#res := 1; 186202#factFINAL assume true; 186200#factEXIT >#66#return; 186201#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186902#factFINAL assume true; 186885#factEXIT >#66#return; 186884#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186883#factFINAL assume true; 186875#factEXIT >#68#return; 186863#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 185913#factENTRY ~n := #in~n; 186882#L25 assume ~n <= 0;#res := 1; 186874#factFINAL assume true; 186862#factEXIT >#70#return; 186853#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 186854#factENTRY ~n := #in~n; 186912#L25 assume !(~n <= 0); 186895#L26 call #t~ret0 := fact(~n - 1);< 186911#factENTRY ~n := #in~n; 186919#L25 assume !(~n <= 0); 186905#L26 call #t~ret0 := fact(~n - 1);< 186917#factENTRY ~n := #in~n; 186925#L25 assume ~n <= 0;#res := 1; 186923#factFINAL assume true; 186914#factEXIT >#66#return; 186913#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186910#factFINAL assume true; 186904#factEXIT >#66#return; 186907#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186954#factFINAL assume true; 186852#factEXIT >#72#return; 186850#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; 186848#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 186847#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 186844#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 186840#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; 186538#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 186567#factENTRY ~n := #in~n; 187082#L25 assume !(~n <= 0); 186590#L26 call #t~ret0 := fact(~n - 1);< 186792#factENTRY ~n := #in~n; 187042#L25 assume !(~n <= 0); 186598#L26 call #t~ret0 := fact(~n - 1);< 186663#factENTRY ~n := #in~n; 186665#L25 assume ~n <= 0;#res := 1; 186664#factFINAL assume true; 186660#factEXIT >#66#return; 186659#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186657#factFINAL assume true; 186588#factEXIT >#66#return; 186584#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186568#factFINAL assume true; 186530#factEXIT >#68#return; 186508#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 186521#factENTRY ~n := #in~n; 186814#L25 assume !(~n <= 0); 186595#L26 call #t~ret0 := fact(~n - 1);< 186802#factENTRY ~n := #in~n; 186832#L25 assume ~n <= 0;#res := 1; 186805#factFINAL assume true; 186797#factEXIT >#66#return; 186800#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186816#factFINAL assume true; 186813#factEXIT >#70#return; 186771#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 186775#factENTRY ~n := #in~n; 186804#L25 assume !(~n <= 0); 186527#L26 call #t~ret0 := fact(~n - 1);< 186801#factENTRY ~n := #in~n; 186832#L25 assume ~n <= 0;#res := 1; 186805#factFINAL assume true; 186797#factEXIT >#66#return; 186795#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186793#factFINAL assume true; 186766#factEXIT >#72#return; 186774#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; 186837#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 186835#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 186834#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 186778#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; 186531#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 186567#factENTRY ~n := #in~n; 187082#L25 assume !(~n <= 0); 186590#L26 call #t~ret0 := fact(~n - 1);< 186792#factENTRY ~n := #in~n; 187042#L25 assume !(~n <= 0); 186598#L26 call #t~ret0 := fact(~n - 1);< 186663#factENTRY ~n := #in~n; 186665#L25 assume ~n <= 0;#res := 1; 186664#factFINAL assume true; 186660#factEXIT >#66#return; 186659#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186657#factFINAL assume true; 186588#factEXIT >#66#return; 186584#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186568#factFINAL assume true; 186530#factEXIT >#68#return; 186499#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 186521#factENTRY ~n := #in~n; 186814#L25 assume !(~n <= 0); 186595#L26 call #t~ret0 := fact(~n - 1);< 186802#factENTRY ~n := #in~n; 186833#L25 assume !(~n <= 0); 186600#L26 call #t~ret0 := fact(~n - 1);< 186831#factENTRY ~n := #in~n; 186665#L25 assume ~n <= 0;#res := 1; 186664#factFINAL assume true; 186660#factEXIT >#66#return; 186659#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186657#factFINAL assume true; 186588#factEXIT >#66#return; 186605#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186936#factFINAL assume true; 186478#factEXIT >#70#return; 186458#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 186477#factENTRY ~n := #in~n; 186526#L25 assume ~n <= 0;#res := 1; 186524#factFINAL assume true; 186451#factEXIT >#72#return; 186449#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; 186448#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 186444#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 186439#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 186433#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; 186385#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 186397#factENTRY ~n := #in~n; 186389#L25 assume !(~n <= 0); 186328#L26 call #t~ret0 := fact(~n - 1);< 186333#factENTRY ~n := #in~n; 186369#L25 assume !(~n <= 0); 186329#L26 call #t~ret0 := fact(~n - 1);< 186336#factENTRY ~n := #in~n; 186369#L25 assume !(~n <= 0); 186329#L26 call #t~ret0 := fact(~n - 1);< 186336#factENTRY ~n := #in~n; 186383#L25 assume ~n <= 0;#res := 1; 186382#factFINAL assume true; 186366#factEXIT >#66#return; 186338#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186335#factFINAL assume true; 186327#factEXIT >#66#return; 186332#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186636#factFINAL assume true; 186632#factEXIT >#66#return; 186633#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186586#factFINAL assume true; 186579#factEXIT >#74#return; 186204#L30-6 [2022-07-22 01:30:28,702 INFO L754 eck$LassoCheckResult]: Loop: 186204#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 186233#factENTRY ~n := #in~n; 186368#L25 assume !(~n <= 0); 186331#L26 call #t~ret0 := fact(~n - 1);< 186333#factENTRY ~n := #in~n; 186369#L25 assume !(~n <= 0); 186329#L26 call #t~ret0 := fact(~n - 1);< 186336#factENTRY ~n := #in~n; 186369#L25 assume !(~n <= 0); 186329#L26 call #t~ret0 := fact(~n - 1);< 186336#factENTRY ~n := #in~n; 186369#L25 assume !(~n <= 0); 186329#L26 call #t~ret0 := fact(~n - 1);< 186336#factENTRY ~n := #in~n; 186369#L25 assume !(~n <= 0); 186329#L26 call #t~ret0 := fact(~n - 1);< 186336#factENTRY ~n := #in~n; 186383#L25 assume ~n <= 0;#res := 1; 186382#factFINAL assume true; 186366#factEXIT >#66#return; 186338#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186335#factFINAL assume true; 186327#factEXIT >#66#return; 186332#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186636#factFINAL assume true; 186632#factEXIT >#66#return; 186629#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186627#factFINAL assume true; 186626#factEXIT >#66#return; 186620#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186623#factFINAL assume true; 186619#factEXIT >#66#return; 186616#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186585#factFINAL assume true; 186578#factEXIT >#76#return; 185857#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 185921#factENTRY ~n := #in~n; 186523#L25 assume !(~n <= 0); 185873#L26 call #t~ret0 := fact(~n - 1);< 185872#factENTRY ~n := #in~n; 185874#L25 assume ~n <= 0;#res := 1; 185905#factFINAL assume true; 186931#factEXIT >#66#return; 185903#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 185866#factFINAL assume true; 185856#factEXIT >#78#return; 185860#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; 187173#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 187172#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 187171#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 187170#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 187168#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 187166#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 186926#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; 186183#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 185869#factENTRY ~n := #in~n; 186909#L25 assume !(~n <= 0); 186190#L26 call #t~ret0 := fact(~n - 1);< 186193#factENTRY ~n := #in~n; 186198#L25 assume !(~n <= 0); 186189#L26 call #t~ret0 := fact(~n - 1);< 186197#factENTRY ~n := #in~n; 186198#L25 assume !(~n <= 0); 186189#L26 call #t~ret0 := fact(~n - 1);< 186197#factENTRY ~n := #in~n; 186199#L25 assume ~n <= 0;#res := 1; 186202#factFINAL assume true; 186200#factEXIT >#66#return; 186201#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186902#factFINAL assume true; 186885#factEXIT >#66#return; 186886#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186927#factFINAL assume true; 186924#factEXIT >#66#return; 186922#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186921#factFINAL assume true; 186891#factEXIT >#68#return; 186866#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 185913#factENTRY ~n := #in~n; 186882#L25 assume ~n <= 0;#res := 1; 186874#factFINAL assume true; 186862#factEXIT >#70#return; 186870#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 186881#factENTRY ~n := #in~n; 186933#L25 assume !(~n <= 0); 186897#L26 call #t~ret0 := fact(~n - 1);< 186929#factENTRY ~n := #in~n; 186928#L25 assume !(~n <= 0); 186906#L26 call #t~ret0 := fact(~n - 1);< 186908#factENTRY ~n := #in~n; 186938#L25 assume !(~n <= 0); 186915#L26 call #t~ret0 := fact(~n - 1);< 186918#factENTRY ~n := #in~n; 186925#L25 assume ~n <= 0;#res := 1; 186923#factFINAL assume true; 186914#factEXIT >#66#return; 186913#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186910#factFINAL assume true; 186904#factEXIT >#66#return; 186903#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186900#factFINAL assume true; 186892#factEXIT >#66#return; 186890#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186888#factFINAL assume true; 186876#factEXIT >#72#return; 186872#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; 186860#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 186857#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 186856#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 186855#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; 186738#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 186756#factENTRY ~n := #in~n; 187048#L25 assume !(~n <= 0); 186589#L26 call #t~ret0 := fact(~n - 1);< 186792#factENTRY ~n := #in~n; 187042#L25 assume !(~n <= 0); 186598#L26 call #t~ret0 := fact(~n - 1);< 186663#factENTRY ~n := #in~n; 187054#L25 assume !(~n <= 0); 186661#L26 call #t~ret0 := fact(~n - 1);< 186662#factENTRY ~n := #in~n; 186665#L25 assume ~n <= 0;#res := 1; 186664#factFINAL assume true; 186660#factEXIT >#66#return; 186659#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186657#factFINAL assume true; 186588#factEXIT >#66#return; 186603#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186822#factFINAL assume true; 186786#factEXIT >#66#return; 186785#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186776#factFINAL assume true; 186736#factEXIT >#68#return; 186520#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 186521#factENTRY ~n := #in~n; 186814#L25 assume !(~n <= 0); 186595#L26 call #t~ret0 := fact(~n - 1);< 186802#factENTRY ~n := #in~n; 186832#L25 assume ~n <= 0;#res := 1; 186805#factFINAL assume true; 186797#factEXIT >#66#return; 186800#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186816#factFINAL assume true; 186813#factEXIT >#70#return; 186542#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 186569#factENTRY ~n := #in~n; 187015#L25 assume !(~n <= 0); 186601#L26 call #t~ret0 := fact(~n - 1);< 186606#factENTRY ~n := #in~n; 187054#L25 assume !(~n <= 0); 186661#L26 call #t~ret0 := fact(~n - 1);< 186662#factENTRY ~n := #in~n; 186665#L25 assume ~n <= 0;#res := 1; 186664#factFINAL assume true; 186660#factEXIT >#66#return; 186659#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186657#factFINAL assume true; 186588#factEXIT >#66#return; 186584#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186568#factFINAL assume true; 186530#factEXIT >#72#return; 186562#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; 186843#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 186839#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 186838#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 186836#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; 186742#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 186756#factENTRY ~n := #in~n; 187048#L25 assume !(~n <= 0); 186589#L26 call #t~ret0 := fact(~n - 1);< 186792#factENTRY ~n := #in~n; 187042#L25 assume !(~n <= 0); 186598#L26 call #t~ret0 := fact(~n - 1);< 186663#factENTRY ~n := #in~n; 187054#L25 assume !(~n <= 0); 186661#L26 call #t~ret0 := fact(~n - 1);< 186662#factENTRY ~n := #in~n; 186665#L25 assume ~n <= 0;#res := 1; 186664#factFINAL assume true; 186660#factEXIT >#66#return; 186659#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186657#factFINAL assume true; 186588#factEXIT >#66#return; 186603#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186822#factFINAL assume true; 186786#factEXIT >#66#return; 186785#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186776#factFINAL assume true; 186736#factEXIT >#68#return; 186496#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 186521#factENTRY ~n := #in~n; 186814#L25 assume !(~n <= 0); 186595#L26 call #t~ret0 := fact(~n - 1);< 186802#factENTRY ~n := #in~n; 186832#L25 assume ~n <= 0;#res := 1; 186805#factFINAL assume true; 186797#factEXIT >#66#return; 186800#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186816#factFINAL assume true; 186813#factEXIT >#70#return; 186550#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 186569#factENTRY ~n := #in~n; 187015#L25 assume !(~n <= 0); 186601#L26 call #t~ret0 := fact(~n - 1);< 186606#factENTRY ~n := #in~n; 187054#L25 assume !(~n <= 0); 186661#L26 call #t~ret0 := fact(~n - 1);< 186662#factENTRY ~n := #in~n; 186665#L25 assume ~n <= 0;#res := 1; 186664#factFINAL assume true; 186660#factEXIT >#66#return; 186659#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186657#factFINAL assume true; 186588#factEXIT >#66#return; 186584#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186568#factFINAL assume true; 186530#factEXIT >#72#return; 186469#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; 186765#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 186763#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 186761#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 186759#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; 186446#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 186756#factENTRY ~n := #in~n; 187048#L25 assume !(~n <= 0); 186589#L26 call #t~ret0 := fact(~n - 1);< 186792#factENTRY ~n := #in~n; 187042#L25 assume !(~n <= 0); 186598#L26 call #t~ret0 := fact(~n - 1);< 186663#factENTRY ~n := #in~n; 187054#L25 assume !(~n <= 0); 186661#L26 call #t~ret0 := fact(~n - 1);< 186662#factENTRY ~n := #in~n; 186665#L25 assume ~n <= 0;#res := 1; 186664#factFINAL assume true; 186660#factEXIT >#66#return; 186659#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186657#factFINAL assume true; 186588#factEXIT >#66#return; 186603#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186822#factFINAL assume true; 186786#factEXIT >#66#return; 186785#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186776#factFINAL assume true; 186736#factEXIT >#68#return; 186515#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 186521#factENTRY ~n := #in~n; 186814#L25 assume !(~n <= 0); 186595#L26 call #t~ret0 := fact(~n - 1);< 186802#factENTRY ~n := #in~n; 186833#L25 assume !(~n <= 0); 186600#L26 call #t~ret0 := fact(~n - 1);< 186831#factENTRY ~n := #in~n; 186833#L25 assume !(~n <= 0); 186600#L26 call #t~ret0 := fact(~n - 1);< 186831#factENTRY ~n := #in~n; 186665#L25 assume ~n <= 0;#res := 1; 186664#factFINAL assume true; 186660#factEXIT >#66#return; 186659#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186657#factFINAL assume true; 186588#factEXIT >#66#return; 186603#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186822#factFINAL assume true; 186786#factEXIT >#66#return; 186789#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186943#factFINAL assume true; 186735#factEXIT >#70#return; 186462#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 186477#factENTRY ~n := #in~n; 186526#L25 assume ~n <= 0;#res := 1; 186524#factFINAL assume true; 186451#factEXIT >#72#return; 186474#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; 186781#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 186780#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 186779#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 186445#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; 186205#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 186436#factENTRY ~n := #in~n; 186416#L25 assume !(~n <= 0); 186390#L26 call #t~ret0 := fact(~n - 1);< 186394#factENTRY ~n := #in~n; 186392#L25 assume !(~n <= 0); 186330#L26 call #t~ret0 := fact(~n - 1);< 186370#factENTRY ~n := #in~n; 186369#L25 assume !(~n <= 0); 186329#L26 call #t~ret0 := fact(~n - 1);< 186336#factENTRY ~n := #in~n; 186369#L25 assume !(~n <= 0); 186329#L26 call #t~ret0 := fact(~n - 1);< 186336#factENTRY ~n := #in~n; 186369#L25 assume !(~n <= 0); 186329#L26 call #t~ret0 := fact(~n - 1);< 186336#factENTRY ~n := #in~n; 186383#L25 assume ~n <= 0;#res := 1; 186382#factFINAL assume true; 186366#factEXIT >#66#return; 186338#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186335#factFINAL assume true; 186327#factEXIT >#66#return; 186332#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186636#factFINAL assume true; 186632#factEXIT >#66#return; 186629#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186627#factFINAL assume true; 186626#factEXIT >#66#return; 186620#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186623#factFINAL assume true; 186619#factEXIT >#66#return; 186616#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 186585#factFINAL assume true; 186578#factEXIT >#74#return; 186204#L30-6 [2022-07-22 01:30:28,702 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:28,703 INFO L85 PathProgramCache]: Analyzing trace with hash 785036393, now seen corresponding path program 23 times [2022-07-22 01:30:28,703 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:28,703 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [95724797] [2022-07-22 01:30:28,703 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:28,703 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:28,715 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:28,716 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1029680166] [2022-07-22 01:30:28,716 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-22 01:30:28,716 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:28,716 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:28,721 INFO L229 MonitoredProcess]: Starting monitored process 167 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:28,722 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (167)] Waiting until timeout for monitored process [2022-07-22 01:30:29,022 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 23 check-sat command(s) [2022-07-22 01:30:29,022 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:29,026 INFO L263 TraceCheckSpWp]: Trace formula consists of 856 conjuncts, 21 conjunts are in the unsatisfiable core [2022-07-22 01:30:29,030 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:29,392 INFO L134 CoverageAnalysis]: Checked inductivity of 7440 backedges. 1349 proven. 548 refuted. 0 times theorem prover too weak. 5543 trivial. 0 not checked. [2022-07-22 01:30:29,392 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:30,011 INFO L134 CoverageAnalysis]: Checked inductivity of 7440 backedges. 292 proven. 663 refuted. 0 times theorem prover too weak. 6485 trivial. 0 not checked. [2022-07-22 01:30:30,012 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:30,012 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [95724797] [2022-07-22 01:30:30,012 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:30,012 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1029680166] [2022-07-22 01:30:30,012 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1029680166] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:30,012 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:30,012 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 18] total 26 [2022-07-22 01:30:30,012 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1865901737] [2022-07-22 01:30:30,012 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:30,013 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:30:30,013 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:30,013 INFO L85 PathProgramCache]: Analyzing trace with hash 32640613, now seen corresponding path program 21 times [2022-07-22 01:30:30,013 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:30,013 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [850801325] [2022-07-22 01:30:30,013 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:30,013 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:30,019 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:30,019 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2082257601] [2022-07-22 01:30:30,019 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 01:30:30,019 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:30,020 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:30,024 INFO L229 MonitoredProcess]: Starting monitored process 168 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:30,025 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (168)] Waiting until timeout for monitored process [2022-07-22 01:30:30,146 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 18 check-sat command(s) [2022-07-22 01:30:30,146 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:30,148 INFO L263 TraceCheckSpWp]: Trace formula consists of 252 conjuncts, 29 conjunts are in the unsatisfiable core [2022-07-22 01:30:30,150 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:30,385 INFO L134 CoverageAnalysis]: Checked inductivity of 6155 backedges. 1676 proven. 144 refuted. 0 times theorem prover too weak. 4335 trivial. 0 not checked. [2022-07-22 01:30:30,385 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:31,901 INFO L134 CoverageAnalysis]: Checked inductivity of 6155 backedges. 1676 proven. 172 refuted. 0 times theorem prover too weak. 4307 trivial. 0 not checked. [2022-07-22 01:30:31,901 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:31,901 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [850801325] [2022-07-22 01:30:31,901 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:31,901 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2082257601] [2022-07-22 01:30:31,901 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2082257601] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:31,902 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:31,902 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 24] total 28 [2022-07-22 01:30:31,902 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1425396435] [2022-07-22 01:30:31,902 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:31,902 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:30:31,902 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:30:31,902 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-07-22 01:30:31,903 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=112, Invalid=700, Unknown=0, NotChecked=0, Total=812 [2022-07-22 01:30:31,903 INFO L87 Difference]: Start difference. First operand 1503 states and 2394 transitions. cyclomatic complexity: 916 Second operand has 29 states, 23 states have (on average 2.739130434782609) internal successors, (63), 26 states have internal predecessors, (63), 16 states have call successors, (23), 1 states have call predecessors, (23), 10 states have return successors, (28), 15 states have call predecessors, (28), 16 states have call successors, (28) [2022-07-22 01:30:33,892 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:30:33,892 INFO L93 Difference]: Finished difference Result 2072 states and 3488 transitions. [2022-07-22 01:30:33,893 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-07-22 01:30:33,893 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2072 states and 3488 transitions. [2022-07-22 01:30:33,903 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 298 [2022-07-22 01:30:33,915 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2072 states to 1875 states and 3091 transitions. [2022-07-22 01:30:33,915 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 300 [2022-07-22 01:30:33,916 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 312 [2022-07-22 01:30:33,916 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1875 states and 3091 transitions. [2022-07-22 01:30:33,916 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:30:33,916 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1875 states and 3091 transitions. [2022-07-22 01:30:33,917 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1875 states and 3091 transitions. [2022-07-22 01:30:33,943 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1875 to 1391. [2022-07-22 01:30:33,944 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1391 states, 881 states have (on average 1.0953461975028378) internal successors, (965), 879 states have internal predecessors, (965), 351 states have call successors, (351), 181 states have call predecessors, (351), 159 states have return successors, (827), 330 states have call predecessors, (827), 351 states have call successors, (827) [2022-07-22 01:30:33,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1391 states to 1391 states and 2143 transitions. [2022-07-22 01:30:33,949 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1391 states and 2143 transitions. [2022-07-22 01:30:33,949 INFO L374 stractBuchiCegarLoop]: Abstraction has 1391 states and 2143 transitions. [2022-07-22 01:30:33,949 INFO L287 stractBuchiCegarLoop]: ======== Iteration 37 ============ [2022-07-22 01:30:33,949 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1391 states and 2143 transitions. [2022-07-22 01:30:33,953 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 182 [2022-07-22 01:30:33,953 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:30:33,953 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:30:33,955 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [57, 57, 29, 29, 29, 29, 28, 10, 9, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1] [2022-07-22 01:30:33,955 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [48, 48, 33, 33, 33, 33, 15, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:30:33,955 INFO L752 eck$LassoCheckResult]: Stem: 193700#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 193675#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; 193676#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 193699#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; 193688#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 193689#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 194833#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; 193665#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 193666#factENTRY ~n := #in~n; 194891#L25 assume ~n <= 0;#res := 1; 194890#factFINAL assume true; 194889#factEXIT >#68#return; 193717#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 193718#factENTRY ~n := #in~n; 194827#L25 assume ~n <= 0;#res := 1; 194825#factFINAL assume true; 194822#factEXIT >#70#return; 193654#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 193655#factENTRY ~n := #in~n; 194870#L25 assume ~n <= 0;#res := 1; 194864#factFINAL assume true; 194862#factEXIT >#72#return; 194859#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; 194860#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 194873#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 194871#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 194865#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; 194840#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 194841#factENTRY ~n := #in~n; 194869#L25 assume !(~n <= 0); 194867#L26 call #t~ret0 := fact(~n - 1);< 194868#factENTRY ~n := #in~n; 194874#L25 assume ~n <= 0;#res := 1; 194872#factFINAL assume true; 194866#factEXIT >#66#return; 194844#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194843#factFINAL assume true; 194839#factEXIT >#74#return; 193720#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 193721#factENTRY ~n := #in~n; 194937#L25 assume ~n <= 0;#res := 1; 194934#factFINAL assume true; 194932#factEXIT >#76#return; 194040#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 194936#factENTRY ~n := #in~n; 194945#L25 assume !(~n <= 0); 194941#L26 call #t~ret0 := fact(~n - 1);< 194943#factENTRY ~n := #in~n; 194946#L25 assume ~n <= 0;#res := 1; 194944#factFINAL assume true; 194939#factEXIT >#66#return; 194938#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194935#factFINAL assume true; 194039#factEXIT >#78#return; 194041#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; 195013#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 195011#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 195009#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 195008#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; 193995#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 193997#factENTRY ~n := #in~n; 194080#L25 assume !(~n <= 0); 194048#L26 call #t~ret0 := fact(~n - 1);< 194068#factENTRY ~n := #in~n; 194075#L25 assume !(~n <= 0); 194046#L26 call #t~ret0 := fact(~n - 1);< 194073#factENTRY ~n := #in~n; 194076#L25 assume ~n <= 0;#res := 1; 194074#factFINAL assume true; 194072#factEXIT >#66#return; 194071#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194069#factFINAL assume true; 194066#factEXIT >#66#return; 194065#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194063#factFINAL assume true; 194062#factEXIT >#74#return; 193974#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 193998#factENTRY ~n := #in~n; 194083#L25 assume ~n <= 0;#res := 1; 194081#factFINAL assume true; 194082#factEXIT >#76#return; 193976#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 194064#factENTRY ~n := #in~n; 194078#L25 assume !(~n <= 0); 194047#L26 call #t~ret0 := fact(~n - 1);< 194070#factENTRY ~n := #in~n; 194075#L25 assume !(~n <= 0); 194046#L26 call #t~ret0 := fact(~n - 1);< 194073#factENTRY ~n := #in~n; 194076#L25 assume ~n <= 0;#res := 1; 194074#factFINAL assume true; 194072#factEXIT >#66#return; 194071#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194069#factFINAL assume true; 194066#factEXIT >#66#return; 194065#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194063#factFINAL assume true; 194062#factEXIT >#78#return; 193966#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; 193961#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 193960#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 193959#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 193928#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 193903#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 193897#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 193889#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; 193885#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 193886#factENTRY ~n := #in~n; 193894#L25 assume !(~n <= 0); 193891#L26 call #t~ret0 := fact(~n - 1);< 193892#factENTRY ~n := #in~n; 193895#L25 assume ~n <= 0;#res := 1; 193893#factFINAL assume true; 193890#factEXIT >#66#return; 193888#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 193887#factFINAL assume true; 193884#factEXIT >#68#return; 193879#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 193880#factENTRY ~n := #in~n; 193883#L25 assume ~n <= 0;#res := 1; 193882#factFINAL assume true; 193878#factEXIT >#70#return; 193874#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 193875#factENTRY ~n := #in~n; 193965#L25 assume !(~n <= 0); 193963#L26 call #t~ret0 := fact(~n - 1);< 193964#factENTRY ~n := #in~n; 193971#L25 assume ~n <= 0;#res := 1; 193967#factFINAL assume true; 193962#factEXIT >#66#return; 193948#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 193929#factFINAL assume true; 193873#factEXIT >#72#return; 193872#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; 193871#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 193869#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 193861#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 193853#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; 193849#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 193850#factENTRY ~n := #in~n; 193870#L25 assume !(~n <= 0); 193867#L26 call #t~ret0 := fact(~n - 1);< 193868#factENTRY ~n := #in~n; 193881#L25 assume ~n <= 0;#res := 1; 193877#factFINAL assume true; 193866#factEXIT >#66#return; 193860#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 193852#factFINAL assume true; 193848#factEXIT >#68#return; 193843#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 193844#factENTRY ~n := #in~n; 193865#L25 assume !(~n <= 0); 193857#L26 call #t~ret0 := fact(~n - 1);< 193859#factENTRY ~n := #in~n; 193876#L25 assume ~n <= 0;#res := 1; 193862#factFINAL assume true; 193854#factEXIT >#66#return; 193851#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 193847#factFINAL assume true; 193842#factEXIT >#70#return; 193836#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 193837#factENTRY ~n := #in~n; 193846#L25 assume ~n <= 0;#res := 1; 193841#factFINAL assume true; 193835#factEXIT >#72#return; 193832#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; 193830#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 193827#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 193822#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 193819#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; 193815#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 193817#factENTRY ~n := #in~n; 193829#L25 assume !(~n <= 0); 193825#L26 call #t~ret0 := fact(~n - 1);< 193826#factENTRY ~n := #in~n; 193840#L25 assume !(~n <= 0); 193824#L26 call #t~ret0 := fact(~n - 1);< 193834#factENTRY ~n := #in~n; 193839#L25 assume ~n <= 0;#res := 1; 193838#factFINAL assume true; 193833#factEXIT >#66#return; 193831#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 193828#factFINAL assume true; 193823#factEXIT >#66#return; 193821#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 193818#factFINAL assume true; 193814#factEXIT >#74#return; 193731#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 193905#factENTRY ~n := #in~n; 193958#L25 assume !(~n <= 0); 193926#L26 call #t~ret0 := fact(~n - 1);< 193954#factENTRY ~n := #in~n; 193845#L25 assume ~n <= 0;#res := 1; 193927#factFINAL assume true; 193953#factEXIT >#66#return; 193952#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 193950#factFINAL assume true; 193730#factEXIT >#76#return; 193732#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 193905#factENTRY ~n := #in~n; 193958#L25 assume !(~n <= 0); 193926#L26 call #t~ret0 := fact(~n - 1);< 193954#factENTRY ~n := #in~n; 193845#L25 assume ~n <= 0;#res := 1; 193927#factFINAL assume true; 193953#factEXIT >#66#return; 193952#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 193950#factFINAL assume true; 193730#factEXIT >#78#return; 193729#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; 193728#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 193727#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 193726#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 193695#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 193690#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 193691#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 194357#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; 193737#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 194353#factENTRY ~n := #in~n; 193747#L25 assume !(~n <= 0); 193743#L26 call #t~ret0 := fact(~n - 1);< 193746#factENTRY ~n := #in~n; 193751#L25 assume !(~n <= 0); 193742#L26 call #t~ret0 := fact(~n - 1);< 193750#factENTRY ~n := #in~n; 193752#L25 assume ~n <= 0;#res := 1; 193755#factFINAL assume true; 193753#factEXIT >#66#return; 193754#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194360#factFINAL assume true; 194358#factEXIT >#66#return; 194356#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194355#factFINAL assume true; 194352#factEXIT >#68#return; 194344#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 193716#factENTRY ~n := #in~n; 194354#L25 assume ~n <= 0;#res := 1; 194351#factFINAL assume true; 194343#factEXIT >#70#return; 194341#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 194342#factENTRY ~n := #in~n; 194379#L25 assume !(~n <= 0); 194368#L26 call #t~ret0 := fact(~n - 1);< 194398#factENTRY ~n := #in~n; 194401#L25 assume !(~n <= 0); 194381#L26 call #t~ret0 := fact(~n - 1);< 194394#factENTRY ~n := #in~n; 194400#L25 assume ~n <= 0;#res := 1; 194399#factFINAL assume true; 194391#factEXIT >#66#return; 194388#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194380#factFINAL assume true; 194383#factEXIT >#66#return; 194390#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194494#factFINAL assume true; 194340#factEXIT >#72#return; 194339#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; 194338#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 194337#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 194336#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 194335#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; 194255#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 194262#factENTRY ~n := #in~n; 194420#L25 assume !(~n <= 0); 194279#L26 call #t~ret0 := fact(~n - 1);< 194283#factENTRY ~n := #in~n; 194417#L25 assume !(~n <= 0); 194268#L26 call #t~ret0 := fact(~n - 1);< 194412#factENTRY ~n := #in~n; 194294#L25 assume ~n <= 0;#res := 1; 194293#factFINAL assume true; 194289#factEXIT >#66#return; 194288#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194284#factFINAL assume true; 194267#factEXIT >#66#return; 194266#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194263#factFINAL assume true; 194241#factEXIT >#68#return; 194233#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 194239#factENTRY ~n := #in~n; 194331#L25 assume !(~n <= 0); 194273#L26 call #t~ret0 := fact(~n - 1);< 194321#factENTRY ~n := #in~n; 194330#L25 assume ~n <= 0;#res := 1; 194322#factFINAL assume true; 194315#factEXIT >#66#return; 194318#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194333#factFINAL assume true; 194332#factEXIT >#70#return; 194307#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 194312#factENTRY ~n := #in~n; 194328#L25 assume !(~n <= 0); 194317#L26 call #t~ret0 := fact(~n - 1);< 194320#factENTRY ~n := #in~n; 194330#L25 assume ~n <= 0;#res := 1; 194322#factFINAL assume true; 194315#factEXIT >#66#return; 194314#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194313#factFINAL assume true; 194306#factEXIT >#72#return; 194311#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; 194302#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 194303#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 194297#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 194298#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; 194250#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 194262#factENTRY ~n := #in~n; 194420#L25 assume !(~n <= 0); 194279#L26 call #t~ret0 := fact(~n - 1);< 194283#factENTRY ~n := #in~n; 194417#L25 assume !(~n <= 0); 194268#L26 call #t~ret0 := fact(~n - 1);< 194412#factENTRY ~n := #in~n; 194294#L25 assume ~n <= 0;#res := 1; 194293#factFINAL assume true; 194289#factEXIT >#66#return; 194288#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194284#factFINAL assume true; 194267#factEXIT >#66#return; 194266#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194263#factFINAL assume true; 194241#factEXIT >#68#return; 194220#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 194239#factENTRY ~n := #in~n; 194331#L25 assume !(~n <= 0); 194273#L26 call #t~ret0 := fact(~n - 1);< 194321#factENTRY ~n := #in~n; 194414#L25 assume !(~n <= 0); 194277#L26 call #t~ret0 := fact(~n - 1);< 194291#factENTRY ~n := #in~n; 194294#L25 assume ~n <= 0;#res := 1; 194293#factFINAL assume true; 194289#factEXIT >#66#return; 194288#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194284#factFINAL assume true; 194267#factEXIT >#66#return; 194281#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194497#factFINAL assume true; 194218#factEXIT >#70#return; 194200#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 194212#factENTRY ~n := #in~n; 194240#L25 assume ~n <= 0;#res := 1; 194213#factFINAL assume true; 194195#factEXIT >#72#return; 194192#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; 194191#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 194182#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 194181#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 194178#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; 193634#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 193635#factENTRY ~n := #in~n; 194162#L25 assume !(~n <= 0); 194128#L26 call #t~ret0 := fact(~n - 1);< 194142#factENTRY ~n := #in~n; 194140#L25 assume !(~n <= 0); 194127#L26 call #t~ret0 := fact(~n - 1);< 194172#factENTRY ~n := #in~n; 194140#L25 assume !(~n <= 0); 194127#L26 call #t~ret0 := fact(~n - 1);< 194172#factENTRY ~n := #in~n; 194188#L25 assume ~n <= 0;#res := 1; 194186#factFINAL assume true; 194183#factEXIT >#66#return; 194175#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194174#factFINAL assume true; 194170#factEXIT >#66#return; 194143#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194134#factFINAL assume true; 194135#factEXIT >#66#return; 194158#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194113#factFINAL assume true; 194114#factEXIT >#74#return; 193705#L30-6 [2022-07-22 01:30:33,956 INFO L754 eck$LassoCheckResult]: Loop: 193705#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 194145#factENTRY ~n := #in~n; 194144#L25 assume !(~n <= 0); 194132#L26 call #t~ret0 := fact(~n - 1);< 194133#factENTRY ~n := #in~n; 194177#L25 assume !(~n <= 0); 194171#L26 call #t~ret0 := fact(~n - 1);< 194173#factENTRY ~n := #in~n; 194187#L25 assume !(~n <= 0); 194184#L26 call #t~ret0 := fact(~n - 1);< 194185#factENTRY ~n := #in~n; 194188#L25 assume ~n <= 0;#res := 1; 194186#factFINAL assume true; 194183#factEXIT >#66#return; 194175#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194174#factFINAL assume true; 194170#factEXIT >#66#return; 194143#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194134#factFINAL assume true; 194135#factEXIT >#66#return; 194158#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194113#factFINAL assume true; 194114#factEXIT >#76#return; 193722#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 193723#factENTRY ~n := #in~n; 194647#L25 assume !(~n <= 0); 193709#L26 call #t~ret0 := fact(~n - 1);< 194885#factENTRY ~n := #in~n; 193708#L25 assume ~n <= 0;#res := 1; 193710#factFINAL assume true; 194115#factEXIT >#66#return; 194109#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194110#factFINAL assume true; 194095#factEXIT >#78#return; 193677#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; 193678#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 193685#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 193712#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 193693#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 193694#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 194386#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 194375#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; 193736#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 193664#factENTRY ~n := #in~n; 193748#L25 assume !(~n <= 0); 193744#L26 call #t~ret0 := fact(~n - 1);< 193746#factENTRY ~n := #in~n; 193751#L25 assume !(~n <= 0); 193742#L26 call #t~ret0 := fact(~n - 1);< 193750#factENTRY ~n := #in~n; 193751#L25 assume !(~n <= 0); 193742#L26 call #t~ret0 := fact(~n - 1);< 193750#factENTRY ~n := #in~n; 193752#L25 assume ~n <= 0;#res := 1; 193755#factFINAL assume true; 193753#factEXIT >#66#return; 193754#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194360#factFINAL assume true; 194358#factEXIT >#66#return; 194359#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194378#factFINAL assume true; 194377#factEXIT >#66#return; 194376#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194374#factFINAL assume true; 194373#factEXIT >#68#return; 194346#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 193716#factENTRY ~n := #in~n; 194354#L25 assume ~n <= 0;#res := 1; 194351#factFINAL assume true; 194343#factEXIT >#70#return; 194350#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 194364#factENTRY ~n := #in~n; 194387#L25 assume !(~n <= 0); 194369#L26 call #t~ret0 := fact(~n - 1);< 194372#factENTRY ~n := #in~n; 194402#L25 assume !(~n <= 0); 194382#L26 call #t~ret0 := fact(~n - 1);< 194393#factENTRY ~n := #in~n; 194403#L25 assume !(~n <= 0); 194392#L26 call #t~ret0 := fact(~n - 1);< 194395#factENTRY ~n := #in~n; 194400#L25 assume ~n <= 0;#res := 1; 194399#factFINAL assume true; 194391#factEXIT >#66#return; 194388#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194380#factFINAL assume true; 194383#factEXIT >#66#return; 194389#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194396#factFINAL assume true; 194366#factEXIT >#66#return; 194365#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194362#factFINAL assume true; 194363#factEXIT >#72#return; 194490#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; 194489#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 194488#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 194487#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 194473#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; 194437#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 194441#factENTRY ~n := #in~n; 194440#L25 assume !(~n <= 0); 194275#L26 call #t~ret0 := fact(~n - 1);< 194283#factENTRY ~n := #in~n; 194417#L25 assume !(~n <= 0); 194268#L26 call #t~ret0 := fact(~n - 1);< 194412#factENTRY ~n := #in~n; 194296#L25 assume !(~n <= 0); 194290#L26 call #t~ret0 := fact(~n - 1);< 194292#factENTRY ~n := #in~n; 194294#L25 assume ~n <= 0;#res := 1; 194293#factFINAL assume true; 194289#factEXIT >#66#return; 194288#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194284#factFINAL assume true; 194267#factEXIT >#66#return; 194280#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194464#factFINAL assume true; 194457#factEXIT >#66#return; 194460#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194478#factFINAL assume true; 194477#factEXIT >#68#return; 194221#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 194239#factENTRY ~n := #in~n; 194331#L25 assume !(~n <= 0); 194273#L26 call #t~ret0 := fact(~n - 1);< 194321#factENTRY ~n := #in~n; 194330#L25 assume ~n <= 0;#res := 1; 194322#factFINAL assume true; 194315#factEXIT >#66#return; 194318#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194333#factFINAL assume true; 194332#factEXIT >#70#return; 194256#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 194415#factENTRY ~n := #in~n; 194413#L25 assume !(~n <= 0); 194278#L26 call #t~ret0 := fact(~n - 1);< 194299#factENTRY ~n := #in~n; 194296#L25 assume !(~n <= 0); 194290#L26 call #t~ret0 := fact(~n - 1);< 194292#factENTRY ~n := #in~n; 194294#L25 assume ~n <= 0;#res := 1; 194293#factFINAL assume true; 194289#factEXIT >#66#return; 194288#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194284#factFINAL assume true; 194267#factEXIT >#66#return; 194266#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194263#factFINAL assume true; 194241#factEXIT >#72#return; 194260#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; 194486#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 194485#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 194484#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 194483#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; 194438#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 194441#factENTRY ~n := #in~n; 194440#L25 assume !(~n <= 0); 194275#L26 call #t~ret0 := fact(~n - 1);< 194283#factENTRY ~n := #in~n; 194417#L25 assume !(~n <= 0); 194268#L26 call #t~ret0 := fact(~n - 1);< 194412#factENTRY ~n := #in~n; 194296#L25 assume !(~n <= 0); 194290#L26 call #t~ret0 := fact(~n - 1);< 194292#factENTRY ~n := #in~n; 194294#L25 assume ~n <= 0;#res := 1; 194293#factFINAL assume true; 194289#factEXIT >#66#return; 194288#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194284#factFINAL assume true; 194267#factEXIT >#66#return; 194280#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194464#factFINAL assume true; 194457#factEXIT >#66#return; 194460#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194478#factFINAL assume true; 194477#factEXIT >#68#return; 194226#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 194239#factENTRY ~n := #in~n; 194331#L25 assume !(~n <= 0); 194273#L26 call #t~ret0 := fact(~n - 1);< 194321#factENTRY ~n := #in~n; 194330#L25 assume ~n <= 0;#res := 1; 194322#factFINAL assume true; 194315#factEXIT >#66#return; 194318#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194333#factFINAL assume true; 194332#factEXIT >#70#return; 194246#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 194415#factENTRY ~n := #in~n; 194413#L25 assume !(~n <= 0); 194278#L26 call #t~ret0 := fact(~n - 1);< 194299#factENTRY ~n := #in~n; 194296#L25 assume !(~n <= 0); 194290#L26 call #t~ret0 := fact(~n - 1);< 194292#factENTRY ~n := #in~n; 194294#L25 assume ~n <= 0;#res := 1; 194293#factFINAL assume true; 194289#factEXIT >#66#return; 194288#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194284#factFINAL assume true; 194267#factEXIT >#66#return; 194266#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194263#factFINAL assume true; 194241#factEXIT >#72#return; 194209#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; 194482#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 194481#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 194480#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 194479#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; 194439#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 194441#factENTRY ~n := #in~n; 194440#L25 assume !(~n <= 0); 194275#L26 call #t~ret0 := fact(~n - 1);< 194283#factENTRY ~n := #in~n; 194417#L25 assume !(~n <= 0); 194268#L26 call #t~ret0 := fact(~n - 1);< 194412#factENTRY ~n := #in~n; 194296#L25 assume !(~n <= 0); 194290#L26 call #t~ret0 := fact(~n - 1);< 194292#factENTRY ~n := #in~n; 194294#L25 assume ~n <= 0;#res := 1; 194293#factFINAL assume true; 194289#factEXIT >#66#return; 194288#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194284#factFINAL assume true; 194267#factEXIT >#66#return; 194280#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194464#factFINAL assume true; 194457#factEXIT >#66#return; 194460#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194478#factFINAL assume true; 194477#factEXIT >#68#return; 194227#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 194239#factENTRY ~n := #in~n; 194331#L25 assume !(~n <= 0); 194273#L26 call #t~ret0 := fact(~n - 1);< 194321#factENTRY ~n := #in~n; 194414#L25 assume !(~n <= 0); 194277#L26 call #t~ret0 := fact(~n - 1);< 194291#factENTRY ~n := #in~n; 194414#L25 assume !(~n <= 0); 194277#L26 call #t~ret0 := fact(~n - 1);< 194291#factENTRY ~n := #in~n; 194414#L25 assume !(~n <= 0); 194277#L26 call #t~ret0 := fact(~n - 1);< 194291#factENTRY ~n := #in~n; 194294#L25 assume ~n <= 0;#res := 1; 194293#factFINAL assume true; 194289#factEXIT >#66#return; 194288#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194284#factFINAL assume true; 194267#factEXIT >#66#return; 194280#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194464#factFINAL assume true; 194457#factEXIT >#66#return; 194456#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194452#factFINAL assume true; 194450#factEXIT >#66#return; 194432#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194510#factFINAL assume true; 194511#factEXIT >#70#return; 194203#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 194212#factENTRY ~n := #in~n; 194240#L25 assume ~n <= 0;#res := 1; 194213#factFINAL assume true; 194195#factEXIT >#72#return; 194210#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; 194475#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 194474#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 194168#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 194169#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; 194112#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 194167#factENTRY ~n := #in~n; 194161#L25 assume !(~n <= 0); 194129#L26 call #t~ret0 := fact(~n - 1);< 194159#factENTRY ~n := #in~n; 194176#L25 assume !(~n <= 0); 194125#L26 call #t~ret0 := fact(~n - 1);< 194139#factENTRY ~n := #in~n; 194140#L25 assume !(~n <= 0); 194127#L26 call #t~ret0 := fact(~n - 1);< 194172#factENTRY ~n := #in~n; 194140#L25 assume !(~n <= 0); 194127#L26 call #t~ret0 := fact(~n - 1);< 194172#factENTRY ~n := #in~n; 194188#L25 assume ~n <= 0;#res := 1; 194186#factFINAL assume true; 194183#factEXIT >#66#return; 194175#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194174#factFINAL assume true; 194170#factEXIT >#66#return; 194143#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194134#factFINAL assume true; 194135#factEXIT >#66#return; 194157#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194163#factFINAL assume true; 194124#factEXIT >#66#return; 194122#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 194123#factFINAL assume true; 194111#factEXIT >#74#return; 193705#L30-6 [2022-07-22 01:30:33,956 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:33,956 INFO L85 PathProgramCache]: Analyzing trace with hash 785036393, now seen corresponding path program 24 times [2022-07-22 01:30:33,957 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:33,957 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [165927056] [2022-07-22 01:30:33,957 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:33,957 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:33,966 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:33,967 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [695834146] [2022-07-22 01:30:33,967 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-22 01:30:33,967 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:33,967 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:33,973 INFO L229 MonitoredProcess]: Starting monitored process 169 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:33,974 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (169)] Waiting until timeout for monitored process [2022-07-22 01:30:34,160 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 9 check-sat command(s) [2022-07-22 01:30:34,160 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:34,162 INFO L263 TraceCheckSpWp]: Trace formula consists of 375 conjuncts, 7 conjunts are in the unsatisfiable core [2022-07-22 01:30:34,165 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:34,355 INFO L134 CoverageAnalysis]: Checked inductivity of 7440 backedges. 1142 proven. 37 refuted. 0 times theorem prover too weak. 6261 trivial. 0 not checked. [2022-07-22 01:30:34,355 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:34,657 INFO L134 CoverageAnalysis]: Checked inductivity of 7440 backedges. 138 proven. 37 refuted. 0 times theorem prover too weak. 7265 trivial. 0 not checked. [2022-07-22 01:30:34,657 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:34,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [165927056] [2022-07-22 01:30:34,657 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:34,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [695834146] [2022-07-22 01:30:34,657 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [695834146] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:34,657 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:34,658 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 7 [2022-07-22 01:30:34,658 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [625082687] [2022-07-22 01:30:34,658 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:34,658 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:30:34,658 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:34,658 INFO L85 PathProgramCache]: Analyzing trace with hash 1494712421, now seen corresponding path program 22 times [2022-07-22 01:30:34,659 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:34,659 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [86229858] [2022-07-22 01:30:34,659 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:34,659 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:34,664 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:34,665 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [90902873] [2022-07-22 01:30:34,665 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-22 01:30:34,665 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:34,665 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:34,669 INFO L229 MonitoredProcess]: Starting monitored process 170 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:34,669 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (170)] Waiting until timeout for monitored process [2022-07-22 01:30:34,820 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-22 01:30:34,820 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:34,821 INFO L263 TraceCheckSpWp]: Trace formula consists of 659 conjuncts, 10 conjunts are in the unsatisfiable core [2022-07-22 01:30:34,823 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:34,886 INFO L134 CoverageAnalysis]: Checked inductivity of 5633 backedges. 2941 proven. 6 refuted. 0 times theorem prover too weak. 2686 trivial. 0 not checked. [2022-07-22 01:30:34,886 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:35,236 INFO L134 CoverageAnalysis]: Checked inductivity of 5633 backedges. 261 proven. 141 refuted. 0 times theorem prover too weak. 5231 trivial. 0 not checked. [2022-07-22 01:30:35,237 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:35,237 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [86229858] [2022-07-22 01:30:35,237 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:35,237 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [90902873] [2022-07-22 01:30:35,237 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [90902873] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:35,237 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:35,237 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 11 [2022-07-22 01:30:35,237 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1448513217] [2022-07-22 01:30:35,237 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:35,238 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:30:35,238 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:30:35,238 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-07-22 01:30:35,238 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2022-07-22 01:30:35,238 INFO L87 Difference]: Start difference. First operand 1391 states and 2143 transitions. cyclomatic complexity: 774 Second operand has 11 states, 10 states have (on average 4.4) internal successors, (44), 11 states have internal predecessors, (44), 7 states have call successors, (22), 2 states have call predecessors, (22), 4 states have return successors, (22), 6 states have call predecessors, (22), 7 states have call successors, (22) [2022-07-22 01:30:35,455 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:30:35,455 INFO L93 Difference]: Finished difference Result 1393 states and 2115 transitions. [2022-07-22 01:30:35,456 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-07-22 01:30:35,456 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1393 states and 2115 transitions. [2022-07-22 01:30:35,461 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 172 [2022-07-22 01:30:35,466 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1393 states to 1372 states and 2086 transitions. [2022-07-22 01:30:35,466 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 235 [2022-07-22 01:30:35,466 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 235 [2022-07-22 01:30:35,467 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1372 states and 2086 transitions. [2022-07-22 01:30:35,467 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:30:35,467 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1372 states and 2086 transitions. [2022-07-22 01:30:35,467 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1372 states and 2086 transitions. [2022-07-22 01:30:35,480 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1372 to 1361. [2022-07-22 01:30:35,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1361 states, 866 states have (on average 1.0958429561200924) internal successors, (949), 864 states have internal predecessors, (949), 337 states have call successors, (337), 179 states have call predecessors, (337), 158 states have return successors, (788), 317 states have call predecessors, (788), 337 states have call successors, (788) [2022-07-22 01:30:35,487 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1361 states to 1361 states and 2074 transitions. [2022-07-22 01:30:35,487 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1361 states and 2074 transitions. [2022-07-22 01:30:35,487 INFO L374 stractBuchiCegarLoop]: Abstraction has 1361 states and 2074 transitions. [2022-07-22 01:30:35,488 INFO L287 stractBuchiCegarLoop]: ======== Iteration 38 ============ [2022-07-22 01:30:35,488 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1361 states and 2074 transitions. [2022-07-22 01:30:35,491 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 172 [2022-07-22 01:30:35,492 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:30:35,492 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:30:35,493 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [57, 57, 29, 29, 29, 29, 28, 10, 9, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1] [2022-07-22 01:30:35,493 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [45, 45, 30, 30, 30, 30, 15, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:30:35,494 INFO L752 eck$LassoCheckResult]: Stem: 200535#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 200506#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; 200507#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 200534#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; 200522#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 200523#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 201594#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; 200494#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 200495#factENTRY ~n := #in~n; 201604#L25 assume ~n <= 0;#res := 1; 201602#factFINAL assume true; 201601#factEXIT >#68#return; 200558#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 200559#factENTRY ~n := #in~n; 201629#L25 assume ~n <= 0;#res := 1; 201628#factFINAL assume true; 201600#factEXIT >#70#return; 200490#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 200491#factENTRY ~n := #in~n; 201690#L25 assume ~n <= 0;#res := 1; 201689#factFINAL assume true; 201688#factEXIT >#72#return; 200529#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; 200527#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 200528#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 200549#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 200550#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; 200475#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 200476#factENTRY ~n := #in~n; 201713#L25 assume !(~n <= 0); 201707#L26 call #t~ret0 := fact(~n - 1);< 201717#factENTRY ~n := #in~n; 201714#L25 assume ~n <= 0;#res := 1; 201715#factFINAL assume true; 201706#factEXIT >#66#return; 201705#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201703#factFINAL assume true; 201704#factEXIT >#74#return; 200562#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 200563#factENTRY ~n := #in~n; 201736#L25 assume ~n <= 0;#res := 1; 201733#factFINAL assume true; 201732#factEXIT >#76#return; 200839#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 201735#factENTRY ~n := #in~n; 201745#L25 assume !(~n <= 0); 201739#L26 call #t~ret0 := fact(~n - 1);< 201742#factENTRY ~n := #in~n; 201746#L25 assume ~n <= 0;#res := 1; 201743#factFINAL assume true; 201738#factEXIT >#66#return; 201737#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201734#factFINAL assume true; 200838#factEXIT >#78#return; 200837#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; 200830#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 200831#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 201796#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 201792#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; 200589#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 200616#factENTRY ~n := #in~n; 200608#L25 assume !(~n <= 0); 200609#L26 call #t~ret0 := fact(~n - 1);< 200621#factENTRY ~n := #in~n; 200638#L25 assume !(~n <= 0); 200627#L26 call #t~ret0 := fact(~n - 1);< 200636#factENTRY ~n := #in~n; 200640#L25 assume ~n <= 0;#res := 1; 200637#factFINAL assume true; 200635#factEXIT >#66#return; 200634#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 200631#factFINAL assume true; 200625#factEXIT >#66#return; 200624#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 200623#factFINAL assume true; 200585#factEXIT >#74#return; 200591#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 200604#factENTRY ~n := #in~n; 200618#L25 assume ~n <= 0;#res := 1; 200605#factFINAL assume true; 200600#factEXIT >#76#return; 200586#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 200620#factENTRY ~n := #in~n; 200633#L25 assume !(~n <= 0); 200628#L26 call #t~ret0 := fact(~n - 1);< 200630#factENTRY ~n := #in~n; 200638#L25 assume !(~n <= 0); 200627#L26 call #t~ret0 := fact(~n - 1);< 200636#factENTRY ~n := #in~n; 200640#L25 assume ~n <= 0;#res := 1; 200637#factFINAL assume true; 200635#factEXIT >#66#return; 200634#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 200631#factFINAL assume true; 200625#factEXIT >#66#return; 200624#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 200623#factFINAL assume true; 200585#factEXIT >#78#return; 200590#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; 200599#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 200598#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 200597#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 200596#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 200595#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 200547#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 200548#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; 200752#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 200753#factENTRY ~n := #in~n; 200761#L25 assume !(~n <= 0); 200758#L26 call #t~ret0 := fact(~n - 1);< 200759#factENTRY ~n := #in~n; 200762#L25 assume ~n <= 0;#res := 1; 200760#factFINAL assume true; 200757#factEXIT >#66#return; 200756#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 200755#factFINAL assume true; 200751#factEXIT >#68#return; 200747#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 200748#factENTRY ~n := #in~n; 200754#L25 assume ~n <= 0;#res := 1; 200750#factFINAL assume true; 200746#factEXIT >#70#return; 200728#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 200729#factENTRY ~n := #in~n; 200791#L25 assume !(~n <= 0); 200789#L26 call #t~ret0 := fact(~n - 1);< 200790#factENTRY ~n := #in~n; 200800#L25 assume ~n <= 0;#res := 1; 200796#factFINAL assume true; 200788#factEXIT >#66#return; 200787#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 200786#factFINAL assume true; 200727#factEXIT >#72#return; 200719#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; 200717#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 200715#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 200711#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 200707#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; 200698#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 200699#factENTRY ~n := #in~n; 200731#L25 assume !(~n <= 0); 200721#L26 call #t~ret0 := fact(~n - 1);< 200722#factENTRY ~n := #in~n; 200749#L25 assume ~n <= 0;#res := 1; 200730#factFINAL assume true; 200720#factEXIT >#66#return; 200718#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 200706#factFINAL assume true; 200697#factEXIT >#68#return; 200688#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 200689#factENTRY ~n := #in~n; 200712#L25 assume !(~n <= 0); 200703#L26 call #t~ret0 := fact(~n - 1);< 200705#factENTRY ~n := #in~n; 200713#L25 assume ~n <= 0;#res := 1; 200708#factFINAL assume true; 200700#factEXIT >#66#return; 200696#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 200694#factFINAL assume true; 200687#factEXIT >#70#return; 200684#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 200685#factENTRY ~n := #in~n; 200695#L25 assume ~n <= 0;#res := 1; 200693#factFINAL assume true; 200683#factEXIT >#72#return; 200680#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; 200678#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 200675#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 200670#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 200667#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; 200662#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 200663#factENTRY ~n := #in~n; 200677#L25 assume !(~n <= 0); 200672#L26 call #t~ret0 := fact(~n - 1);< 200674#factENTRY ~n := #in~n; 200691#L25 assume !(~n <= 0); 200673#L26 call #t~ret0 := fact(~n - 1);< 200682#factENTRY ~n := #in~n; 200690#L25 assume ~n <= 0;#res := 1; 200686#factFINAL assume true; 200681#factEXIT >#66#return; 200679#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 200676#factFINAL assume true; 200671#factEXIT >#66#return; 200669#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 200666#factFINAL assume true; 200661#factEXIT >#74#return; 200657#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 200659#factENTRY ~n := #in~n; 200780#L25 assume !(~n <= 0); 200773#L26 call #t~ret0 := fact(~n - 1);< 200774#factENTRY ~n := #in~n; 200692#L25 assume ~n <= 0;#res := 1; 200775#factFINAL assume true; 200772#factEXIT >#66#return; 200771#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 200769#factFINAL assume true; 200655#factEXIT >#76#return; 200656#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 200659#factENTRY ~n := #in~n; 200780#L25 assume !(~n <= 0); 200773#L26 call #t~ret0 := fact(~n - 1);< 200774#factENTRY ~n := #in~n; 200692#L25 assume ~n <= 0;#res := 1; 200775#factFINAL assume true; 200772#factEXIT >#66#return; 200771#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 200769#factFINAL assume true; 200655#factEXIT >#78#return; 200571#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; 200570#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 200569#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 200568#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 200533#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 200524#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 200525#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 201237#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; 200833#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 201236#factENTRY ~n := #in~n; 200876#L25 assume !(~n <= 0); 200871#L26 call #t~ret0 := fact(~n - 1);< 200875#factENTRY ~n := #in~n; 200880#L25 assume !(~n <= 0); 200872#L26 call #t~ret0 := fact(~n - 1);< 200879#factENTRY ~n := #in~n; 200881#L25 assume ~n <= 0;#res := 1; 200885#factFINAL assume true; 200884#factEXIT >#66#return; 200882#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 200883#factFINAL assume true; 201246#factEXIT >#66#return; 201247#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201325#factFINAL assume true; 201322#factEXIT >#68#return; 200556#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 200557#factENTRY ~n := #in~n; 201201#L25 assume ~n <= 0;#res := 1; 201193#factFINAL assume true; 201187#factEXIT >#70#return; 201181#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 201186#factENTRY ~n := #in~n; 201202#L25 assume !(~n <= 0); 201195#L26 call #t~ret0 := fact(~n - 1);< 201221#factENTRY ~n := #in~n; 201232#L25 assume !(~n <= 0); 201213#L26 call #t~ret0 := fact(~n - 1);< 201227#factENTRY ~n := #in~n; 201231#L25 assume ~n <= 0;#res := 1; 201230#factFINAL assume true; 201225#factEXIT >#66#return; 201223#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201220#factFINAL assume true; 201211#factEXIT >#66#return; 201214#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201283#factFINAL assume true; 201282#factEXIT >#72#return; 201182#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; 201281#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 201279#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 201278#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 201277#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; 201052#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 201067#factENTRY ~n := #in~n; 201114#L25 assume !(~n <= 0); 201079#L26 call #t~ret0 := fact(~n - 1);< 201104#factENTRY ~n := #in~n; 201102#L25 assume !(~n <= 0); 201077#L26 call #t~ret0 := fact(~n - 1);< 201100#factENTRY ~n := #in~n; 201098#L25 assume ~n <= 0;#res := 1; 201096#factFINAL assume true; 201092#factEXIT >#66#return; 201091#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201089#factFINAL assume true; 201071#factEXIT >#66#return; 201070#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201068#factFINAL assume true; 201051#factEXIT >#68#return; 201046#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 201047#factENTRY ~n := #in~n; 201134#L25 assume !(~n <= 0); 201073#L26 call #t~ret0 := fact(~n - 1);< 201126#factENTRY ~n := #in~n; 201136#L25 assume ~n <= 0;#res := 1; 201127#factFINAL assume true; 201122#factEXIT >#66#return; 201121#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201120#factFINAL assume true; 201117#factEXIT >#70#return; 201119#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 201264#factENTRY ~n := #in~n; 201280#L25 assume !(~n <= 0); 201028#L26 call #t~ret0 := fact(~n - 1);< 201132#factENTRY ~n := #in~n; 201136#L25 assume ~n <= 0;#res := 1; 201127#factFINAL assume true; 201122#factEXIT >#66#return; 201124#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201276#factFINAL assume true; 201262#factEXIT >#72#return; 201263#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; 201258#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 201259#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 201251#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 201252#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; 201060#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 201067#factENTRY ~n := #in~n; 201114#L25 assume !(~n <= 0); 201079#L26 call #t~ret0 := fact(~n - 1);< 201104#factENTRY ~n := #in~n; 201102#L25 assume !(~n <= 0); 201077#L26 call #t~ret0 := fact(~n - 1);< 201100#factENTRY ~n := #in~n; 201098#L25 assume ~n <= 0;#res := 1; 201096#factFINAL assume true; 201092#factEXIT >#66#return; 201091#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201089#factFINAL assume true; 201071#factEXIT >#66#return; 201070#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201068#factFINAL assume true; 201051#factEXIT >#68#return; 201043#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 201047#factENTRY ~n := #in~n; 201134#L25 assume !(~n <= 0); 201073#L26 call #t~ret0 := fact(~n - 1);< 201126#factENTRY ~n := #in~n; 201112#L25 assume !(~n <= 0); 201076#L26 call #t~ret0 := fact(~n - 1);< 201094#factENTRY ~n := #in~n; 201098#L25 assume ~n <= 0;#res := 1; 201096#factFINAL assume true; 201092#factEXIT >#66#return; 201091#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201089#factFINAL assume true; 201071#factEXIT >#66#return; 201085#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201267#factFINAL assume true; 201029#factEXIT >#70#return; 200999#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 201012#factENTRY ~n := #in~n; 201027#L25 assume ~n <= 0;#res := 1; 201026#factFINAL assume true; 200994#factEXIT >#72#return; 200993#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; 200992#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 200990#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 200989#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 200985#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; 200935#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 200983#factENTRY ~n := #in~n; 200982#L25 assume !(~n <= 0); 200944#L26 call #t~ret0 := fact(~n - 1);< 200969#factENTRY ~n := #in~n; 200966#L25 assume !(~n <= 0); 200947#L26 call #t~ret0 := fact(~n - 1);< 200962#factENTRY ~n := #in~n; 200966#L25 assume !(~n <= 0); 200947#L26 call #t~ret0 := fact(~n - 1);< 200962#factENTRY ~n := #in~n; 200977#L25 assume ~n <= 0;#res := 1; 200975#factFINAL assume true; 200971#factEXIT >#66#return; 200968#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 200964#factFINAL assume true; 200958#factEXIT >#66#return; 200961#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 200952#factFINAL assume true; 200943#factEXIT >#66#return; 200941#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 200938#factFINAL assume true; 200934#factEXIT >#74#return; 200560#L30-6 [2022-07-22 01:30:35,494 INFO L754 eck$LassoCheckResult]: Loop: 200560#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 200561#factENTRY ~n := #in~n; 200980#L25 assume !(~n <= 0); 200948#L26 call #t~ret0 := fact(~n - 1);< 200965#factENTRY ~n := #in~n; 200967#L25 assume !(~n <= 0); 200959#L26 call #t~ret0 := fact(~n - 1);< 200963#factENTRY ~n := #in~n; 200977#L25 assume ~n <= 0;#res := 1; 200975#factFINAL assume true; 200971#factEXIT >#66#return; 200968#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 200964#factFINAL assume true; 200958#factEXIT >#66#return; 200960#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201356#factFINAL assume true; 201347#factEXIT >#76#return; 200582#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 201358#factENTRY ~n := #in~n; 201373#L25 assume !(~n <= 0); 201370#L26 call #t~ret0 := fact(~n - 1);< 201371#factENTRY ~n := #in~n; 201515#L25 assume ~n <= 0;#res := 1; 201384#factFINAL assume true; 201369#factEXIT >#66#return; 201368#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201357#factFINAL assume true; 200581#factEXIT >#78#return; 200584#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; 201235#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 201234#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 200580#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 200531#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 200532#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 201224#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 201222#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; 200834#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 200493#factENTRY ~n := #in~n; 200877#L25 assume !(~n <= 0); 200873#L26 call #t~ret0 := fact(~n - 1);< 200875#factENTRY ~n := #in~n; 200880#L25 assume !(~n <= 0); 200872#L26 call #t~ret0 := fact(~n - 1);< 200879#factENTRY ~n := #in~n; 200880#L25 assume !(~n <= 0); 200872#L26 call #t~ret0 := fact(~n - 1);< 200879#factENTRY ~n := #in~n; 200881#L25 assume ~n <= 0;#res := 1; 200885#factFINAL assume true; 200884#factEXIT >#66#return; 200882#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 200883#factFINAL assume true; 201246#factEXIT >#66#return; 201245#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201244#factFINAL assume true; 201242#factEXIT >#66#return; 201240#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201239#factFINAL assume true; 201219#factEXIT >#68#return; 201188#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 200557#factENTRY ~n := #in~n; 201201#L25 assume ~n <= 0;#res := 1; 201193#factFINAL assume true; 201187#factEXIT >#70#return; 201179#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 201184#factENTRY ~n := #in~n; 201203#L25 assume !(~n <= 0); 201196#L26 call #t~ret0 := fact(~n - 1);< 201200#factENTRY ~n := #in~n; 201241#L25 assume !(~n <= 0); 201212#L26 call #t~ret0 := fact(~n - 1);< 201215#factENTRY ~n := #in~n; 201229#L25 assume !(~n <= 0); 201226#L26 call #t~ret0 := fact(~n - 1);< 201228#factENTRY ~n := #in~n; 201231#L25 assume ~n <= 0;#res := 1; 201230#factFINAL assume true; 201225#factEXIT >#66#return; 201223#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201220#factFINAL assume true; 201211#factEXIT >#66#return; 201208#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201204#factFINAL assume true; 201194#factEXIT >#66#return; 201192#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201185#factFINAL assume true; 201178#factEXIT >#72#return; 201177#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; 201176#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 201175#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 201174#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 201173#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; 201107#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 201115#factENTRY ~n := #in~n; 201111#L25 assume !(~n <= 0); 201075#L26 call #t~ret0 := fact(~n - 1);< 201104#factENTRY ~n := #in~n; 201102#L25 assume !(~n <= 0); 201077#L26 call #t~ret0 := fact(~n - 1);< 201100#factENTRY ~n := #in~n; 201097#L25 assume !(~n <= 0); 201093#L26 call #t~ret0 := fact(~n - 1);< 201095#factENTRY ~n := #in~n; 201098#L25 assume ~n <= 0;#res := 1; 201096#factFINAL assume true; 201092#factEXIT >#66#return; 201091#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201089#factFINAL assume true; 201071#factEXIT >#66#return; 201087#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201169#factFINAL assume true; 201164#factEXIT >#66#return; 201166#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201172#factFINAL assume true; 201171#factEXIT >#68#return; 201041#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 201047#factENTRY ~n := #in~n; 201134#L25 assume !(~n <= 0); 201073#L26 call #t~ret0 := fact(~n - 1);< 201126#factENTRY ~n := #in~n; 201136#L25 assume ~n <= 0;#res := 1; 201127#factFINAL assume true; 201122#factEXIT >#66#return; 201121#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201120#factFINAL assume true; 201117#factEXIT >#70#return; 201054#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 201103#factENTRY ~n := #in~n; 201101#L25 assume !(~n <= 0); 201083#L26 call #t~ret0 := fact(~n - 1);< 201099#factENTRY ~n := #in~n; 201097#L25 assume !(~n <= 0); 201093#L26 call #t~ret0 := fact(~n - 1);< 201095#factENTRY ~n := #in~n; 201098#L25 assume ~n <= 0;#res := 1; 201096#factFINAL assume true; 201092#factEXIT >#66#return; 201091#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201089#factFINAL assume true; 201071#factEXIT >#66#return; 201070#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201068#factFINAL assume true; 201051#factEXIT >#72#return; 201063#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; 201340#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 201339#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 201338#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 201337#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; 201105#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 201115#factENTRY ~n := #in~n; 201111#L25 assume !(~n <= 0); 201075#L26 call #t~ret0 := fact(~n - 1);< 201104#factENTRY ~n := #in~n; 201102#L25 assume !(~n <= 0); 201077#L26 call #t~ret0 := fact(~n - 1);< 201100#factENTRY ~n := #in~n; 201097#L25 assume !(~n <= 0); 201093#L26 call #t~ret0 := fact(~n - 1);< 201095#factENTRY ~n := #in~n; 201098#L25 assume ~n <= 0;#res := 1; 201096#factFINAL assume true; 201092#factEXIT >#66#return; 201091#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201089#factFINAL assume true; 201071#factEXIT >#66#return; 201087#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201169#factFINAL assume true; 201164#factEXIT >#66#return; 201166#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201172#factFINAL assume true; 201171#factEXIT >#68#return; 201036#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 201047#factENTRY ~n := #in~n; 201134#L25 assume !(~n <= 0); 201073#L26 call #t~ret0 := fact(~n - 1);< 201126#factENTRY ~n := #in~n; 201112#L25 assume !(~n <= 0); 201076#L26 call #t~ret0 := fact(~n - 1);< 201094#factENTRY ~n := #in~n; 201098#L25 assume ~n <= 0;#res := 1; 201096#factFINAL assume true; 201092#factEXIT >#66#return; 201091#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201089#factFINAL assume true; 201071#factEXIT >#66#return; 201085#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201267#factFINAL assume true; 201029#factEXIT >#70#return; 200998#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 201012#factENTRY ~n := #in~n; 201027#L25 assume ~n <= 0;#res := 1; 201026#factFINAL assume true; 200994#factEXIT >#72#return; 201007#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; 201271#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 201270#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 201269#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 201268#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; 201106#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 201115#factENTRY ~n := #in~n; 201111#L25 assume !(~n <= 0); 201075#L26 call #t~ret0 := fact(~n - 1);< 201104#factENTRY ~n := #in~n; 201102#L25 assume !(~n <= 0); 201077#L26 call #t~ret0 := fact(~n - 1);< 201100#factENTRY ~n := #in~n; 201097#L25 assume !(~n <= 0); 201093#L26 call #t~ret0 := fact(~n - 1);< 201095#factENTRY ~n := #in~n; 201098#L25 assume ~n <= 0;#res := 1; 201096#factFINAL assume true; 201092#factEXIT >#66#return; 201091#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201089#factFINAL assume true; 201071#factEXIT >#66#return; 201087#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201169#factFINAL assume true; 201164#factEXIT >#66#return; 201166#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201172#factFINAL assume true; 201171#factEXIT >#68#return; 201030#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 201047#factENTRY ~n := #in~n; 201134#L25 assume !(~n <= 0); 201073#L26 call #t~ret0 := fact(~n - 1);< 201126#factENTRY ~n := #in~n; 201112#L25 assume !(~n <= 0); 201076#L26 call #t~ret0 := fact(~n - 1);< 201094#factENTRY ~n := #in~n; 201112#L25 assume !(~n <= 0); 201076#L26 call #t~ret0 := fact(~n - 1);< 201094#factENTRY ~n := #in~n; 201098#L25 assume ~n <= 0;#res := 1; 201096#factFINAL assume true; 201092#factEXIT >#66#return; 201091#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201089#factFINAL assume true; 201071#factEXIT >#66#return; 201087#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201169#factFINAL assume true; 201164#factEXIT >#66#return; 201167#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201286#factFINAL assume true; 201265#factEXIT >#70#return; 201001#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 201012#factENTRY ~n := #in~n; 201027#L25 assume ~n <= 0;#res := 1; 201026#factFINAL assume true; 200994#factEXIT >#72#return; 201009#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; 201253#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 201254#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 200886#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 200887#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; 200473#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 200474#factENTRY ~n := #in~n; 201017#L25 assume !(~n <= 0); 200950#L26 call #t~ret0 := fact(~n - 1);< 200951#factENTRY ~n := #in~n; 200957#L25 assume !(~n <= 0); 200945#L26 call #t~ret0 := fact(~n - 1);< 200970#factENTRY ~n := #in~n; 200966#L25 assume !(~n <= 0); 200947#L26 call #t~ret0 := fact(~n - 1);< 200962#factENTRY ~n := #in~n; 200966#L25 assume !(~n <= 0); 200947#L26 call #t~ret0 := fact(~n - 1);< 200962#factENTRY ~n := #in~n; 200977#L25 assume ~n <= 0;#res := 1; 200975#factFINAL assume true; 200971#factEXIT >#66#return; 200968#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 200964#factFINAL assume true; 200958#factEXIT >#66#return; 200961#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 200952#factFINAL assume true; 200943#factEXIT >#66#return; 200949#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 200956#factFINAL assume true; 201020#factEXIT >#66#return; 201019#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 201018#factFINAL assume true; 201013#factEXIT >#74#return; 200560#L30-6 [2022-07-22 01:30:35,495 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:35,495 INFO L85 PathProgramCache]: Analyzing trace with hash 785036393, now seen corresponding path program 25 times [2022-07-22 01:30:35,495 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:35,495 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1946155565] [2022-07-22 01:30:35,495 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:35,496 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:35,505 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:35,505 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1429655565] [2022-07-22 01:30:35,505 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-22 01:30:35,506 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:35,506 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:35,511 INFO L229 MonitoredProcess]: Starting monitored process 171 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:35,533 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (171)] Waiting until timeout for monitored process [2022-07-22 01:30:35,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:30:35,739 INFO L263 TraceCheckSpWp]: Trace formula consists of 856 conjuncts, 10 conjunts are in the unsatisfiable core [2022-07-22 01:30:35,742 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:35,914 INFO L134 CoverageAnalysis]: Checked inductivity of 7440 backedges. 1109 proven. 120 refuted. 0 times theorem prover too weak. 6211 trivial. 0 not checked. [2022-07-22 01:30:35,914 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:36,319 INFO L134 CoverageAnalysis]: Checked inductivity of 7440 backedges. 41 proven. 184 refuted. 0 times theorem prover too weak. 7215 trivial. 0 not checked. [2022-07-22 01:30:36,319 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:36,319 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1946155565] [2022-07-22 01:30:36,319 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:36,319 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1429655565] [2022-07-22 01:30:36,320 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1429655565] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:36,320 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:36,320 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 15 [2022-07-22 01:30:36,320 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1358243442] [2022-07-22 01:30:36,320 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:36,320 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:30:36,320 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:36,320 INFO L85 PathProgramCache]: Analyzing trace with hash 322311709, now seen corresponding path program 23 times [2022-07-22 01:30:36,321 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:36,321 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1162226492] [2022-07-22 01:30:36,321 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:36,321 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:36,328 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:36,328 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [14370495] [2022-07-22 01:30:36,328 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-22 01:30:36,328 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:36,328 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:36,332 INFO L229 MonitoredProcess]: Starting monitored process 172 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:36,333 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (172)] Waiting until timeout for monitored process [2022-07-22 01:30:36,493 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 17 check-sat command(s) [2022-07-22 01:30:36,493 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:36,495 INFO L263 TraceCheckSpWp]: Trace formula consists of 370 conjuncts, 21 conjunts are in the unsatisfiable core [2022-07-22 01:30:36,496 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:36,676 INFO L134 CoverageAnalysis]: Checked inductivity of 4895 backedges. 2611 proven. 301 refuted. 0 times theorem prover too weak. 1983 trivial. 0 not checked. [2022-07-22 01:30:36,676 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:37,499 INFO L134 CoverageAnalysis]: Checked inductivity of 4895 backedges. 476 proven. 704 refuted. 0 times theorem prover too weak. 3715 trivial. 0 not checked. [2022-07-22 01:30:37,499 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:37,499 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1162226492] [2022-07-22 01:30:37,499 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:37,500 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [14370495] [2022-07-22 01:30:37,500 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [14370495] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:37,500 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:37,500 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 18] total 22 [2022-07-22 01:30:37,500 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [241819945] [2022-07-22 01:30:37,500 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:37,500 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:30:37,500 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:30:37,501 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-07-22 01:30:37,501 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=393, Unknown=0, NotChecked=0, Total=462 [2022-07-22 01:30:37,501 INFO L87 Difference]: Start difference. First operand 1361 states and 2074 transitions. cyclomatic complexity: 735 Second operand has 22 states, 17 states have (on average 3.5294117647058822) internal successors, (60), 20 states have internal predecessors, (60), 15 states have call successors, (28), 2 states have call predecessors, (28), 8 states have return successors, (31), 11 states have call predecessors, (31), 15 states have call successors, (31) [2022-07-22 01:30:38,676 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:30:38,676 INFO L93 Difference]: Finished difference Result 1608 states and 2453 transitions. [2022-07-22 01:30:38,677 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-07-22 01:30:38,677 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1608 states and 2453 transitions. [2022-07-22 01:30:38,683 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 257 [2022-07-22 01:30:38,693 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1608 states to 1600 states and 2434 transitions. [2022-07-22 01:30:38,694 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 316 [2022-07-22 01:30:38,694 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 316 [2022-07-22 01:30:38,694 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1600 states and 2434 transitions. [2022-07-22 01:30:38,694 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:30:38,695 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1600 states and 2434 transitions. [2022-07-22 01:30:38,695 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1600 states and 2434 transitions. [2022-07-22 01:30:38,714 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1600 to 1298. [2022-07-22 01:30:38,715 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1298 states, 829 states have (on average 1.0904704463208685) internal successors, (904), 827 states have internal predecessors, (904), 311 states have call successors, (311), 187 states have call predecessors, (311), 158 states have return successors, (739), 283 states have call predecessors, (739), 311 states have call successors, (739) [2022-07-22 01:30:38,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1298 states to 1298 states and 1954 transitions. [2022-07-22 01:30:38,719 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1298 states and 1954 transitions. [2022-07-22 01:30:38,720 INFO L374 stractBuchiCegarLoop]: Abstraction has 1298 states and 1954 transitions. [2022-07-22 01:30:38,720 INFO L287 stractBuchiCegarLoop]: ======== Iteration 39 ============ [2022-07-22 01:30:38,720 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1298 states and 1954 transitions. [2022-07-22 01:30:38,723 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 167 [2022-07-22 01:30:38,723 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:30:38,723 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:30:38,725 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [36, 36, 19, 17, 17, 17, 17, 7, 6, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1] [2022-07-22 01:30:38,725 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [47, 47, 32, 32, 32, 32, 15, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:30:38,725 INFO L752 eck$LassoCheckResult]: Stem: 207509#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 207483#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; 207484#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 207508#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; 207497#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 207498#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 208399#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; 207464#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 207465#factENTRY ~n := #in~n; 208441#L25 assume ~n <= 0;#res := 1; 208439#factFINAL assume true; 208437#factEXIT >#68#return; 207524#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 207525#factENTRY ~n := #in~n; 208576#L25 assume ~n <= 0;#res := 1; 208575#factFINAL assume true; 208573#factEXIT >#70#return; 207460#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 207461#factENTRY ~n := #in~n; 208590#L25 assume ~n <= 0;#res := 1; 208589#factFINAL assume true; 208588#factEXIT >#72#return; 208586#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; 208587#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 208579#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 208580#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 207512#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; 207513#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 208628#factENTRY ~n := #in~n; 208617#L25 assume !(~n <= 0); 208611#L26 call #t~ret0 := fact(~n - 1);< 208621#factENTRY ~n := #in~n; 208618#L25 assume ~n <= 0;#res := 1; 208619#factFINAL assume true; 208610#factEXIT >#66#return; 208608#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208609#factFINAL assume true; 208604#factEXIT >#74#return; 207527#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 207528#factENTRY ~n := #in~n; 208640#L25 assume ~n <= 0;#res := 1; 208637#factFINAL assume true; 208636#factEXIT >#76#return; 207864#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 208639#factENTRY ~n := #in~n; 208648#L25 assume !(~n <= 0); 208644#L26 call #t~ret0 := fact(~n - 1);< 208646#factENTRY ~n := #in~n; 208649#L25 assume ~n <= 0;#res := 1; 208647#factFINAL assume true; 208642#factEXIT >#66#return; 208641#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208638#factFINAL assume true; 207863#factEXIT >#78#return; 207861#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; 207862#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 208704#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 208703#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 208702#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; 207759#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 207826#factENTRY ~n := #in~n; 207817#L25 assume !(~n <= 0); 207818#L26 call #t~ret0 := fact(~n - 1);< 207828#factENTRY ~n := #in~n; 207845#L25 assume !(~n <= 0); 207835#L26 call #t~ret0 := fact(~n - 1);< 207843#factENTRY ~n := #in~n; 207847#L25 assume ~n <= 0;#res := 1; 207844#factFINAL assume true; 207842#factEXIT >#66#return; 207841#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 207838#factFINAL assume true; 207832#factEXIT >#66#return; 207831#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 207830#factFINAL assume true; 207757#factEXIT >#74#return; 207762#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 207812#factENTRY ~n := #in~n; 207824#L25 assume ~n <= 0;#res := 1; 207815#factFINAL assume true; 207811#factEXIT >#76#return; 207758#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 207829#factENTRY ~n := #in~n; 207840#L25 assume !(~n <= 0); 207834#L26 call #t~ret0 := fact(~n - 1);< 207837#factENTRY ~n := #in~n; 207845#L25 assume !(~n <= 0); 207835#L26 call #t~ret0 := fact(~n - 1);< 207843#factENTRY ~n := #in~n; 207847#L25 assume ~n <= 0;#res := 1; 207844#factFINAL assume true; 207842#factEXIT >#66#return; 207841#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 207838#factFINAL assume true; 207832#factEXIT >#66#return; 207831#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 207830#factFINAL assume true; 207757#factEXIT >#78#return; 207756#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; 207755#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 207754#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 207753#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 207752#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 207751#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 207742#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 207682#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; 207678#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 207679#factENTRY ~n := #in~n; 207688#L25 assume !(~n <= 0); 207685#L26 call #t~ret0 := fact(~n - 1);< 207686#factENTRY ~n := #in~n; 207689#L25 assume ~n <= 0;#res := 1; 207687#factFINAL assume true; 207684#factEXIT >#66#return; 207683#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 207681#factFINAL assume true; 207677#factEXIT >#68#return; 207674#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 207675#factENTRY ~n := #in~n; 207680#L25 assume ~n <= 0;#res := 1; 207676#factFINAL assume true; 207673#factEXIT >#70#return; 207671#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 207672#factENTRY ~n := #in~n; 207771#L25 assume !(~n <= 0); 207769#L26 call #t~ret0 := fact(~n - 1);< 207770#factENTRY ~n := #in~n; 207777#L25 assume ~n <= 0;#res := 1; 207773#factFINAL assume true; 207768#factEXIT >#66#return; 207765#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 207743#factFINAL assume true; 207670#factEXIT >#72#return; 207669#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; 207668#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 207667#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 207666#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 207665#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; 207647#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 207648#factENTRY ~n := #in~n; 207656#L25 assume !(~n <= 0); 207654#L26 call #t~ret0 := fact(~n - 1);< 207655#factENTRY ~n := #in~n; 207663#L25 assume ~n <= 0;#res := 1; 207661#factFINAL assume true; 207653#factEXIT >#66#return; 207652#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 207651#factFINAL assume true; 207646#factEXIT >#68#return; 207631#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 207632#factENTRY ~n := #in~n; 207664#L25 assume !(~n <= 0); 207641#L26 call #t~ret0 := fact(~n - 1);< 207644#factENTRY ~n := #in~n; 207662#L25 assume ~n <= 0;#res := 1; 207657#factFINAL assume true; 207639#factEXIT >#66#return; 207637#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 207635#factFINAL assume true; 207630#factEXIT >#70#return; 207626#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 207627#factENTRY ~n := #in~n; 207645#L25 assume ~n <= 0;#res := 1; 207629#factFINAL assume true; 207625#factEXIT >#72#return; 207624#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; 207623#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 207620#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 207615#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 207612#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; 207607#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 207608#factENTRY ~n := #in~n; 207622#L25 assume !(~n <= 0); 207617#L26 call #t~ret0 := fact(~n - 1);< 207619#factENTRY ~n := #in~n; 207636#L25 assume !(~n <= 0); 207618#L26 call #t~ret0 := fact(~n - 1);< 207634#factENTRY ~n := #in~n; 207650#L25 assume ~n <= 0;#res := 1; 207649#factFINAL assume true; 207633#factEXIT >#66#return; 207628#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 207621#factFINAL assume true; 207616#factEXIT >#66#return; 207614#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 207611#factFINAL assume true; 207606#factEXIT >#74#return; 207599#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 207600#factENTRY ~n := #in~n; 207706#L25 assume !(~n <= 0); 207701#L26 call #t~ret0 := fact(~n - 1);< 207702#factENTRY ~n := #in~n; 207638#L25 assume ~n <= 0;#res := 1; 207710#factFINAL assume true; 207700#factEXIT >#66#return; 207698#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 207603#factFINAL assume true; 207605#factEXIT >#76#return; 207604#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 207600#factENTRY ~n := #in~n; 207706#L25 assume !(~n <= 0); 207701#L26 call #t~ret0 := fact(~n - 1);< 207702#factENTRY ~n := #in~n; 207638#L25 assume ~n <= 0;#res := 1; 207710#factFINAL assume true; 207700#factEXIT >#66#return; 207698#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 207603#factFINAL assume true; 207605#factEXIT >#78#return; 207537#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; 207536#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 207535#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 207534#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 207507#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 207499#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 207501#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 207583#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; 207462#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 207463#factENTRY ~n := #in~n; 207566#L25 assume !(~n <= 0); 207558#L26 call #t~ret0 := fact(~n - 1);< 207570#factENTRY ~n := #in~n; 207567#L25 assume !(~n <= 0); 207555#L26 call #t~ret0 := fact(~n - 1);< 207573#factENTRY ~n := #in~n; 207567#L25 assume !(~n <= 0); 207555#L26 call #t~ret0 := fact(~n - 1);< 207573#factENTRY ~n := #in~n; 207576#L25 assume ~n <= 0;#res := 1; 207574#factFINAL assume true; 207571#factEXIT >#66#return; 207572#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 207582#factFINAL assume true; 207554#factEXIT >#66#return; 207559#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 207563#factFINAL assume true; 207564#factEXIT >#66#return; 207581#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 207548#factFINAL assume true; 207551#factEXIT >#68#return; 208286#L30-1 [2022-07-22 01:30:38,726 INFO L754 eck$LassoCheckResult]: Loop: 208286#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 207523#factENTRY ~n := #in~n; 208295#L25 assume ~n <= 0;#res := 1; 208292#factFINAL assume true; 208285#factEXIT >#70#return; 208287#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 208300#factENTRY ~n := #in~n; 208504#L25 assume !(~n <= 0); 208499#L26 call #t~ret0 := fact(~n - 1);< 208502#factENTRY ~n := #in~n; 208522#L25 assume !(~n <= 0); 208506#L26 call #t~ret0 := fact(~n - 1);< 208520#factENTRY ~n := #in~n; 208525#L25 assume !(~n <= 0); 208516#L26 call #t~ret0 := fact(~n - 1);< 208518#factENTRY ~n := #in~n; 208526#L25 assume ~n <= 0;#res := 1; 208521#factFINAL assume true; 208515#factEXIT >#66#return; 208517#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208505#factFINAL assume true; 208508#factEXIT >#66#return; 208512#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208513#factFINAL assume true; 208495#factEXIT >#66#return; 208501#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208298#factFINAL assume true; 208299#factEXIT >#72#return; 208546#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; 208543#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 208535#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 208532#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 208529#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; 208228#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 208257#factENTRY ~n := #in~n; 208303#L25 assume !(~n <= 0); 208120#L26 call #t~ret0 := fact(~n - 1);< 208227#factENTRY ~n := #in~n; 208226#L25 assume !(~n <= 0); 208149#L26 call #t~ret0 := fact(~n - 1);< 208158#factENTRY ~n := #in~n; 208235#L25 assume !(~n <= 0); 208220#L26 call #t~ret0 := fact(~n - 1);< 208222#factENTRY ~n := #in~n; 208242#L25 assume ~n <= 0;#res := 1; 208241#factFINAL assume true; 208219#factEXIT >#66#return; 208217#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208156#factFINAL assume true; 208146#factEXIT >#66#return; 208152#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208178#factFINAL assume true; 208114#factEXIT >#66#return; 208124#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208431#factFINAL assume true; 208255#factEXIT >#68#return; 208164#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 208216#factENTRY ~n := #in~n; 208301#L25 assume !(~n <= 0); 208084#L26 call #t~ret0 := fact(~n - 1);< 208168#factENTRY ~n := #in~n; 208142#L25 assume ~n <= 0;#res := 1; 208090#factFINAL assume true; 208082#factEXIT >#66#return; 208087#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208289#factFINAL assume true; 208284#factEXIT >#70#return; 208157#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 208294#factENTRY ~n := #in~n; 208350#L25 assume !(~n <= 0); 208148#L26 call #t~ret0 := fact(~n - 1);< 208158#factENTRY ~n := #in~n; 208235#L25 assume !(~n <= 0); 208220#L26 call #t~ret0 := fact(~n - 1);< 208222#factENTRY ~n := #in~n; 208242#L25 assume ~n <= 0;#res := 1; 208241#factFINAL assume true; 208219#factEXIT >#66#return; 208217#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208156#factFINAL assume true; 208146#factEXIT >#66#return; 208150#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208293#factFINAL assume true; 208290#factEXIT >#72#return; 208291#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; 208584#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 208581#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 208572#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 208571#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; 208229#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 208257#factENTRY ~n := #in~n; 208303#L25 assume !(~n <= 0); 208120#L26 call #t~ret0 := fact(~n - 1);< 208227#factENTRY ~n := #in~n; 208226#L25 assume !(~n <= 0); 208149#L26 call #t~ret0 := fact(~n - 1);< 208158#factENTRY ~n := #in~n; 208235#L25 assume !(~n <= 0); 208220#L26 call #t~ret0 := fact(~n - 1);< 208222#factENTRY ~n := #in~n; 208242#L25 assume ~n <= 0;#res := 1; 208241#factFINAL assume true; 208219#factEXIT >#66#return; 208217#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208156#factFINAL assume true; 208146#factEXIT >#66#return; 208152#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208178#factFINAL assume true; 208114#factEXIT >#66#return; 208124#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208431#factFINAL assume true; 208255#factEXIT >#68#return; 208160#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 208216#factENTRY ~n := #in~n; 208301#L25 assume !(~n <= 0); 208084#L26 call #t~ret0 := fact(~n - 1);< 208168#factENTRY ~n := #in~n; 208237#L25 assume !(~n <= 0); 208123#L26 call #t~ret0 := fact(~n - 1);< 208223#factENTRY ~n := #in~n; 208242#L25 assume ~n <= 0;#res := 1; 208241#factFINAL assume true; 208219#factEXIT >#66#return; 208217#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208156#factFINAL assume true; 208146#factEXIT >#66#return; 208151#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208434#factFINAL assume true; 208214#factEXIT >#70#return; 208093#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 208250#factENTRY ~n := #in~n; 208247#L25 assume !(~n <= 0); 208085#L26 call #t~ret0 := fact(~n - 1);< 208089#factENTRY ~n := #in~n; 208142#L25 assume ~n <= 0;#res := 1; 208090#factFINAL assume true; 208082#factEXIT >#66#return; 208088#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208266#factFINAL assume true; 208263#factEXIT >#72#return; 208265#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; 208601#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 208600#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 208599#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 208570#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; 207968#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 208257#factENTRY ~n := #in~n; 208303#L25 assume !(~n <= 0); 208120#L26 call #t~ret0 := fact(~n - 1);< 208227#factENTRY ~n := #in~n; 208226#L25 assume !(~n <= 0); 208149#L26 call #t~ret0 := fact(~n - 1);< 208158#factENTRY ~n := #in~n; 208235#L25 assume !(~n <= 0); 208220#L26 call #t~ret0 := fact(~n - 1);< 208222#factENTRY ~n := #in~n; 208242#L25 assume ~n <= 0;#res := 1; 208241#factFINAL assume true; 208219#factEXIT >#66#return; 208217#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208156#factFINAL assume true; 208146#factEXIT >#66#return; 208152#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208178#factFINAL assume true; 208114#factEXIT >#66#return; 208124#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208431#factFINAL assume true; 208255#factEXIT >#68#return; 208159#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 208216#factENTRY ~n := #in~n; 208301#L25 assume !(~n <= 0); 208084#L26 call #t~ret0 := fact(~n - 1);< 208168#factENTRY ~n := #in~n; 208237#L25 assume !(~n <= 0); 208123#L26 call #t~ret0 := fact(~n - 1);< 208223#factENTRY ~n := #in~n; 208237#L25 assume !(~n <= 0); 208123#L26 call #t~ret0 := fact(~n - 1);< 208223#factENTRY ~n := #in~n; 208242#L25 assume ~n <= 0;#res := 1; 208241#factFINAL assume true; 208219#factEXIT >#66#return; 208217#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208156#factFINAL assume true; 208146#factEXIT >#66#return; 208152#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208178#factFINAL assume true; 208114#factEXIT >#66#return; 208126#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208511#factFINAL assume true; 208254#factEXIT >#70#return; 208094#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 208133#factENTRY ~n := #in~n; 208246#L25 assume ~n <= 0;#res := 1; 208136#factFINAL assume true; 208128#factEXIT >#72#return; 208132#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; 208548#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 208544#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 208541#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 207967#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; 207969#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 208417#factENTRY ~n := #in~n; 208426#L25 assume !(~n <= 0); 208396#L26 call #t~ret0 := fact(~n - 1);< 208423#factENTRY ~n := #in~n; 208466#L25 assume !(~n <= 0); 207449#L26 call #t~ret0 := fact(~n - 1);< 208397#factENTRY ~n := #in~n; 208404#L25 assume !(~n <= 0); 207446#L26 call #t~ret0 := fact(~n - 1);< 208401#factENTRY ~n := #in~n; 208404#L25 assume !(~n <= 0); 207446#L26 call #t~ret0 := fact(~n - 1);< 208401#factENTRY ~n := #in~n; 208415#L25 assume ~n <= 0;#res := 1; 208414#factFINAL assume true; 208410#factEXIT >#66#return; 208408#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208407#factFINAL assume true; 208363#factEXIT >#66#return; 208366#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208395#factFINAL assume true; 208393#factEXIT >#66#return; 208394#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208424#factFINAL assume true; 208422#factEXIT >#66#return; 208421#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208419#factFINAL assume true; 208416#factEXIT >#74#return; 208347#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 208349#factENTRY ~n := #in~n; 208409#L25 assume !(~n <= 0); 208365#L26 call #t~ret0 := fact(~n - 1);< 208405#factENTRY ~n := #in~n; 208403#L25 assume !(~n <= 0); 208364#L26 call #t~ret0 := fact(~n - 1);< 208400#factENTRY ~n := #in~n; 208413#L25 assume !(~n <= 0); 208411#L26 call #t~ret0 := fact(~n - 1);< 208412#factENTRY ~n := #in~n; 208415#L25 assume ~n <= 0;#res := 1; 208414#factFINAL assume true; 208410#factEXIT >#66#return; 208408#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208407#factFINAL assume true; 208363#factEXIT >#66#return; 208366#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208395#factFINAL assume true; 208393#factEXIT >#66#return; 208388#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 208385#factFINAL assume true; 208345#factEXIT >#76#return; 207530#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 207531#factENTRY ~n := #in~n; 208224#L25 assume !(~n <= 0); 207928#L26 call #t~ret0 := fact(~n - 1);< 207929#factENTRY ~n := #in~n; 208438#L25 assume ~n <= 0;#res := 1; 207972#factFINAL assume true; 207927#factEXIT >#66#return; 207926#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 207919#factFINAL assume true; 207591#factEXIT >#78#return; 207485#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; 207486#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 207529#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 207516#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 207517#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 207924#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 207925#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 208306#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; 207550#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 207578#factENTRY ~n := #in~n; 207577#L25 assume !(~n <= 0); 207561#L26 call #t~ret0 := fact(~n - 1);< 207562#factENTRY ~n := #in~n; 207575#L25 assume !(~n <= 0); 207557#L26 call #t~ret0 := fact(~n - 1);< 207565#factENTRY ~n := #in~n; 207567#L25 assume !(~n <= 0); 207555#L26 call #t~ret0 := fact(~n - 1);< 207573#factENTRY ~n := #in~n; 207576#L25 assume ~n <= 0;#res := 1; 207574#factFINAL assume true; 207571#factEXIT >#66#return; 207572#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 207582#factFINAL assume true; 207554#factEXIT >#66#return; 207559#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 207563#factFINAL assume true; 207564#factEXIT >#66#return; 207581#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 207548#factFINAL assume true; 207551#factEXIT >#68#return; 208286#L30-1 [2022-07-22 01:30:38,726 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:38,726 INFO L85 PathProgramCache]: Analyzing trace with hash 305846168, now seen corresponding path program 26 times [2022-07-22 01:30:38,727 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:38,727 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [95417767] [2022-07-22 01:30:38,727 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:38,727 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:38,734 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:38,735 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1088564710] [2022-07-22 01:30:38,735 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 01:30:38,735 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:38,735 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:38,741 INFO L229 MonitoredProcess]: Starting monitored process 173 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:38,742 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (173)] Waiting until timeout for monitored process [2022-07-22 01:30:38,925 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 01:30:38,925 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:38,928 INFO L263 TraceCheckSpWp]: Trace formula consists of 559 conjuncts, 12 conjunts are in the unsatisfiable core [2022-07-22 01:30:38,930 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:39,066 INFO L134 CoverageAnalysis]: Checked inductivity of 2901 backedges. 387 proven. 80 refuted. 0 times theorem prover too weak. 2434 trivial. 0 not checked. [2022-07-22 01:30:39,066 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:39,522 INFO L134 CoverageAnalysis]: Checked inductivity of 2901 backedges. 387 proven. 84 refuted. 0 times theorem prover too weak. 2430 trivial. 0 not checked. [2022-07-22 01:30:39,522 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:39,522 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [95417767] [2022-07-22 01:30:39,522 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:39,522 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1088564710] [2022-07-22 01:30:39,522 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1088564710] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:39,522 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:39,522 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 11] total 12 [2022-07-22 01:30:39,523 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2074564094] [2022-07-22 01:30:39,523 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:39,523 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:30:39,523 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:39,523 INFO L85 PathProgramCache]: Analyzing trace with hash 83634365, now seen corresponding path program 24 times [2022-07-22 01:30:39,523 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:39,524 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [755511509] [2022-07-22 01:30:39,524 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:39,524 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:39,531 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:39,532 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [602372051] [2022-07-22 01:30:39,532 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-22 01:30:39,532 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:39,532 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:39,546 INFO L229 MonitoredProcess]: Starting monitored process 174 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:39,546 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (174)] Waiting until timeout for monitored process [2022-07-22 01:30:39,689 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 15 check-sat command(s) [2022-07-22 01:30:39,690 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:39,691 INFO L263 TraceCheckSpWp]: Trace formula consists of 333 conjuncts, 21 conjunts are in the unsatisfiable core [2022-07-22 01:30:39,693 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:39,897 INFO L134 CoverageAnalysis]: Checked inductivity of 5381 backedges. 746 proven. 523 refuted. 0 times theorem prover too weak. 4112 trivial. 0 not checked. [2022-07-22 01:30:39,897 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:40,927 INFO L134 CoverageAnalysis]: Checked inductivity of 5381 backedges. 748 proven. 534 refuted. 0 times theorem prover too weak. 4099 trivial. 0 not checked. [2022-07-22 01:30:40,927 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:40,927 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [755511509] [2022-07-22 01:30:40,927 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:40,927 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [602372051] [2022-07-22 01:30:40,928 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [602372051] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:40,928 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:40,928 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 19] total 22 [2022-07-22 01:30:40,928 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [894392834] [2022-07-22 01:30:40,928 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:40,928 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:30:40,928 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:30:40,928 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-07-22 01:30:40,929 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=118, Unknown=0, NotChecked=0, Total=156 [2022-07-22 01:30:40,929 INFO L87 Difference]: Start difference. First operand 1298 states and 1954 transitions. cyclomatic complexity: 675 Second operand has 13 states, 11 states have (on average 4.454545454545454) internal successors, (49), 12 states have internal predecessors, (49), 8 states have call successors, (18), 1 states have call predecessors, (18), 4 states have return successors, (19), 7 states have call predecessors, (19), 8 states have call successors, (19) [2022-07-22 01:30:41,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:30:41,377 INFO L93 Difference]: Finished difference Result 1522 states and 2450 transitions. [2022-07-22 01:30:41,377 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-07-22 01:30:41,378 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1522 states and 2450 transitions. [2022-07-22 01:30:41,384 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 167 [2022-07-22 01:30:41,392 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1522 states to 1522 states and 2450 transitions. [2022-07-22 01:30:41,392 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 278 [2022-07-22 01:30:41,392 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 278 [2022-07-22 01:30:41,392 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1522 states and 2450 transitions. [2022-07-22 01:30:41,393 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:30:41,393 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1522 states and 2450 transitions. [2022-07-22 01:30:41,393 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1522 states and 2450 transitions. [2022-07-22 01:30:41,410 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1522 to 1430. [2022-07-22 01:30:41,411 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1430 states, 898 states have (on average 1.0979955456570156) internal successors, (986), 902 states have internal predecessors, (986), 374 states have call successors, (374), 187 states have call predecessors, (374), 158 states have return successors, (878), 340 states have call predecessors, (878), 374 states have call successors, (878) [2022-07-22 01:30:41,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1430 states to 1430 states and 2238 transitions. [2022-07-22 01:30:41,449 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1430 states and 2238 transitions. [2022-07-22 01:30:41,449 INFO L374 stractBuchiCegarLoop]: Abstraction has 1430 states and 2238 transitions. [2022-07-22 01:30:41,449 INFO L287 stractBuchiCegarLoop]: ======== Iteration 40 ============ [2022-07-22 01:30:41,449 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1430 states and 2238 transitions. [2022-07-22 01:30:41,452 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 167 [2022-07-22 01:30:41,452 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:30:41,452 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:30:41,455 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [68, 68, 37, 37, 37, 37, 31, 11, 10, 7, 7, 7, 6, 6, 6, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 1, 1, 1, 1] [2022-07-22 01:30:41,455 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [57, 57, 42, 42, 42, 42, 15, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:30:41,455 INFO L752 eck$LassoCheckResult]: Stem: 213587#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 213560#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; 213561#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 213586#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; 213573#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 213574#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 214665#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; 213549#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 213550#factENTRY ~n := #in~n; 214768#L25 assume ~n <= 0;#res := 1; 214767#factFINAL assume true; 214766#factEXIT >#68#return; 213600#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 213601#factENTRY ~n := #in~n; 214784#L25 assume ~n <= 0;#res := 1; 214783#factFINAL assume true; 214749#factEXIT >#70#return; 213530#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 213531#factENTRY ~n := #in~n; 214791#L25 assume ~n <= 0;#res := 1; 214790#factFINAL assume true; 214789#factEXIT >#72#return; 213580#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; 213581#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 214823#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 214822#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 214821#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; 214809#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 214820#factENTRY ~n := #in~n; 214808#L25 assume !(~n <= 0); 214801#L26 call #t~ret0 := fact(~n - 1);< 214813#factENTRY ~n := #in~n; 214810#L25 assume ~n <= 0;#res := 1; 214811#factFINAL assume true; 214800#factEXIT >#66#return; 214802#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214847#factFINAL assume true; 214846#factEXIT >#74#return; 213603#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 213604#factENTRY ~n := #in~n; 214834#L25 assume ~n <= 0;#res := 1; 214831#factFINAL assume true; 214829#factEXIT >#76#return; 213757#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 214833#factENTRY ~n := #in~n; 214842#L25 assume !(~n <= 0); 214838#L26 call #t~ret0 := fact(~n - 1);< 214840#factENTRY ~n := #in~n; 214843#L25 assume ~n <= 0;#res := 1; 214841#factFINAL assume true; 214836#factEXIT >#66#return; 214835#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214832#factFINAL assume true; 213756#factEXIT >#78#return; 213758#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; 214896#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 214895#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 214887#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 214883#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; 213692#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 213712#factENTRY ~n := #in~n; 213703#L25 assume !(~n <= 0); 213704#L26 call #t~ret0 := fact(~n - 1);< 213725#factENTRY ~n := #in~n; 213734#L25 assume !(~n <= 0); 213722#L26 call #t~ret0 := fact(~n - 1);< 213731#factENTRY ~n := #in~n; 213735#L25 assume ~n <= 0;#res := 1; 213732#factFINAL assume true; 213730#factEXIT >#66#return; 213729#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 213726#factFINAL assume true; 213720#factEXIT >#66#return; 213719#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 213717#factFINAL assume true; 213711#factEXIT >#74#return; 213698#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 213701#factENTRY ~n := #in~n; 213715#L25 assume ~n <= 0;#res := 1; 213702#factFINAL assume true; 213697#factEXIT >#76#return; 213690#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 213718#factENTRY ~n := #in~n; 213740#L25 assume !(~n <= 0); 213721#L26 call #t~ret0 := fact(~n - 1);< 213728#factENTRY ~n := #in~n; 213734#L25 assume !(~n <= 0); 213722#L26 call #t~ret0 := fact(~n - 1);< 213731#factENTRY ~n := #in~n; 213735#L25 assume ~n <= 0;#res := 1; 213732#factFINAL assume true; 213730#factEXIT >#66#return; 213729#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 213726#factFINAL assume true; 213720#factEXIT >#66#return; 213719#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 213717#factFINAL assume true; 213711#factEXIT >#78#return; 213686#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; 213685#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 213684#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 213683#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 213582#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 213583#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 213595#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 213596#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; 213860#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 213862#factENTRY ~n := #in~n; 213870#L25 assume !(~n <= 0); 213867#L26 call #t~ret0 := fact(~n - 1);< 213868#factENTRY ~n := #in~n; 213871#L25 assume ~n <= 0;#res := 1; 213869#factFINAL assume true; 213866#factEXIT >#66#return; 213865#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 213864#factFINAL assume true; 213859#factEXIT >#68#return; 213856#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 213857#factENTRY ~n := #in~n; 213863#L25 assume ~n <= 0;#res := 1; 213858#factFINAL assume true; 213854#factEXIT >#70#return; 213850#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 213853#factENTRY ~n := #in~n; 213917#L25 assume !(~n <= 0); 213914#L26 call #t~ret0 := fact(~n - 1);< 213915#factENTRY ~n := #in~n; 213941#L25 assume ~n <= 0;#res := 1; 213937#factFINAL assume true; 213913#factEXIT >#66#return; 213911#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 213909#factFINAL assume true; 213849#factEXIT >#72#return; 213848#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; 213846#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 213830#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 213821#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 213820#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; 213818#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 213819#factENTRY ~n := #in~n; 213847#L25 assume !(~n <= 0); 213838#L26 call #t~ret0 := fact(~n - 1);< 213839#factENTRY ~n := #in~n; 213844#L25 assume ~n <= 0;#res := 1; 213843#factFINAL assume true; 213837#factEXIT >#66#return; 213831#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 213823#factFINAL assume true; 213816#factEXIT >#68#return; 213809#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 213811#factENTRY ~n := #in~n; 213845#L25 assume !(~n <= 0); 213825#L26 call #t~ret0 := fact(~n - 1);< 213829#factENTRY ~n := #in~n; 213840#L25 assume ~n <= 0;#res := 1; 213832#factFINAL assume true; 213824#factEXIT >#66#return; 213822#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 213815#factFINAL assume true; 213808#factEXIT >#70#return; 213801#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 213804#factENTRY ~n := #in~n; 213813#L25 assume ~n <= 0;#res := 1; 213807#factFINAL assume true; 213800#factEXIT >#72#return; 213797#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; 213795#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 213792#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 213787#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 213784#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; 213779#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 213780#factENTRY ~n := #in~n; 213794#L25 assume !(~n <= 0); 213789#L26 call #t~ret0 := fact(~n - 1);< 213791#factENTRY ~n := #in~n; 213806#L25 assume !(~n <= 0); 213790#L26 call #t~ret0 := fact(~n - 1);< 213799#factENTRY ~n := #in~n; 213814#L25 assume ~n <= 0;#res := 1; 213805#factFINAL assume true; 213798#factEXIT >#66#return; 213796#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 213793#factFINAL assume true; 213788#factEXIT >#66#return; 213786#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 213783#factFINAL assume true; 213777#factEXIT >#74#return; 213764#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 213768#factENTRY ~n := #in~n; 213889#L25 assume !(~n <= 0); 213887#L26 call #t~ret0 := fact(~n - 1);< 213894#factENTRY ~n := #in~n; 213812#L25 assume ~n <= 0;#res := 1; 213886#factFINAL assume true; 213888#factEXIT >#66#return; 213873#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 213874#factFINAL assume true; 213760#factEXIT >#76#return; 213763#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 213768#factENTRY ~n := #in~n; 213889#L25 assume !(~n <= 0); 213887#L26 call #t~ret0 := fact(~n - 1);< 213894#factENTRY ~n := #in~n; 213812#L25 assume ~n <= 0;#res := 1; 213886#factFINAL assume true; 213888#factEXIT >#66#return; 213873#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 213874#factFINAL assume true; 213760#factEXIT >#78#return; 213625#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; 213742#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 213741#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 213739#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 213584#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 213585#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 213695#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 213696#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; 213547#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 213548#factENTRY ~n := #in~n; 213654#L25 assume !(~n <= 0); 213641#L26 call #t~ret0 := fact(~n - 1);< 213645#factENTRY ~n := #in~n; 213650#L25 assume !(~n <= 0); 213640#L26 call #t~ret0 := fact(~n - 1);< 213657#factENTRY ~n := #in~n; 213659#L25 assume ~n <= 0;#res := 1; 213658#factFINAL assume true; 213655#factEXIT >#66#return; 213656#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 213679#factFINAL assume true; 213638#factEXIT >#66#return; 213644#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 213713#factFINAL assume true; 213629#factEXIT >#68#return; 213630#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 213599#factENTRY ~n := #in~n; 214647#L25 assume ~n <= 0;#res := 1; 214646#factFINAL assume true; 214641#factEXIT >#70#return; 214637#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 214640#factENTRY ~n := #in~n; 214730#L25 assume !(~n <= 0); 214695#L26 call #t~ret0 := fact(~n - 1);< 214729#factENTRY ~n := #in~n; 214737#L25 assume !(~n <= 0); 214722#L26 call #t~ret0 := fact(~n - 1);< 214734#factENTRY ~n := #in~n; 214792#L25 assume ~n <= 0;#res := 1; 214738#factFINAL assume true; 214732#factEXIT >#66#return; 214731#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214728#factFINAL assume true; 214720#factEXIT >#66#return; 214723#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214775#factFINAL assume true; 214636#factEXIT >#72#return; 214639#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; 214786#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 214785#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 214774#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 214773#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; 214491#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 214586#factENTRY ~n := #in~n; 214671#L25 assume !(~n <= 0); 214563#L26 call #t~ret0 := fact(~n - 1);< 214597#factENTRY ~n := #in~n; 214588#L25 assume !(~n <= 0); 214565#L26 call #t~ret0 := fact(~n - 1);< 214584#factENTRY ~n := #in~n; 214657#L25 assume ~n <= 0;#res := 1; 214655#factFINAL assume true; 214581#factEXIT >#66#return; 214580#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214572#factFINAL assume true; 214560#factEXIT >#66#return; 214568#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214585#factFINAL assume true; 214569#factEXIT >#68#return; 214479#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 214481#factENTRY ~n := #in~n; 214576#L25 assume !(~n <= 0); 214338#L26 call #t~ret0 := fact(~n - 1);< 214519#factENTRY ~n := #in~n; 214359#L25 assume ~n <= 0;#res := 1; 214343#factFINAL assume true; 214335#factEXIT >#66#return; 214341#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214634#factFINAL assume true; 214590#factEXIT >#70#return; 214345#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 214652#factENTRY ~n := #in~n; 214776#L25 assume !(~n <= 0); 214339#L26 call #t~ret0 := fact(~n - 1);< 214342#factENTRY ~n := #in~n; 214359#L25 assume ~n <= 0;#res := 1; 214343#factFINAL assume true; 214335#factEXIT >#66#return; 214340#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214651#factFINAL assume true; 214546#factEXIT >#72#return; 214551#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; 214745#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 214744#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 214743#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 214742#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; 214487#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 214586#factENTRY ~n := #in~n; 214671#L25 assume !(~n <= 0); 214563#L26 call #t~ret0 := fact(~n - 1);< 214597#factENTRY ~n := #in~n; 214588#L25 assume !(~n <= 0); 214565#L26 call #t~ret0 := fact(~n - 1);< 214584#factENTRY ~n := #in~n; 214657#L25 assume ~n <= 0;#res := 1; 214655#factFINAL assume true; 214581#factEXIT >#66#return; 214580#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214572#factFINAL assume true; 214560#factEXIT >#66#return; 214568#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214585#factFINAL assume true; 214569#factEXIT >#68#return; 214477#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 214481#factENTRY ~n := #in~n; 214576#L25 assume !(~n <= 0); 214338#L26 call #t~ret0 := fact(~n - 1);< 214519#factENTRY ~n := #in~n; 214577#L25 assume !(~n <= 0); 214505#L26 call #t~ret0 := fact(~n - 1);< 214573#factENTRY ~n := #in~n; 214657#L25 assume ~n <= 0;#res := 1; 214655#factFINAL assume true; 214581#factEXIT >#66#return; 214580#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214572#factFINAL assume true; 214560#factEXIT >#66#return; 214558#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214555#factFINAL assume true; 214553#factEXIT >#70#return; 214346#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 214404#factENTRY ~n := #in~n; 214451#L25 assume ~n <= 0;#res := 1; 214446#factFINAL assume true; 214397#factEXIT >#72#return; 214396#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; 214395#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 214393#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 214394#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 214386#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; 214380#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 214381#factENTRY ~n := #in~n; 214630#L25 assume !(~n <= 0); 214432#L26 call #t~ret0 := fact(~n - 1);< 214467#factENTRY ~n := #in~n; 214617#L25 assume !(~n <= 0); 214434#L26 call #t~ret0 := fact(~n - 1);< 214615#factENTRY ~n := #in~n; 214617#L25 assume !(~n <= 0); 214434#L26 call #t~ret0 := fact(~n - 1);< 214615#factENTRY ~n := #in~n; 214626#L25 assume ~n <= 0;#res := 1; 214625#factFINAL assume true; 214624#factEXIT >#66#return; 214622#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214621#factFINAL assume true; 214613#factEXIT >#66#return; 214611#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214610#factFINAL assume true; 214523#factEXIT >#66#return; 214525#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214443#factFINAL assume true; 214379#factEXIT >#74#return; 213533#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 213602#factENTRY ~n := #in~n; 214620#L25 assume !(~n <= 0); 214524#L26 call #t~ret0 := fact(~n - 1);< 214619#factENTRY ~n := #in~n; 214618#L25 assume !(~n <= 0); 213567#L26 call #t~ret0 := fact(~n - 1);< 214614#factENTRY ~n := #in~n; 214741#L25 assume !(~n <= 0); 213566#L26 call #t~ret0 := fact(~n - 1);< 213568#factENTRY ~n := #in~n; 214626#L25 assume ~n <= 0;#res := 1; 214625#factFINAL assume true; 214624#factEXIT >#66#return; 214622#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214621#factFINAL assume true; 214613#factEXIT >#66#return; 214611#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214610#factFINAL assume true; 214523#factEXIT >#66#return; 214525#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214443#factFINAL assume true; 214379#factEXIT >#76#return; 213673#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 214110#factENTRY ~n := #in~n; 214191#L25 assume !(~n <= 0); 214076#L26 call #t~ret0 := fact(~n - 1);< 214077#factENTRY ~n := #in~n; 214096#L25 assume ~n <= 0;#res := 1; 214097#factFINAL assume true; 214317#factEXIT >#66#return; 214316#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214309#factFINAL assume true; 213672#factEXIT >#78#return; 213562#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; 213563#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 213570#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 213605#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 213678#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 213682#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 213681#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 213680#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; 213633#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 213662#factENTRY ~n := #in~n; 213663#L25 assume !(~n <= 0); 213639#L26 call #t~ret0 := fact(~n - 1);< 213645#factENTRY ~n := #in~n; 213650#L25 assume !(~n <= 0); 213640#L26 call #t~ret0 := fact(~n - 1);< 213657#factENTRY ~n := #in~n; 213650#L25 assume !(~n <= 0); 213640#L26 call #t~ret0 := fact(~n - 1);< 213657#factENTRY ~n := #in~n; 213650#L25 assume !(~n <= 0); 213640#L26 call #t~ret0 := fact(~n - 1);< 213657#factENTRY ~n := #in~n; 213659#L25 assume ~n <= 0;#res := 1; 213658#factFINAL assume true; 213655#factEXIT >#66#return; 213656#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 213679#factFINAL assume true; 213638#factEXIT >#66#return; 213643#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214689#factFINAL assume true; 214688#factEXIT >#66#return; 213653#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 213646#factFINAL assume true; 213648#factEXIT >#66#return; 213637#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 213632#factFINAL assume true; 213636#factEXIT >#68#return; 213598#L30-1 [2022-07-22 01:30:41,456 INFO L754 eck$LassoCheckResult]: Loop: 213598#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 213599#factENTRY ~n := #in~n; 214647#L25 assume ~n <= 0;#res := 1; 214646#factFINAL assume true; 214641#factEXIT >#70#return; 214643#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 214708#factENTRY ~n := #in~n; 214717#L25 assume !(~n <= 0); 214712#L26 call #t~ret0 := fact(~n - 1);< 214715#factENTRY ~n := #in~n; 214727#L25 assume !(~n <= 0); 214696#L26 call #t~ret0 := fact(~n - 1);< 214713#factENTRY ~n := #in~n; 214726#L25 assume !(~n <= 0); 214697#L26 call #t~ret0 := fact(~n - 1);< 214725#factENTRY ~n := #in~n; 214726#L25 assume !(~n <= 0); 214697#L26 call #t~ret0 := fact(~n - 1);< 214725#factENTRY ~n := #in~n; 214792#L25 assume ~n <= 0;#res := 1; 214738#factFINAL assume true; 214732#factEXIT >#66#return; 214731#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214728#factFINAL assume true; 214720#factEXIT >#66#return; 214719#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214711#factFINAL assume true; 214694#factEXIT >#66#return; 214699#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214718#factFINAL assume true; 214714#factEXIT >#66#return; 214710#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214709#factFINAL assume true; 214707#factEXIT >#72#return; 214706#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; 214704#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 214702#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 214602#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 214601#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; 214516#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 214540#factENTRY ~n := #in~n; 214603#L25 assume !(~n <= 0); 214507#L26 call #t~ret0 := fact(~n - 1);< 214518#factENTRY ~n := #in~n; 214608#L25 assume !(~n <= 0); 214509#L26 call #t~ret0 := fact(~n - 1);< 214529#factENTRY ~n := #in~n; 214577#L25 assume !(~n <= 0); 214505#L26 call #t~ret0 := fact(~n - 1);< 214573#factENTRY ~n := #in~n; 214577#L25 assume !(~n <= 0); 214505#L26 call #t~ret0 := fact(~n - 1);< 214573#factENTRY ~n := #in~n; 214657#L25 assume ~n <= 0;#res := 1; 214655#factFINAL assume true; 214581#factEXIT >#66#return; 214580#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214572#factFINAL assume true; 214560#factEXIT >#66#return; 214567#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214612#factFINAL assume true; 214592#factEXIT >#66#return; 214595#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214515#factFINAL assume true; 214501#factEXIT >#66#return; 214512#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214543#factFINAL assume true; 214539#factEXIT >#68#return; 214478#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 214481#factENTRY ~n := #in~n; 214576#L25 assume !(~n <= 0); 214338#L26 call #t~ret0 := fact(~n - 1);< 214519#factENTRY ~n := #in~n; 214359#L25 assume ~n <= 0;#res := 1; 214343#factFINAL assume true; 214335#factEXIT >#66#return; 214341#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214634#factFINAL assume true; 214590#factEXIT >#70#return; 214484#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 214495#factENTRY ~n := #in~n; 214575#L25 assume !(~n <= 0); 214510#L26 call #t~ret0 := fact(~n - 1);< 214529#factENTRY ~n := #in~n; 214577#L25 assume !(~n <= 0); 214505#L26 call #t~ret0 := fact(~n - 1);< 214573#factENTRY ~n := #in~n; 214577#L25 assume !(~n <= 0); 214505#L26 call #t~ret0 := fact(~n - 1);< 214573#factENTRY ~n := #in~n; 214657#L25 assume ~n <= 0;#res := 1; 214655#factFINAL assume true; 214581#factEXIT >#66#return; 214580#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214572#factFINAL assume true; 214560#factEXIT >#66#return; 214567#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214612#factFINAL assume true; 214592#factEXIT >#66#return; 214591#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214494#factFINAL assume true; 214482#factEXIT >#72#return; 214492#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; 214559#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 214557#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 214556#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 214554#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; 214517#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 214540#factENTRY ~n := #in~n; 214603#L25 assume !(~n <= 0); 214507#L26 call #t~ret0 := fact(~n - 1);< 214518#factENTRY ~n := #in~n; 214608#L25 assume !(~n <= 0); 214509#L26 call #t~ret0 := fact(~n - 1);< 214529#factENTRY ~n := #in~n; 214577#L25 assume !(~n <= 0); 214505#L26 call #t~ret0 := fact(~n - 1);< 214573#factENTRY ~n := #in~n; 214577#L25 assume !(~n <= 0); 214505#L26 call #t~ret0 := fact(~n - 1);< 214573#factENTRY ~n := #in~n; 214657#L25 assume ~n <= 0;#res := 1; 214655#factFINAL assume true; 214581#factEXIT >#66#return; 214580#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214572#factFINAL assume true; 214560#factEXIT >#66#return; 214567#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214612#factFINAL assume true; 214592#factEXIT >#66#return; 214595#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214515#factFINAL assume true; 214501#factEXIT >#66#return; 214512#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214543#factFINAL assume true; 214539#factEXIT >#68#return; 214472#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 214481#factENTRY ~n := #in~n; 214576#L25 assume !(~n <= 0); 214338#L26 call #t~ret0 := fact(~n - 1);< 214519#factENTRY ~n := #in~n; 214577#L25 assume !(~n <= 0); 214505#L26 call #t~ret0 := fact(~n - 1);< 214573#factENTRY ~n := #in~n; 214657#L25 assume ~n <= 0;#res := 1; 214655#factFINAL assume true; 214581#factEXIT >#66#return; 214580#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214572#factFINAL assume true; 214560#factEXIT >#66#return; 214558#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214555#factFINAL assume true; 214553#factEXIT >#70#return; 214485#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 214552#factENTRY ~n := #in~n; 214650#L25 assume !(~n <= 0); 214336#L26 call #t~ret0 := fact(~n - 1);< 214519#factENTRY ~n := #in~n; 214359#L25 assume ~n <= 0;#res := 1; 214343#factFINAL assume true; 214335#factEXIT >#66#return; 214340#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214651#factFINAL assume true; 214546#factEXIT >#72#return; 214400#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; 214545#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 214544#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 214542#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 214541#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; 214423#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 214540#factENTRY ~n := #in~n; 214603#L25 assume !(~n <= 0); 214507#L26 call #t~ret0 := fact(~n - 1);< 214518#factENTRY ~n := #in~n; 214608#L25 assume !(~n <= 0); 214509#L26 call #t~ret0 := fact(~n - 1);< 214529#factENTRY ~n := #in~n; 214577#L25 assume !(~n <= 0); 214505#L26 call #t~ret0 := fact(~n - 1);< 214573#factENTRY ~n := #in~n; 214577#L25 assume !(~n <= 0); 214505#L26 call #t~ret0 := fact(~n - 1);< 214573#factENTRY ~n := #in~n; 214657#L25 assume ~n <= 0;#res := 1; 214655#factFINAL assume true; 214581#factEXIT >#66#return; 214580#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214572#factFINAL assume true; 214560#factEXIT >#66#return; 214567#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214612#factFINAL assume true; 214592#factEXIT >#66#return; 214595#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214515#factFINAL assume true; 214501#factEXIT >#66#return; 214512#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214543#factFINAL assume true; 214539#factEXIT >#68#return; 214474#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 214481#factENTRY ~n := #in~n; 214576#L25 assume !(~n <= 0); 214338#L26 call #t~ret0 := fact(~n - 1);< 214519#factENTRY ~n := #in~n; 214577#L25 assume !(~n <= 0); 214505#L26 call #t~ret0 := fact(~n - 1);< 214573#factENTRY ~n := #in~n; 214577#L25 assume !(~n <= 0); 214505#L26 call #t~ret0 := fact(~n - 1);< 214573#factENTRY ~n := #in~n; 214577#L25 assume !(~n <= 0); 214505#L26 call #t~ret0 := fact(~n - 1);< 214573#factENTRY ~n := #in~n; 214657#L25 assume ~n <= 0;#res := 1; 214655#factFINAL assume true; 214581#factEXIT >#66#return; 214580#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214572#factFINAL assume true; 214560#factEXIT >#66#return; 214567#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214612#factFINAL assume true; 214592#factEXIT >#66#return; 214595#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214515#factFINAL assume true; 214501#factEXIT >#66#return; 214513#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214627#factFINAL assume true; 214538#factEXIT >#70#return; 214399#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 214447#factENTRY ~n := #in~n; 214649#L25 assume ~n <= 0;#res := 1; 214446#factFINAL assume true; 214397#factEXIT >#72#return; 214401#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; 214536#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 214535#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 214534#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 214422#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; 214420#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 214421#factENTRY ~n := #in~n; 214781#L25 assume !(~n <= 0); 214429#L26 call #t~ret0 := fact(~n - 1);< 214437#factENTRY ~n := #in~n; 214740#L25 assume !(~n <= 0); 214430#L26 call #t~ret0 := fact(~n - 1);< 214462#factENTRY ~n := #in~n; 214788#L25 assume !(~n <= 0); 214433#L26 call #t~ret0 := fact(~n - 1);< 214526#factENTRY ~n := #in~n; 214617#L25 assume !(~n <= 0); 214434#L26 call #t~ret0 := fact(~n - 1);< 214615#factENTRY ~n := #in~n; 214617#L25 assume !(~n <= 0); 214434#L26 call #t~ret0 := fact(~n - 1);< 214615#factENTRY ~n := #in~n; 214626#L25 assume ~n <= 0;#res := 1; 214625#factFINAL assume true; 214624#factEXIT >#66#return; 214622#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214621#factFINAL assume true; 214613#factEXIT >#66#return; 214611#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214610#factFINAL assume true; 214523#factEXIT >#66#return; 214521#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214465#factFINAL assume true; 214463#factEXIT >#66#return; 214436#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214461#factFINAL assume true; 214428#factEXIT >#66#return; 214426#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214425#factFINAL assume true; 214419#factEXIT >#74#return; 213534#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 214415#factENTRY ~n := #in~n; 214579#L25 assume !(~n <= 0); 214435#L26 call #t~ret0 := fact(~n - 1);< 214467#factENTRY ~n := #in~n; 214617#L25 assume !(~n <= 0); 214434#L26 call #t~ret0 := fact(~n - 1);< 214615#factENTRY ~n := #in~n; 214617#L25 assume !(~n <= 0); 214434#L26 call #t~ret0 := fact(~n - 1);< 214615#factENTRY ~n := #in~n; 214617#L25 assume !(~n <= 0); 214434#L26 call #t~ret0 := fact(~n - 1);< 214615#factENTRY ~n := #in~n; 214617#L25 assume !(~n <= 0); 214434#L26 call #t~ret0 := fact(~n - 1);< 214615#factENTRY ~n := #in~n; 214626#L25 assume ~n <= 0;#res := 1; 214625#factFINAL assume true; 214624#factEXIT >#66#return; 214622#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214621#factFINAL assume true; 214613#factEXIT >#66#return; 214611#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214610#factFINAL assume true; 214523#factEXIT >#66#return; 214521#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214465#factFINAL assume true; 214463#factEXIT >#66#return; 214436#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214461#factFINAL assume true; 214428#factEXIT >#66#return; 214426#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214425#factFINAL assume true; 214419#factEXIT >#76#return; 213675#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 214110#factENTRY ~n := #in~n; 214191#L25 assume !(~n <= 0); 214076#L26 call #t~ret0 := fact(~n - 1);< 214077#factENTRY ~n := #in~n; 214096#L25 assume ~n <= 0;#res := 1; 214097#factFINAL assume true; 214317#factEXIT >#66#return; 214316#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214309#factFINAL assume true; 213672#factEXIT >#78#return; 213671#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; 213670#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 213669#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 213668#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 213667#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 213666#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 213665#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 213664#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; 213634#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 213661#factENTRY ~n := #in~n; 213660#L25 assume !(~n <= 0); 213647#L26 call #t~ret0 := fact(~n - 1);< 213651#factENTRY ~n := #in~n; 213652#L25 assume !(~n <= 0); 213642#L26 call #t~ret0 := fact(~n - 1);< 213649#factENTRY ~n := #in~n; 213650#L25 assume !(~n <= 0); 213640#L26 call #t~ret0 := fact(~n - 1);< 213657#factENTRY ~n := #in~n; 213650#L25 assume !(~n <= 0); 213640#L26 call #t~ret0 := fact(~n - 1);< 213657#factENTRY ~n := #in~n; 213659#L25 assume ~n <= 0;#res := 1; 213658#factFINAL assume true; 213655#factEXIT >#66#return; 213656#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 213679#factFINAL assume true; 213638#factEXIT >#66#return; 213643#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 214689#factFINAL assume true; 214688#factEXIT >#66#return; 213653#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 213646#factFINAL assume true; 213648#factEXIT >#66#return; 213637#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 213632#factFINAL assume true; 213636#factEXIT >#68#return; 213598#L30-1 [2022-07-22 01:30:41,457 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:41,457 INFO L85 PathProgramCache]: Analyzing trace with hash -434340571, now seen corresponding path program 27 times [2022-07-22 01:30:41,457 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:41,457 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1463799347] [2022-07-22 01:30:41,457 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:41,457 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:41,480 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:41,480 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [278888525] [2022-07-22 01:30:41,480 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 01:30:41,481 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:41,481 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:41,482 INFO L229 MonitoredProcess]: Starting monitored process 175 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:41,483 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (175)] Waiting until timeout for monitored process [2022-07-22 01:30:41,651 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 10 check-sat command(s) [2022-07-22 01:30:41,651 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:41,653 INFO L263 TraceCheckSpWp]: Trace formula consists of 380 conjuncts, 24 conjunts are in the unsatisfiable core [2022-07-22 01:30:41,656 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:41,885 INFO L134 CoverageAnalysis]: Checked inductivity of 10755 backedges. 1648 proven. 208 refuted. 0 times theorem prover too weak. 8899 trivial. 0 not checked. [2022-07-22 01:30:41,885 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:43,033 INFO L134 CoverageAnalysis]: Checked inductivity of 10755 backedges. 1648 proven. 221 refuted. 0 times theorem prover too weak. 8886 trivial. 0 not checked. [2022-07-22 01:30:43,034 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:43,034 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1463799347] [2022-07-22 01:30:43,034 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:43,034 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [278888525] [2022-07-22 01:30:43,034 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [278888525] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:43,035 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:43,035 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 22] total 25 [2022-07-22 01:30:43,035 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1205317820] [2022-07-22 01:30:43,035 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:43,036 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:30:43,036 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:43,036 INFO L85 PathProgramCache]: Analyzing trace with hash 192411837, now seen corresponding path program 25 times [2022-07-22 01:30:43,036 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:43,036 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [571376021] [2022-07-22 01:30:43,037 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:43,037 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:43,048 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:43,048 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [623117890] [2022-07-22 01:30:43,049 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-22 01:30:43,049 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:43,049 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:43,052 INFO L229 MonitoredProcess]: Starting monitored process 176 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:43,052 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (176)] Waiting until timeout for monitored process [2022-07-22 01:30:43,251 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:30:43,253 INFO L263 TraceCheckSpWp]: Trace formula consists of 767 conjuncts, 28 conjunts are in the unsatisfiable core [2022-07-22 01:30:43,255 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:43,492 INFO L134 CoverageAnalysis]: Checked inductivity of 8171 backedges. 4483 proven. 386 refuted. 0 times theorem prover too weak. 3302 trivial. 0 not checked. [2022-07-22 01:30:43,492 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:44,749 INFO L134 CoverageAnalysis]: Checked inductivity of 8171 backedges. 369 proven. 1395 refuted. 0 times theorem prover too weak. 6407 trivial. 0 not checked. [2022-07-22 01:30:44,749 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:44,749 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [571376021] [2022-07-22 01:30:44,749 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:44,750 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [623117890] [2022-07-22 01:30:44,750 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [623117890] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:44,750 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:44,750 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 19] total 26 [2022-07-22 01:30:44,750 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1077744511] [2022-07-22 01:30:44,750 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:44,750 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:30:44,750 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:30:44,751 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-07-22 01:30:44,751 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=561, Unknown=0, NotChecked=0, Total=650 [2022-07-22 01:30:44,751 INFO L87 Difference]: Start difference. First operand 1430 states and 2238 transitions. cyclomatic complexity: 830 Second operand has 26 states, 20 states have (on average 3.3) internal successors, (66), 24 states have internal predecessors, (66), 17 states have call successors, (35), 2 states have call predecessors, (35), 8 states have return successors, (37), 13 states have call predecessors, (37), 17 states have call successors, (37) [2022-07-22 01:30:46,601 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:30:46,601 INFO L93 Difference]: Finished difference Result 1669 states and 2543 transitions. [2022-07-22 01:30:46,602 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-07-22 01:30:46,602 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1669 states and 2543 transitions. [2022-07-22 01:30:46,609 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 239 [2022-07-22 01:30:46,615 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1669 states to 1626 states and 2488 transitions. [2022-07-22 01:30:46,616 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 305 [2022-07-22 01:30:46,616 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 305 [2022-07-22 01:30:46,616 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1626 states and 2488 transitions. [2022-07-22 01:30:46,616 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:30:46,616 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1626 states and 2488 transitions. [2022-07-22 01:30:46,616 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1626 states and 2488 transitions. [2022-07-22 01:30:46,633 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1626 to 1447. [2022-07-22 01:30:46,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1447 states, 910 states have (on average 1.0956043956043957) internal successors, (997), 914 states have internal predecessors, (997), 380 states have call successors, (380), 189 states have call predecessors, (380), 157 states have return successors, (891), 343 states have call predecessors, (891), 380 states have call successors, (891) [2022-07-22 01:30:46,639 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1447 states to 1447 states and 2268 transitions. [2022-07-22 01:30:46,639 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1447 states and 2268 transitions. [2022-07-22 01:30:46,639 INFO L374 stractBuchiCegarLoop]: Abstraction has 1447 states and 2268 transitions. [2022-07-22 01:30:46,639 INFO L287 stractBuchiCegarLoop]: ======== Iteration 41 ============ [2022-07-22 01:30:46,639 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1447 states and 2268 transitions. [2022-07-22 01:30:46,643 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 175 [2022-07-22 01:30:46,643 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:30:46,643 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:30:46,645 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [67, 67, 36, 36, 36, 36, 31, 11, 10, 7, 7, 7, 6, 6, 6, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 1, 1, 1, 1] [2022-07-22 01:30:46,645 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [46, 46, 31, 31, 31, 31, 15, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:30:46,646 INFO L752 eck$LassoCheckResult]: Stem: 221573#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 221545#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; 221546#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 221572#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; 221560#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 221561#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 222715#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; 221537#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 221538#factENTRY ~n := #in~n; 222530#L25 assume ~n <= 0;#res := 1; 222528#factFINAL assume true; 222525#factEXIT >#68#return; 221588#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 221589#factENTRY ~n := #in~n; 222600#L25 assume ~n <= 0;#res := 1; 222596#factFINAL assume true; 222591#factEXIT >#70#return; 221493#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 221494#factENTRY ~n := #in~n; 222727#L25 assume ~n <= 0;#res := 1; 222726#factFINAL assume true; 222724#factEXIT >#72#return; 222722#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; 222723#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 222718#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 222719#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 221576#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; 221577#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 222776#factENTRY ~n := #in~n; 222766#L25 assume !(~n <= 0); 222760#L26 call #t~ret0 := fact(~n - 1);< 222770#factENTRY ~n := #in~n; 222767#L25 assume ~n <= 0;#res := 1; 222768#factFINAL assume true; 222759#factEXIT >#66#return; 222758#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222756#factFINAL assume true; 222757#factEXIT >#74#return; 221590#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 221591#factENTRY ~n := #in~n; 222791#L25 assume ~n <= 0;#res := 1; 222788#factFINAL assume true; 222787#factEXIT >#76#return; 221962#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 222790#factENTRY ~n := #in~n; 222802#L25 assume !(~n <= 0); 222795#L26 call #t~ret0 := fact(~n - 1);< 222797#factENTRY ~n := #in~n; 222822#L25 assume ~n <= 0;#res := 1; 222798#factFINAL assume true; 222793#factEXIT >#66#return; 222792#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222789#factFINAL assume true; 221961#factEXIT >#78#return; 221958#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; 221956#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 221954#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 221948#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 221949#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; 221880#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 221904#factENTRY ~n := #in~n; 221898#L25 assume !(~n <= 0); 221899#L26 call #t~ret0 := fact(~n - 1);< 221928#factENTRY ~n := #in~n; 221925#L25 assume !(~n <= 0); 221914#L26 call #t~ret0 := fact(~n - 1);< 221922#factENTRY ~n := #in~n; 221926#L25 assume ~n <= 0;#res := 1; 221923#factFINAL assume true; 221921#factEXIT >#66#return; 221920#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 221918#factFINAL assume true; 221912#factEXIT >#66#return; 221911#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 221908#factFINAL assume true; 221903#factEXIT >#74#return; 221890#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 221893#factENTRY ~n := #in~n; 221907#L25 assume ~n <= 0;#res := 1; 221896#factFINAL assume true; 221892#factEXIT >#76#return; 221878#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 221909#factENTRY ~n := #in~n; 221929#L25 assume !(~n <= 0); 221913#L26 call #t~ret0 := fact(~n - 1);< 221917#factENTRY ~n := #in~n; 221925#L25 assume !(~n <= 0); 221914#L26 call #t~ret0 := fact(~n - 1);< 221922#factENTRY ~n := #in~n; 221926#L25 assume ~n <= 0;#res := 1; 221923#factFINAL assume true; 221921#factEXIT >#66#return; 221920#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 221918#factFINAL assume true; 221912#factEXIT >#66#return; 221911#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 221908#factFINAL assume true; 221903#factEXIT >#78#return; 221856#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; 221855#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 221846#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 221840#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 221839#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 221837#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 221834#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 221826#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; 221820#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 221822#factENTRY ~n := #in~n; 221832#L25 assume !(~n <= 0); 221829#L26 call #t~ret0 := fact(~n - 1);< 221830#factENTRY ~n := #in~n; 221833#L25 assume ~n <= 0;#res := 1; 221831#factFINAL assume true; 221828#factEXIT >#66#return; 221825#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 221824#factFINAL assume true; 221819#factEXIT >#68#return; 221815#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 221817#factENTRY ~n := #in~n; 221823#L25 assume ~n <= 0;#res := 1; 221818#factFINAL assume true; 221814#factEXIT >#70#return; 221810#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 221813#factENTRY ~n := #in~n; 221844#L25 assume !(~n <= 0); 221842#L26 call #t~ret0 := fact(~n - 1);< 221843#factENTRY ~n := #in~n; 221847#L25 assume ~n <= 0;#res := 1; 221845#factFINAL assume true; 221841#factEXIT >#66#return; 221838#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 221836#factFINAL assume true; 221809#factEXIT >#72#return; 221807#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; 221805#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 221788#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 221776#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 221738#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; 221730#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 221732#factENTRY ~n := #in~n; 221753#L25 assume !(~n <= 0); 221746#L26 call #t~ret0 := fact(~n - 1);< 221747#factENTRY ~n := #in~n; 221757#L25 assume ~n <= 0;#res := 1; 221755#factFINAL assume true; 221745#factEXIT >#66#return; 221737#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 221735#factFINAL assume true; 221729#factEXIT >#68#return; 221727#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 221728#factENTRY ~n := #in~n; 221754#L25 assume !(~n <= 0); 221740#L26 call #t~ret0 := fact(~n - 1);< 221744#factENTRY ~n := #in~n; 221756#L25 assume ~n <= 0;#res := 1; 221748#factFINAL assume true; 221739#factEXIT >#66#return; 221736#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 221734#factFINAL assume true; 221725#factEXIT >#70#return; 221716#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 221718#factENTRY ~n := #in~n; 221723#L25 assume ~n <= 0;#res := 1; 221722#factFINAL assume true; 221715#factEXIT >#72#return; 221714#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; 221710#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 221707#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 221703#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 221696#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; 221687#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 221689#factENTRY ~n := #in~n; 221706#L25 assume !(~n <= 0); 221700#L26 call #t~ret0 := fact(~n - 1);< 221702#factENTRY ~n := #in~n; 221721#L25 assume !(~n <= 0); 221701#L26 call #t~ret0 := fact(~n - 1);< 221713#factENTRY ~n := #in~n; 221720#L25 assume ~n <= 0;#res := 1; 221719#factFINAL assume true; 221712#factEXIT >#66#return; 221709#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 221705#factFINAL assume true; 221699#factEXIT >#66#return; 221695#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 221692#factFINAL assume true; 221686#factEXIT >#74#return; 221679#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 221684#factENTRY ~n := #in~n; 221772#L25 assume !(~n <= 0); 221770#L26 call #t~ret0 := fact(~n - 1);< 221771#factENTRY ~n := #in~n; 221724#L25 assume ~n <= 0;#res := 1; 221773#factFINAL assume true; 221769#factEXIT >#66#return; 221768#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 221766#factFINAL assume true; 221678#factEXIT >#76#return; 221681#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 221684#factENTRY ~n := #in~n; 221772#L25 assume !(~n <= 0); 221770#L26 call #t~ret0 := fact(~n - 1);< 221771#factENTRY ~n := #in~n; 221724#L25 assume ~n <= 0;#res := 1; 221773#factFINAL assume true; 221769#factEXIT >#66#return; 221768#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 221766#factFINAL assume true; 221678#factEXIT >#78#return; 221653#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; 221651#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 221648#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 221647#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 221570#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 221571#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 221646#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 221645#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; 221535#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 221536#factENTRY ~n := #in~n; 221614#L25 assume !(~n <= 0); 221607#L26 call #t~ret0 := fact(~n - 1);< 221613#factENTRY ~n := #in~n; 221621#L25 assume !(~n <= 0); 221610#L26 call #t~ret0 := fact(~n - 1);< 221629#factENTRY ~n := #in~n; 221631#L25 assume ~n <= 0;#res := 1; 221630#factFINAL assume true; 221627#factEXIT >#66#return; 221628#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 221636#factFINAL assume true; 221606#factEXIT >#66#return; 221611#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 221644#factFINAL assume true; 221597#factEXIT >#68#return; 221599#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 221587#factENTRY ~n := #in~n; 222344#L25 assume ~n <= 0;#res := 1; 222343#factFINAL assume true; 222339#factEXIT >#70#return; 222335#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 222338#factENTRY ~n := #in~n; 222360#L25 assume !(~n <= 0); 222354#L26 call #t~ret0 := fact(~n - 1);< 222358#factENTRY ~n := #in~n; 222429#L25 assume !(~n <= 0); 222352#L26 call #t~ret0 := fact(~n - 1);< 222407#factENTRY ~n := #in~n; 222405#L25 assume ~n <= 0;#res := 1; 222404#factFINAL assume true; 222372#factEXIT >#66#return; 222370#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222364#factFINAL assume true; 222351#factEXIT >#66#return; 222350#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222348#factFINAL assume true; 222334#factEXIT >#72#return; 222337#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; 222520#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 222518#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 222516#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 222514#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; 222253#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 222257#factENTRY ~n := #in~n; 222272#L25 assume !(~n <= 0); 222242#L26 call #t~ret0 := fact(~n - 1);< 222269#factENTRY ~n := #in~n; 222395#L25 assume !(~n <= 0); 222241#L26 call #t~ret0 := fact(~n - 1);< 222309#factENTRY ~n := #in~n; 222388#L25 assume ~n <= 0;#res := 1; 222386#factFINAL assume true; 222307#factEXIT >#66#return; 222305#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222260#factFINAL assume true; 222238#factEXIT >#66#return; 222244#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222326#factFINAL assume true; 222322#factEXIT >#68#return; 222063#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 222076#factENTRY ~n := #in~n; 222315#L25 assume !(~n <= 0); 222196#L26 call #t~ret0 := fact(~n - 1);< 222247#factENTRY ~n := #in~n; 222476#L25 assume ~n <= 0;#res := 1; 222417#factFINAL assume true; 222381#factEXIT >#66#return; 222384#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222446#factFINAL assume true; 222445#factEXIT >#70#return; 222288#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 222293#factENTRY ~n := #in~n; 222426#L25 assume !(~n <= 0); 222078#L26 call #t~ret0 := fact(~n - 1);< 222385#factENTRY ~n := #in~n; 222476#L25 assume ~n <= 0;#res := 1; 222417#factFINAL assume true; 222381#factEXIT >#66#return; 222378#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222299#factFINAL assume true; 222286#factEXIT >#72#return; 222292#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; 222573#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 222572#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 222570#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 222568#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; 222251#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 222257#factENTRY ~n := #in~n; 222272#L25 assume !(~n <= 0); 222242#L26 call #t~ret0 := fact(~n - 1);< 222269#factENTRY ~n := #in~n; 222395#L25 assume !(~n <= 0); 222241#L26 call #t~ret0 := fact(~n - 1);< 222309#factENTRY ~n := #in~n; 222388#L25 assume ~n <= 0;#res := 1; 222386#factFINAL assume true; 222307#factEXIT >#66#return; 222305#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222260#factFINAL assume true; 222238#factEXIT >#66#return; 222244#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222326#factFINAL assume true; 222322#factEXIT >#68#return; 222065#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 222076#factENTRY ~n := #in~n; 222315#L25 assume !(~n <= 0); 222196#L26 call #t~ret0 := fact(~n - 1);< 222247#factENTRY ~n := #in~n; 222313#L25 assume !(~n <= 0); 222199#L26 call #t~ret0 := fact(~n - 1);< 222311#factENTRY ~n := #in~n; 222388#L25 assume ~n <= 0;#res := 1; 222386#factFINAL assume true; 222307#factEXIT >#66#return; 222305#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222260#factFINAL assume true; 222238#factEXIT >#66#return; 222235#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222216#factFINAL assume true; 222120#factEXIT >#70#return; 222037#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 222045#factENTRY ~n := #in~n; 222077#L25 assume ~n <= 0;#res := 1; 222044#factFINAL assume true; 222034#factEXIT >#72#return; 222041#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; 222368#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 222367#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 222018#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 222008#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; 222004#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 222005#factENTRY ~n := #in~n; 222110#L25 assume !(~n <= 0); 222055#L26 call #t~ret0 := fact(~n - 1);< 222104#factENTRY ~n := #in~n; 222275#L25 assume !(~n <= 0); 222057#L26 call #t~ret0 := fact(~n - 1);< 222215#factENTRY ~n := #in~n; 222275#L25 assume !(~n <= 0); 222057#L26 call #t~ret0 := fact(~n - 1);< 222215#factENTRY ~n := #in~n; 222312#L25 assume ~n <= 0;#res := 1; 222306#factFINAL assume true; 222302#factEXIT >#66#return; 222301#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222236#factFINAL assume true; 222211#factEXIT >#66#return; 222210#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222109#factFINAL assume true; 222098#factEXIT >#66#return; 222100#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222320#factFINAL assume true; 222316#factEXIT >#74#return; 221997#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 221998#factENTRY ~n := #in~n; 222119#L25 assume !(~n <= 0); 222099#L26 call #t~ret0 := fact(~n - 1);< 222237#factENTRY ~n := #in~n; 222274#L25 assume !(~n <= 0); 222212#L26 call #t~ret0 := fact(~n - 1);< 222214#factENTRY ~n := #in~n; 222394#L25 assume !(~n <= 0); 222303#L26 call #t~ret0 := fact(~n - 1);< 222304#factENTRY ~n := #in~n; 222312#L25 assume ~n <= 0;#res := 1; 222306#factFINAL assume true; 222302#factEXIT >#66#return; 222301#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222236#factFINAL assume true; 222211#factEXIT >#66#return; 222210#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222109#factFINAL assume true; 222098#factEXIT >#66#return; 222100#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222320#factFINAL assume true; 222316#factEXIT >#76#return; 221671#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 221999#factENTRY ~n := #in~n; 222016#L25 assume !(~n <= 0); 222013#L26 call #t~ret0 := fact(~n - 1);< 222014#factENTRY ~n := #in~n; 222017#L25 assume ~n <= 0;#res := 1; 222015#factFINAL assume true; 222012#factEXIT >#66#return; 222011#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222007#factFINAL assume true; 221670#factEXIT >#78#return; 221669#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; 221649#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 221642#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 221641#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 221640#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 221639#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 221638#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 221637#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; 221603#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 221615#factENTRY ~n := #in~n; 221616#L25 assume !(~n <= 0); 221608#L26 call #t~ret0 := fact(~n - 1);< 221613#factENTRY ~n := #in~n; 221621#L25 assume !(~n <= 0); 221610#L26 call #t~ret0 := fact(~n - 1);< 221629#factENTRY ~n := #in~n; 221621#L25 assume !(~n <= 0); 221610#L26 call #t~ret0 := fact(~n - 1);< 221629#factENTRY ~n := #in~n; 221631#L25 assume ~n <= 0;#res := 1; 221630#factFINAL assume true; 221627#factEXIT >#66#return; 221628#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 221636#factFINAL assume true; 221606#factEXIT >#66#return; 221612#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222451#factFINAL assume true; 221635#factEXIT >#66#return; 221605#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 221600#factFINAL assume true; 221604#factEXIT >#68#return; 222340#L30-1 [2022-07-22 01:30:46,646 INFO L754 eck$LassoCheckResult]: Loop: 222340#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 221587#factENTRY ~n := #in~n; 222344#L25 assume ~n <= 0;#res := 1; 222343#factFINAL assume true; 222339#factEXIT >#70#return; 222341#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 222391#factENTRY ~n := #in~n; 222390#L25 assume !(~n <= 0); 222365#L26 call #t~ret0 := fact(~n - 1);< 222389#factENTRY ~n := #in~n; 222387#L25 assume !(~n <= 0); 222356#L26 call #t~ret0 := fact(~n - 1);< 222366#factENTRY ~n := #in~n; 222376#L25 assume !(~n <= 0); 222373#L26 call #t~ret0 := fact(~n - 1);< 222375#factENTRY ~n := #in~n; 222405#L25 assume ~n <= 0;#res := 1; 222404#factFINAL assume true; 222372#factEXIT >#66#return; 222370#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222364#factFINAL assume true; 222351#factEXIT >#66#return; 222357#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222559#factFINAL assume true; 222554#factEXIT >#66#return; 222552#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222524#factFINAL assume true; 222522#factEXIT >#72#return; 222521#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; 222519#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 222517#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 222515#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 222513#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; 222254#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 222273#factENTRY ~n := #in~n; 222271#L25 assume !(~n <= 0); 222265#L26 call #t~ret0 := fact(~n - 1);< 222270#factENTRY ~n := #in~n; 222317#L25 assume !(~n <= 0); 222243#L26 call #t~ret0 := fact(~n - 1);< 222262#factENTRY ~n := #in~n; 222396#L25 assume !(~n <= 0); 222308#L26 call #t~ret0 := fact(~n - 1);< 222310#factENTRY ~n := #in~n; 222388#L25 assume ~n <= 0;#res := 1; 222386#factFINAL assume true; 222307#factEXIT >#66#return; 222305#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222260#factFINAL assume true; 222238#factEXIT >#66#return; 222246#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222280#factFINAL assume true; 222264#factEXIT >#66#return; 222259#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222258#factFINAL assume true; 222248#factEXIT >#68#return; 222066#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 222076#factENTRY ~n := #in~n; 222315#L25 assume !(~n <= 0); 222196#L26 call #t~ret0 := fact(~n - 1);< 222247#factENTRY ~n := #in~n; 222476#L25 assume ~n <= 0;#res := 1; 222417#factFINAL assume true; 222381#factEXIT >#66#return; 222384#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222446#factFINAL assume true; 222445#factEXIT >#70#return; 222261#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 222327#factENTRY ~n := #in~n; 222585#L25 assume !(~n <= 0); 222239#L26 call #t~ret0 := fact(~n - 1);< 222262#factENTRY ~n := #in~n; 222396#L25 assume !(~n <= 0); 222308#L26 call #t~ret0 := fact(~n - 1);< 222310#factENTRY ~n := #in~n; 222388#L25 assume ~n <= 0;#res := 1; 222386#factFINAL assume true; 222307#factEXIT >#66#return; 222305#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222260#factFINAL assume true; 222238#factEXIT >#66#return; 222244#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222326#factFINAL assume true; 222322#factEXIT >#72#return; 222323#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; 222349#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 222347#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 222346#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 222345#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; 222255#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 222273#factENTRY ~n := #in~n; 222271#L25 assume !(~n <= 0); 222265#L26 call #t~ret0 := fact(~n - 1);< 222270#factENTRY ~n := #in~n; 222317#L25 assume !(~n <= 0); 222243#L26 call #t~ret0 := fact(~n - 1);< 222262#factENTRY ~n := #in~n; 222396#L25 assume !(~n <= 0); 222308#L26 call #t~ret0 := fact(~n - 1);< 222310#factENTRY ~n := #in~n; 222388#L25 assume ~n <= 0;#res := 1; 222386#factFINAL assume true; 222307#factEXIT >#66#return; 222305#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222260#factFINAL assume true; 222238#factEXIT >#66#return; 222246#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222280#factFINAL assume true; 222264#factEXIT >#66#return; 222259#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222258#factFINAL assume true; 222248#factEXIT >#68#return; 222064#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 222076#factENTRY ~n := #in~n; 222315#L25 assume !(~n <= 0); 222196#L26 call #t~ret0 := fact(~n - 1);< 222247#factENTRY ~n := #in~n; 222313#L25 assume !(~n <= 0); 222199#L26 call #t~ret0 := fact(~n - 1);< 222311#factENTRY ~n := #in~n; 222388#L25 assume ~n <= 0;#res := 1; 222386#factFINAL assume true; 222307#factEXIT >#66#return; 222305#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222260#factFINAL assume true; 222238#factEXIT >#66#return; 222235#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222216#factFINAL assume true; 222120#factEXIT >#70#return; 222121#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 222293#factENTRY ~n := #in~n; 222426#L25 assume !(~n <= 0); 222078#L26 call #t~ret0 := fact(~n - 1);< 222385#factENTRY ~n := #in~n; 222476#L25 assume ~n <= 0;#res := 1; 222417#factFINAL assume true; 222381#factEXIT >#66#return; 222378#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222299#factFINAL assume true; 222286#factEXIT >#72#return; 222283#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; 222279#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 222278#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 222277#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 222276#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; 222089#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 222273#factENTRY ~n := #in~n; 222271#L25 assume !(~n <= 0); 222265#L26 call #t~ret0 := fact(~n - 1);< 222270#factENTRY ~n := #in~n; 222317#L25 assume !(~n <= 0); 222243#L26 call #t~ret0 := fact(~n - 1);< 222262#factENTRY ~n := #in~n; 222396#L25 assume !(~n <= 0); 222308#L26 call #t~ret0 := fact(~n - 1);< 222310#factENTRY ~n := #in~n; 222388#L25 assume ~n <= 0;#res := 1; 222386#factFINAL assume true; 222307#factEXIT >#66#return; 222305#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222260#factFINAL assume true; 222238#factEXIT >#66#return; 222246#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222280#factFINAL assume true; 222264#factEXIT >#66#return; 222259#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222258#factFINAL assume true; 222248#factEXIT >#68#return; 222072#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 222076#factENTRY ~n := #in~n; 222315#L25 assume !(~n <= 0); 222196#L26 call #t~ret0 := fact(~n - 1);< 222247#factENTRY ~n := #in~n; 222313#L25 assume !(~n <= 0); 222199#L26 call #t~ret0 := fact(~n - 1);< 222311#factENTRY ~n := #in~n; 222313#L25 assume !(~n <= 0); 222199#L26 call #t~ret0 := fact(~n - 1);< 222311#factENTRY ~n := #in~n; 222388#L25 assume ~n <= 0;#res := 1; 222386#factFINAL assume true; 222307#factEXIT >#66#return; 222305#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222260#factFINAL assume true; 222238#factEXIT >#66#return; 222246#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222280#factFINAL assume true; 222264#factEXIT >#66#return; 222268#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222218#factFINAL assume true; 222122#factEXIT >#70#return; 222039#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 222045#factENTRY ~n := #in~n; 222077#L25 assume ~n <= 0;#res := 1; 222044#factFINAL assume true; 222034#factEXIT >#72#return; 222042#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; 222096#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 222095#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 222091#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 222088#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; 222020#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 222046#factENTRY ~n := #in~n; 222328#L25 assume !(~n <= 0); 222053#L26 call #t~ret0 := fact(~n - 1);< 222059#factENTRY ~n := #in~n; 222187#L25 assume !(~n <= 0); 222054#L26 call #t~ret0 := fact(~n - 1);< 222101#factENTRY ~n := #in~n; 222275#L25 assume !(~n <= 0); 222057#L26 call #t~ret0 := fact(~n - 1);< 222215#factENTRY ~n := #in~n; 222275#L25 assume !(~n <= 0); 222057#L26 call #t~ret0 := fact(~n - 1);< 222215#factENTRY ~n := #in~n; 222312#L25 assume ~n <= 0;#res := 1; 222306#factFINAL assume true; 222302#factEXIT >#66#return; 222301#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222236#factFINAL assume true; 222211#factEXIT >#66#return; 222210#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222109#factFINAL assume true; 222098#factEXIT >#66#return; 222097#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222092#factFINAL assume true; 222050#factEXIT >#66#return; 222048#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222047#factFINAL assume true; 222019#factEXIT >#74#return; 222001#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 221998#factENTRY ~n := #in~n; 222119#L25 assume !(~n <= 0); 222099#L26 call #t~ret0 := fact(~n - 1);< 222237#factENTRY ~n := #in~n; 222274#L25 assume !(~n <= 0); 222212#L26 call #t~ret0 := fact(~n - 1);< 222214#factENTRY ~n := #in~n; 222312#L25 assume ~n <= 0;#res := 1; 222306#factFINAL assume true; 222302#factEXIT >#66#return; 222301#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222236#factFINAL assume true; 222211#factEXIT >#66#return; 222213#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222000#factFINAL assume true; 222003#factEXIT >#76#return; 221672#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 221999#factENTRY ~n := #in~n; 222016#L25 assume !(~n <= 0); 222013#L26 call #t~ret0 := fact(~n - 1);< 222014#factENTRY ~n := #in~n; 222017#L25 assume ~n <= 0;#res := 1; 222015#factFINAL assume true; 222012#factEXIT >#66#return; 222011#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222007#factFINAL assume true; 221670#factEXIT >#78#return; 221547#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; 221548#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 221592#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 221593#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 221568#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 221569#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 221946#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 221947#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; 221601#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 221633#factENTRY ~n := #in~n; 221632#L25 assume !(~n <= 0); 221618#L26 call #t~ret0 := fact(~n - 1);< 221622#factENTRY ~n := #in~n; 221623#L25 assume !(~n <= 0); 221609#L26 call #t~ret0 := fact(~n - 1);< 221620#factENTRY ~n := #in~n; 221621#L25 assume !(~n <= 0); 221610#L26 call #t~ret0 := fact(~n - 1);< 221629#factENTRY ~n := #in~n; 221631#L25 assume ~n <= 0;#res := 1; 221630#factFINAL assume true; 221627#factEXIT >#66#return; 221628#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 221636#factFINAL assume true; 221606#factEXIT >#66#return; 221612#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 222451#factFINAL assume true; 221635#factEXIT >#66#return; 221605#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 221600#factFINAL assume true; 221604#factEXIT >#68#return; 222340#L30-1 [2022-07-22 01:30:46,647 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:46,647 INFO L85 PathProgramCache]: Analyzing trace with hash 876514541, now seen corresponding path program 28 times [2022-07-22 01:30:46,647 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:46,647 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1781582938] [2022-07-22 01:30:46,647 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:46,648 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:46,658 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:46,659 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1937427247] [2022-07-22 01:30:46,659 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-22 01:30:46,659 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:46,659 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:46,665 INFO L229 MonitoredProcess]: Starting monitored process 177 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:46,666 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (177)] Waiting until timeout for monitored process [2022-07-22 01:30:46,871 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-22 01:30:46,871 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:46,873 INFO L263 TraceCheckSpWp]: Trace formula consists of 997 conjuncts, 10 conjunts are in the unsatisfiable core [2022-07-22 01:30:46,876 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:47,045 INFO L134 CoverageAnalysis]: Checked inductivity of 10415 backedges. 3658 proven. 120 refuted. 0 times theorem prover too weak. 6637 trivial. 0 not checked. [2022-07-22 01:30:47,045 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:47,434 INFO L134 CoverageAnalysis]: Checked inductivity of 10415 backedges. 106 proven. 184 refuted. 0 times theorem prover too weak. 10125 trivial. 0 not checked. [2022-07-22 01:30:47,434 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:47,434 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1781582938] [2022-07-22 01:30:47,434 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:47,434 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1937427247] [2022-07-22 01:30:47,434 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1937427247] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:47,434 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:47,434 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 15 [2022-07-22 01:30:47,435 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1079605748] [2022-07-22 01:30:47,435 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:47,435 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:30:47,435 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:47,435 INFO L85 PathProgramCache]: Analyzing trace with hash -407721099, now seen corresponding path program 26 times [2022-07-22 01:30:47,435 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:47,435 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1205625648] [2022-07-22 01:30:47,435 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:47,436 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:47,441 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:47,441 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [156348353] [2022-07-22 01:30:47,441 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 01:30:47,441 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:47,442 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:47,443 INFO L229 MonitoredProcess]: Starting monitored process 178 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:47,444 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (178)] Waiting until timeout for monitored process [2022-07-22 01:30:47,608 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 01:30:47,608 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:47,610 INFO L263 TraceCheckSpWp]: Trace formula consists of 635 conjuncts, 18 conjunts are in the unsatisfiable core [2022-07-22 01:30:47,612 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:47,785 INFO L134 CoverageAnalysis]: Checked inductivity of 5135 backedges. 1688 proven. 419 refuted. 0 times theorem prover too weak. 3028 trivial. 0 not checked. [2022-07-22 01:30:47,785 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:48,655 INFO L134 CoverageAnalysis]: Checked inductivity of 5135 backedges. 514 proven. 573 refuted. 0 times theorem prover too weak. 4048 trivial. 0 not checked. [2022-07-22 01:30:48,655 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:48,655 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1205625648] [2022-07-22 01:30:48,655 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:48,655 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [156348353] [2022-07-22 01:30:48,655 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [156348353] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:48,656 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:48,656 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 17] total 20 [2022-07-22 01:30:48,656 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2133303173] [2022-07-22 01:30:48,656 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:48,656 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:30:48,656 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:30:48,656 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-07-22 01:30:48,657 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=317, Unknown=0, NotChecked=0, Total=380 [2022-07-22 01:30:48,657 INFO L87 Difference]: Start difference. First operand 1447 states and 2268 transitions. cyclomatic complexity: 843 Second operand has 20 states, 17 states have (on average 3.4705882352941178) internal successors, (59), 20 states have internal predecessors, (59), 13 states have call successors, (22), 2 states have call predecessors, (22), 8 states have return successors, (24), 9 states have call predecessors, (24), 13 states have call successors, (24) [2022-07-22 01:30:49,494 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:30:49,494 INFO L93 Difference]: Finished difference Result 1764 states and 2748 transitions. [2022-07-22 01:30:49,494 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-07-22 01:30:49,495 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1764 states and 2748 transitions. [2022-07-22 01:30:49,502 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 173 [2022-07-22 01:30:49,509 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1764 states to 1758 states and 2736 transitions. [2022-07-22 01:30:49,509 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 327 [2022-07-22 01:30:49,509 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 327 [2022-07-22 01:30:49,509 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1758 states and 2736 transitions. [2022-07-22 01:30:49,509 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:30:49,509 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1758 states and 2736 transitions. [2022-07-22 01:30:49,510 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1758 states and 2736 transitions. [2022-07-22 01:30:49,525 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1758 to 1549. [2022-07-22 01:30:49,526 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1549 states, 971 states have (on average 1.1050463439752831) internal successors, (1073), 979 states have internal predecessors, (1073), 421 states have call successors, (421), 198 states have call predecessors, (421), 157 states have return successors, (922), 371 states have call predecessors, (922), 421 states have call successors, (922) [2022-07-22 01:30:49,530 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1549 states to 1549 states and 2416 transitions. [2022-07-22 01:30:49,530 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1549 states and 2416 transitions. [2022-07-22 01:30:49,530 INFO L374 stractBuchiCegarLoop]: Abstraction has 1549 states and 2416 transitions. [2022-07-22 01:30:49,530 INFO L287 stractBuchiCegarLoop]: ======== Iteration 42 ============ [2022-07-22 01:30:49,530 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1549 states and 2416 transitions. [2022-07-22 01:30:49,533 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 157 [2022-07-22 01:30:49,533 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:30:49,533 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:30:49,539 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [68, 68, 37, 37, 37, 37, 31, 11, 10, 7, 7, 7, 6, 6, 6, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 1, 1, 1, 1] [2022-07-22 01:30:49,539 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [57, 57, 42, 42, 42, 42, 15, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:30:49,539 INFO L752 eck$LassoCheckResult]: Stem: 229180#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 229152#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; 229153#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 229179#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; 229166#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 229167#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 230442#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; 229126#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 229127#factENTRY ~n := #in~n; 230478#L25 assume ~n <= 0;#res := 1; 230476#factFINAL assume true; 230474#factEXIT >#68#return; 229196#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 229197#factENTRY ~n := #in~n; 230486#L25 assume ~n <= 0;#res := 1; 230485#factFINAL assume true; 230480#factEXIT >#70#return; 229122#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 229123#factENTRY ~n := #in~n; 230501#L25 assume ~n <= 0;#res := 1; 230500#factFINAL assume true; 230499#factEXIT >#72#return; 229173#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; 229171#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 229172#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 229188#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 229189#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; 230511#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 230512#factENTRY ~n := #in~n; 230524#L25 assume !(~n <= 0); 230522#L26 call #t~ret0 := fact(~n - 1);< 230528#factENTRY ~n := #in~n; 230525#L25 assume ~n <= 0;#res := 1; 230521#factFINAL assume true; 230523#factEXIT >#66#return; 230515#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 230513#factFINAL assume true; 230514#factEXIT >#74#return; 229200#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 229201#factENTRY ~n := #in~n; 230555#L25 assume ~n <= 0;#res := 1; 230549#factFINAL assume true; 230546#factEXIT >#76#return; 229353#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 230548#factENTRY ~n := #in~n; 230558#L25 assume !(~n <= 0); 230552#L26 call #t~ret0 := fact(~n - 1);< 230554#factENTRY ~n := #in~n; 230559#L25 assume ~n <= 0;#res := 1; 230557#factFINAL assume true; 230551#factEXIT >#66#return; 230550#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 230547#factFINAL assume true; 229352#factEXIT >#78#return; 229354#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; 230604#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 230602#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 230600#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 230598#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; 229273#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 229313#factENTRY ~n := #in~n; 229306#L25 assume !(~n <= 0); 229307#L26 call #t~ret0 := fact(~n - 1);< 229337#factENTRY ~n := #in~n; 229334#L25 assume !(~n <= 0); 229323#L26 call #t~ret0 := fact(~n - 1);< 229331#factENTRY ~n := #in~n; 229335#L25 assume ~n <= 0;#res := 1; 229332#factFINAL assume true; 229330#factEXIT >#66#return; 229329#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229327#factFINAL assume true; 229321#factEXIT >#66#return; 229320#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229318#factFINAL assume true; 229270#factEXIT >#74#return; 229275#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 229302#factENTRY ~n := #in~n; 229315#L25 assume ~n <= 0;#res := 1; 229303#factFINAL assume true; 229298#factEXIT >#76#return; 229271#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 229319#factENTRY ~n := #in~n; 229339#L25 assume !(~n <= 0); 229322#L26 call #t~ret0 := fact(~n - 1);< 229326#factENTRY ~n := #in~n; 229334#L25 assume !(~n <= 0); 229323#L26 call #t~ret0 := fact(~n - 1);< 229331#factENTRY ~n := #in~n; 229335#L25 assume ~n <= 0;#res := 1; 229332#factFINAL assume true; 229330#factEXIT >#66#return; 229329#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229327#factFINAL assume true; 229321#factEXIT >#66#return; 229320#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229318#factFINAL assume true; 229270#factEXIT >#78#return; 229268#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; 229266#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 229263#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 229262#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 229175#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 229176#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 229186#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 229187#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; 229461#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 229463#factENTRY ~n := #in~n; 229475#L25 assume !(~n <= 0); 229472#L26 call #t~ret0 := fact(~n - 1);< 229473#factENTRY ~n := #in~n; 229476#L25 assume ~n <= 0;#res := 1; 229474#factFINAL assume true; 229471#factEXIT >#66#return; 229469#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229468#factFINAL assume true; 229460#factEXIT >#68#return; 229457#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 229458#factENTRY ~n := #in~n; 229467#L25 assume ~n <= 0;#res := 1; 229466#factFINAL assume true; 229455#factEXIT >#70#return; 229442#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 229444#factENTRY ~n := #in~n; 229502#L25 assume !(~n <= 0); 229498#L26 call #t~ret0 := fact(~n - 1);< 229499#factENTRY ~n := #in~n; 229523#L25 assume ~n <= 0;#res := 1; 229500#factFINAL assume true; 229497#factEXIT >#66#return; 229495#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229494#factFINAL assume true; 229440#factEXIT >#72#return; 229432#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; 229431#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 229430#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 229429#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 229427#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; 229419#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 229420#factENTRY ~n := #in~n; 229465#L25 assume !(~n <= 0); 229451#L26 call #t~ret0 := fact(~n - 1);< 229452#factENTRY ~n := #in~n; 229464#L25 assume ~n <= 0;#res := 1; 229459#factFINAL assume true; 229450#factEXIT >#66#return; 229447#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229433#factFINAL assume true; 229417#factEXIT >#68#return; 229407#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 229409#factENTRY ~n := #in~n; 229428#L25 assume !(~n <= 0); 229422#L26 call #t~ret0 := fact(~n - 1);< 229426#factENTRY ~n := #in~n; 229449#L25 assume ~n <= 0;#res := 1; 229435#factFINAL assume true; 229421#factEXIT >#66#return; 229415#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229414#factFINAL assume true; 229406#factEXIT >#70#return; 229401#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 229404#factENTRY ~n := #in~n; 229416#L25 assume ~n <= 0;#res := 1; 229413#factFINAL assume true; 229400#factEXIT >#72#return; 229403#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; 229399#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 229398#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 229394#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 229389#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; 229373#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 229375#factENTRY ~n := #in~n; 229391#L25 assume !(~n <= 0); 229385#L26 call #t~ret0 := fact(~n - 1);< 229386#factENTRY ~n := #in~n; 229411#L25 assume !(~n <= 0); 229384#L26 call #t~ret0 := fact(~n - 1);< 229397#factENTRY ~n := #in~n; 229410#L25 assume ~n <= 0;#res := 1; 229405#factFINAL assume true; 229396#factEXIT >#66#return; 229393#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229388#factFINAL assume true; 229383#factEXIT >#66#return; 229381#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229378#factFINAL assume true; 229372#factEXIT >#74#return; 229360#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 229364#factENTRY ~n := #in~n; 229501#L25 assume !(~n <= 0); 229492#L26 call #t~ret0 := fact(~n - 1);< 229493#factENTRY ~n := #in~n; 229412#L25 assume ~n <= 0;#res := 1; 229496#factFINAL assume true; 229491#factEXIT >#66#return; 229478#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229479#factFINAL assume true; 229356#factEXIT >#76#return; 229357#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 229364#factENTRY ~n := #in~n; 229501#L25 assume !(~n <= 0); 229492#L26 call #t~ret0 := fact(~n - 1);< 229493#factENTRY ~n := #in~n; 229412#L25 assume ~n <= 0;#res := 1; 229496#factFINAL assume true; 229491#factEXIT >#66#return; 229478#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229479#factFINAL assume true; 229356#factEXIT >#78#return; 229279#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; 229278#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 229269#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 229267#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 229265#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 229168#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 229170#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 229181#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; 229124#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 229125#factENTRY ~n := #in~n; 229230#L25 assume !(~n <= 0); 229218#L26 call #t~ret0 := fact(~n - 1);< 229222#factENTRY ~n := #in~n; 229227#L25 assume !(~n <= 0); 229216#L26 call #t~ret0 := fact(~n - 1);< 229233#factENTRY ~n := #in~n; 229235#L25 assume ~n <= 0;#res := 1; 229234#factFINAL assume true; 229231#factEXIT >#66#return; 229232#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229254#factFINAL assume true; 229215#factEXIT >#66#return; 229220#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229260#factFINAL assume true; 229205#factEXIT >#68#return; 229207#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 229195#factENTRY ~n := #in~n; 230001#L25 assume ~n <= 0;#res := 1; 229999#factFINAL assume true; 229978#factEXIT >#70#return; 229971#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 229977#factENTRY ~n := #in~n; 230130#L25 assume !(~n <= 0); 229992#L26 call #t~ret0 := fact(~n - 1);< 230129#factENTRY ~n := #in~n; 230143#L25 assume !(~n <= 0); 230127#L26 call #t~ret0 := fact(~n - 1);< 230141#factENTRY ~n := #in~n; 230148#L25 assume ~n <= 0;#res := 1; 230147#factFINAL assume true; 230138#factEXIT >#66#return; 230136#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 230131#factFINAL assume true; 230125#factEXIT >#66#return; 230124#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 230123#factFINAL assume true; 230120#factEXIT >#72#return; 230121#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; 230427#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 230425#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 230423#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 230422#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; 229930#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 229943#factENTRY ~n := #in~n; 230186#L25 assume !(~n <= 0); 229907#L26 call #t~ret0 := fact(~n - 1);< 229936#factENTRY ~n := #in~n; 230116#L25 assume !(~n <= 0); 229920#L26 call #t~ret0 := fact(~n - 1);< 230015#factENTRY ~n := #in~n; 230113#L25 assume ~n <= 0;#res := 1; 230112#factFINAL assume true; 230013#factEXIT >#66#return; 229982#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229927#factFINAL assume true; 229919#factEXIT >#66#return; 229923#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 230122#factFINAL assume true; 230109#factEXIT >#68#return; 229841#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 229848#factENTRY ~n := #in~n; 229913#L25 assume !(~n <= 0); 229886#L26 call #t~ret0 := fact(~n - 1);< 229903#factENTRY ~n := #in~n; 230204#L25 assume ~n <= 0;#res := 1; 230203#factFINAL assume true; 230102#factEXIT >#66#return; 229988#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229986#factFINAL assume true; 229958#factEXIT >#70#return; 229959#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 230012#factENTRY ~n := #in~n; 230173#L25 assume !(~n <= 0); 229898#L26 call #t~ret0 := fact(~n - 1);< 230150#factENTRY ~n := #in~n; 230204#L25 assume ~n <= 0;#res := 1; 230203#factFINAL assume true; 230102#factEXIT >#66#return; 230104#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 230106#factFINAL assume true; 230004#factEXIT >#72#return; 230006#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; 230467#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 230465#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 230464#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 230461#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; 229932#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 229943#factENTRY ~n := #in~n; 230186#L25 assume !(~n <= 0); 229907#L26 call #t~ret0 := fact(~n - 1);< 229936#factENTRY ~n := #in~n; 230116#L25 assume !(~n <= 0); 229920#L26 call #t~ret0 := fact(~n - 1);< 230015#factENTRY ~n := #in~n; 230113#L25 assume ~n <= 0;#res := 1; 230112#factFINAL assume true; 230013#factEXIT >#66#return; 229982#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229927#factFINAL assume true; 229919#factEXIT >#66#return; 229923#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 230122#factFINAL assume true; 230109#factEXIT >#68#return; 229833#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 229848#factENTRY ~n := #in~n; 229913#L25 assume !(~n <= 0); 229886#L26 call #t~ret0 := fact(~n - 1);< 229903#factENTRY ~n := #in~n; 230018#L25 assume !(~n <= 0); 229888#L26 call #t~ret0 := fact(~n - 1);< 230017#factENTRY ~n := #in~n; 230113#L25 assume ~n <= 0;#res := 1; 230112#factFINAL assume true; 230013#factEXIT >#66#return; 229982#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229927#factFINAL assume true; 229919#factEXIT >#66#return; 229925#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 230111#factFINAL assume true; 230108#factEXIT >#70#return; 229817#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 229829#factENTRY ~n := #in~n; 229897#L25 assume ~n <= 0;#res := 1; 229895#factFINAL assume true; 229813#factEXIT >#72#return; 229825#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; 230492#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 230490#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 230473#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 229806#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; 229107#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 229108#factENTRY ~n := #in~n; 230435#L25 assume !(~n <= 0); 229762#L26 call #t~ret0 := fact(~n - 1);< 229769#factENTRY ~n := #in~n; 229830#L25 assume !(~n <= 0); 229765#L26 call #t~ret0 := fact(~n - 1);< 229790#factENTRY ~n := #in~n; 229830#L25 assume !(~n <= 0); 229765#L26 call #t~ret0 := fact(~n - 1);< 229790#factENTRY ~n := #in~n; 229812#L25 assume ~n <= 0;#res := 1; 229810#factFINAL assume true; 229787#factEXIT >#66#return; 229782#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229778#factFINAL assume true; 229774#factEXIT >#66#return; 229773#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229771#factFINAL assume true; 229759#factEXIT >#66#return; 229745#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229741#factFINAL assume true; 229668#factEXIT >#74#return; 229112#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 229792#factENTRY ~n := #in~n; 229783#L25 assume !(~n <= 0); 229764#L26 call #t~ret0 := fact(~n - 1);< 229779#factENTRY ~n := #in~n; 229852#L25 assume !(~n <= 0); 229776#L26 call #t~ret0 := fact(~n - 1);< 229791#factENTRY ~n := #in~n; 229849#L25 assume !(~n <= 0); 229788#L26 call #t~ret0 := fact(~n - 1);< 229789#factENTRY ~n := #in~n; 229812#L25 assume ~n <= 0;#res := 1; 229810#factFINAL assume true; 229787#factEXIT >#66#return; 229782#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229778#factFINAL assume true; 229774#factEXIT >#66#return; 229773#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229771#factFINAL assume true; 229759#factEXIT >#66#return; 229745#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229741#factFINAL assume true; 229668#factEXIT >#76#return; 229113#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 229252#factENTRY ~n := #in~n; 229712#L25 assume !(~n <= 0); 229694#L26 call #t~ret0 := fact(~n - 1);< 229695#factENTRY ~n := #in~n; 229711#L25 assume ~n <= 0;#res := 1; 229710#factFINAL assume true; 229693#factEXIT >#66#return; 229690#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229684#factFINAL assume true; 229248#factEXIT >#78#return; 229154#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; 229155#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 229164#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 229202#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 229258#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 229257#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 229256#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 229255#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; 229210#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 229238#factENTRY ~n := #in~n; 229239#L25 assume !(~n <= 0); 229217#L26 call #t~ret0 := fact(~n - 1);< 229222#factENTRY ~n := #in~n; 229227#L25 assume !(~n <= 0); 229216#L26 call #t~ret0 := fact(~n - 1);< 229233#factENTRY ~n := #in~n; 229227#L25 assume !(~n <= 0); 229216#L26 call #t~ret0 := fact(~n - 1);< 229233#factENTRY ~n := #in~n; 229227#L25 assume !(~n <= 0); 229216#L26 call #t~ret0 := fact(~n - 1);< 229233#factENTRY ~n := #in~n; 229235#L25 assume ~n <= 0;#res := 1; 229234#factFINAL assume true; 229231#factEXIT >#66#return; 229232#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229254#factFINAL assume true; 229215#factEXIT >#66#return; 229221#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229223#factFINAL assume true; 229225#factEXIT >#66#return; 229253#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 230145#factFINAL assume true; 230142#factEXIT >#66#return; 230137#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 230135#factFINAL assume true; 229259#factEXIT >#68#return; 229194#L30-1 [2022-07-22 01:30:49,540 INFO L754 eck$LassoCheckResult]: Loop: 229194#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 229195#factENTRY ~n := #in~n; 230001#L25 assume ~n <= 0;#res := 1; 229999#factFINAL assume true; 229978#factEXIT >#70#return; 229980#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 230310#factENTRY ~n := #in~n; 230308#L25 assume !(~n <= 0); 230020#L26 call #t~ret0 := fact(~n - 1);< 230023#factENTRY ~n := #in~n; 230022#L25 assume !(~n <= 0); 229994#L26 call #t~ret0 := fact(~n - 1);< 230021#factENTRY ~n := #in~n; 230134#L25 assume !(~n <= 0); 229995#L26 call #t~ret0 := fact(~n - 1);< 230133#factENTRY ~n := #in~n; 230134#L25 assume !(~n <= 0); 229995#L26 call #t~ret0 := fact(~n - 1);< 230133#factENTRY ~n := #in~n; 230148#L25 assume ~n <= 0;#res := 1; 230147#factFINAL assume true; 230138#factEXIT >#66#return; 230136#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 230131#factFINAL assume true; 230125#factEXIT >#66#return; 230128#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 230019#factFINAL assume true; 229991#factEXIT >#66#return; 229996#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 230482#factFINAL assume true; 230479#factEXIT >#66#return; 230477#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 230475#factFINAL assume true; 230471#factEXIT >#72#return; 230470#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; 230469#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 230468#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 230466#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 230462#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; 229857#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 229869#factENTRY ~n := #in~n; 230439#L25 assume !(~n <= 0); 229885#L26 call #t~ret0 := fact(~n - 1);< 230438#factENTRY ~n := #in~n; 230437#L25 assume !(~n <= 0); 229887#L26 call #t~ret0 := fact(~n - 1);< 230240#factENTRY ~n := #in~n; 230035#L25 assume !(~n <= 0); 229880#L26 call #t~ret0 := fact(~n - 1);< 229917#factENTRY ~n := #in~n; 230018#L25 assume !(~n <= 0); 229888#L26 call #t~ret0 := fact(~n - 1);< 230017#factENTRY ~n := #in~n; 230113#L25 assume ~n <= 0;#res := 1; 230112#factFINAL assume true; 230013#factEXIT >#66#return; 229982#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229927#factFINAL assume true; 229919#factEXIT >#66#return; 229918#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229915#factFINAL assume true; 229905#factEXIT >#66#return; 229910#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 230250#factFINAL assume true; 230238#factEXIT >#66#return; 229872#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229868#factFINAL assume true; 229856#factEXIT >#68#return; 229846#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 229848#factENTRY ~n := #in~n; 229913#L25 assume !(~n <= 0); 229886#L26 call #t~ret0 := fact(~n - 1);< 229903#factENTRY ~n := #in~n; 230204#L25 assume ~n <= 0;#res := 1; 230203#factFINAL assume true; 230102#factEXIT >#66#return; 229988#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229986#factFINAL assume true; 229958#factEXIT >#70#return; 229858#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 229870#factENTRY ~n := #in~n; 230312#L25 assume !(~n <= 0); 229879#L26 call #t~ret0 := fact(~n - 1);< 229917#factENTRY ~n := #in~n; 230018#L25 assume !(~n <= 0); 229888#L26 call #t~ret0 := fact(~n - 1);< 230017#factENTRY ~n := #in~n; 230018#L25 assume !(~n <= 0); 229888#L26 call #t~ret0 := fact(~n - 1);< 230017#factENTRY ~n := #in~n; 230018#L25 assume !(~n <= 0); 229888#L26 call #t~ret0 := fact(~n - 1);< 230017#factENTRY ~n := #in~n; 230113#L25 assume ~n <= 0;#res := 1; 230112#factFINAL assume true; 230013#factEXIT >#66#return; 229982#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229927#factFINAL assume true; 229919#factEXIT >#66#return; 229918#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229915#factFINAL assume true; 229905#factEXIT >#66#return; 229910#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 230250#factFINAL assume true; 230238#factEXIT >#66#return; 229872#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229868#factFINAL assume true; 229856#factEXIT >#72#return; 229862#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; 230404#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 230399#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 230345#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 230344#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; 229859#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 229869#factENTRY ~n := #in~n; 230439#L25 assume !(~n <= 0); 229885#L26 call #t~ret0 := fact(~n - 1);< 230438#factENTRY ~n := #in~n; 230437#L25 assume !(~n <= 0); 229887#L26 call #t~ret0 := fact(~n - 1);< 230240#factENTRY ~n := #in~n; 230035#L25 assume !(~n <= 0); 229880#L26 call #t~ret0 := fact(~n - 1);< 229917#factENTRY ~n := #in~n; 230018#L25 assume !(~n <= 0); 229888#L26 call #t~ret0 := fact(~n - 1);< 230017#factENTRY ~n := #in~n; 230113#L25 assume ~n <= 0;#res := 1; 230112#factFINAL assume true; 230013#factEXIT >#66#return; 229982#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229927#factFINAL assume true; 229919#factEXIT >#66#return; 229918#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229915#factFINAL assume true; 229905#factEXIT >#66#return; 229910#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 230250#factFINAL assume true; 230238#factEXIT >#66#return; 229872#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229868#factFINAL assume true; 229856#factEXIT >#68#return; 229832#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 229848#factENTRY ~n := #in~n; 229913#L25 assume !(~n <= 0); 229886#L26 call #t~ret0 := fact(~n - 1);< 229903#factENTRY ~n := #in~n; 230018#L25 assume !(~n <= 0); 229888#L26 call #t~ret0 := fact(~n - 1);< 230017#factENTRY ~n := #in~n; 230113#L25 assume ~n <= 0;#res := 1; 230112#factFINAL assume true; 230013#factEXIT >#66#return; 229982#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229927#factFINAL assume true; 229919#factEXIT >#66#return; 229925#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 230111#factFINAL assume true; 230108#factEXIT >#70#return; 229847#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 229870#factENTRY ~n := #in~n; 230312#L25 assume !(~n <= 0); 229879#L26 call #t~ret0 := fact(~n - 1);< 229917#factENTRY ~n := #in~n; 230018#L25 assume !(~n <= 0); 229888#L26 call #t~ret0 := fact(~n - 1);< 230017#factENTRY ~n := #in~n; 230113#L25 assume ~n <= 0;#res := 1; 230112#factFINAL assume true; 230013#factEXIT >#66#return; 229982#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229927#factFINAL assume true; 229919#factEXIT >#66#return; 229923#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 230122#factFINAL assume true; 230109#factEXIT >#72#return; 229826#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; 230337#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 230335#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 230321#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 229865#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; 229661#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 229864#factENTRY ~n := #in~n; 230447#L25 assume !(~n <= 0); 229877#L26 call #t~ret0 := fact(~n - 1);< 229892#factENTRY ~n := #in~n; 230290#L25 assume !(~n <= 0); 229875#L26 call #t~ret0 := fact(~n - 1);< 229917#factENTRY ~n := #in~n; 230018#L25 assume !(~n <= 0); 229888#L26 call #t~ret0 := fact(~n - 1);< 230017#factENTRY ~n := #in~n; 230018#L25 assume !(~n <= 0); 229888#L26 call #t~ret0 := fact(~n - 1);< 230017#factENTRY ~n := #in~n; 230113#L25 assume ~n <= 0;#res := 1; 230112#factFINAL assume true; 230013#factEXIT >#66#return; 229982#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229927#factFINAL assume true; 229919#factEXIT >#66#return; 229918#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229915#factFINAL assume true; 229905#factEXIT >#66#return; 229910#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 230250#factFINAL assume true; 230238#factEXIT >#66#return; 229872#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229868#factFINAL assume true; 229856#factEXIT >#68#return; 229840#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 229848#factENTRY ~n := #in~n; 229913#L25 assume !(~n <= 0); 229886#L26 call #t~ret0 := fact(~n - 1);< 229903#factENTRY ~n := #in~n; 230018#L25 assume !(~n <= 0); 229888#L26 call #t~ret0 := fact(~n - 1);< 230017#factENTRY ~n := #in~n; 230018#L25 assume !(~n <= 0); 229888#L26 call #t~ret0 := fact(~n - 1);< 230017#factENTRY ~n := #in~n; 230018#L25 assume !(~n <= 0); 229888#L26 call #t~ret0 := fact(~n - 1);< 230017#factENTRY ~n := #in~n; 230113#L25 assume ~n <= 0;#res := 1; 230112#factFINAL assume true; 230013#factEXIT >#66#return; 229982#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229927#factFINAL assume true; 229919#factEXIT >#66#return; 229918#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229915#factFINAL assume true; 229905#factEXIT >#66#return; 229910#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 230250#factFINAL assume true; 230238#factEXIT >#66#return; 229891#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229896#factFINAL assume true; 229855#factEXIT >#70#return; 229816#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 229854#factENTRY ~n := #in~n; 230171#L25 assume ~n <= 0;#res := 1; 229895#factFINAL assume true; 229813#factEXIT >#72#return; 229824#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; 229853#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 229851#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 229850#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 229660#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; 229662#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 229785#factENTRY ~n := #in~n; 229893#L25 assume !(~n <= 0); 229796#L26 call #t~ret0 := fact(~n - 1);< 229799#factENTRY ~n := #in~n; 229871#L25 assume !(~n <= 0); 229797#L26 call #t~ret0 := fact(~n - 1);< 229867#factENTRY ~n := #in~n; 229873#L25 assume !(~n <= 0); 229760#L26 call #t~ret0 := fact(~n - 1);< 229772#factENTRY ~n := #in~n; 229830#L25 assume !(~n <= 0); 229765#L26 call #t~ret0 := fact(~n - 1);< 229790#factENTRY ~n := #in~n; 229830#L25 assume !(~n <= 0); 229765#L26 call #t~ret0 := fact(~n - 1);< 229790#factENTRY ~n := #in~n; 229812#L25 assume ~n <= 0;#res := 1; 229810#factFINAL assume true; 229787#factEXIT >#66#return; 229782#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229778#factFINAL assume true; 229774#factEXIT >#66#return; 229773#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229771#factFINAL assume true; 229759#factEXIT >#66#return; 229768#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229904#factFINAL assume true; 229899#factEXIT >#66#return; 229798#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229866#factFINAL assume true; 229795#factEXIT >#66#return; 229794#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229793#factFINAL assume true; 229784#factEXIT >#74#return; 229670#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 229780#factENTRY ~n := #in~n; 229894#L25 assume !(~n <= 0); 229763#L26 call #t~ret0 := fact(~n - 1);< 229800#factENTRY ~n := #in~n; 229914#L25 assume !(~n <= 0); 229761#L26 call #t~ret0 := fact(~n - 1);< 229772#factENTRY ~n := #in~n; 229830#L25 assume !(~n <= 0); 229765#L26 call #t~ret0 := fact(~n - 1);< 229790#factENTRY ~n := #in~n; 229812#L25 assume ~n <= 0;#res := 1; 229810#factFINAL assume true; 229787#factEXIT >#66#return; 229782#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229778#factFINAL assume true; 229774#factEXIT >#66#return; 229773#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229771#factFINAL assume true; 229759#factEXIT >#66#return; 229745#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229741#factFINAL assume true; 229668#factEXIT >#76#return; 229249#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 229252#factENTRY ~n := #in~n; 229712#L25 assume !(~n <= 0); 229694#L26 call #t~ret0 := fact(~n - 1);< 229695#factENTRY ~n := #in~n; 229711#L25 assume ~n <= 0;#res := 1; 229710#factFINAL assume true; 229693#factEXIT >#66#return; 229690#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229684#factFINAL assume true; 229248#factEXIT >#78#return; 229251#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; 230182#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 230181#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 230180#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 230179#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 230178#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 230176#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 230175#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; 229212#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 229237#factENTRY ~n := #in~n; 229236#L25 assume !(~n <= 0); 229224#L26 call #t~ret0 := fact(~n - 1);< 229228#factENTRY ~n := #in~n; 229229#L25 assume !(~n <= 0); 229219#L26 call #t~ret0 := fact(~n - 1);< 229226#factENTRY ~n := #in~n; 229227#L25 assume !(~n <= 0); 229216#L26 call #t~ret0 := fact(~n - 1);< 229233#factENTRY ~n := #in~n; 229227#L25 assume !(~n <= 0); 229216#L26 call #t~ret0 := fact(~n - 1);< 229233#factENTRY ~n := #in~n; 229235#L25 assume ~n <= 0;#res := 1; 229234#factFINAL assume true; 229231#factEXIT >#66#return; 229232#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229254#factFINAL assume true; 229215#factEXIT >#66#return; 229221#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 229223#factFINAL assume true; 229225#factEXIT >#66#return; 229253#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 230145#factFINAL assume true; 230142#factEXIT >#66#return; 230137#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 230135#factFINAL assume true; 229259#factEXIT >#68#return; 229194#L30-1 [2022-07-22 01:30:49,541 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:49,541 INFO L85 PathProgramCache]: Analyzing trace with hash -434340571, now seen corresponding path program 29 times [2022-07-22 01:30:49,541 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:49,541 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1593743436] [2022-07-22 01:30:49,541 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:49,541 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:49,551 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:49,551 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [874616106] [2022-07-22 01:30:49,551 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-22 01:30:49,551 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:49,551 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:49,554 INFO L229 MonitoredProcess]: Starting monitored process 179 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:49,554 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (179)] Waiting until timeout for monitored process [2022-07-22 01:30:49,856 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 27 check-sat command(s) [2022-07-22 01:30:49,856 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:49,859 INFO L263 TraceCheckSpWp]: Trace formula consists of 917 conjuncts, 15 conjunts are in the unsatisfiable core [2022-07-22 01:30:49,862 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:50,076 INFO L134 CoverageAnalysis]: Checked inductivity of 10755 backedges. 4007 proven. 391 refuted. 0 times theorem prover too weak. 6357 trivial. 0 not checked. [2022-07-22 01:30:50,076 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:50,669 INFO L134 CoverageAnalysis]: Checked inductivity of 10755 backedges. 191 proven. 568 refuted. 0 times theorem prover too weak. 9996 trivial. 0 not checked. [2022-07-22 01:30:50,670 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:50,670 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1593743436] [2022-07-22 01:30:50,670 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:50,670 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [874616106] [2022-07-22 01:30:50,670 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [874616106] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:50,670 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:50,670 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 15] total 21 [2022-07-22 01:30:50,670 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1950612663] [2022-07-22 01:30:50,670 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:50,671 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:30:50,671 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:50,671 INFO L85 PathProgramCache]: Analyzing trace with hash 776783437, now seen corresponding path program 27 times [2022-07-22 01:30:50,671 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:50,671 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [343486482] [2022-07-22 01:30:50,671 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:50,671 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:50,678 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:50,678 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [632918736] [2022-07-22 01:30:50,678 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 01:30:50,678 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:50,678 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:50,680 INFO L229 MonitoredProcess]: Starting monitored process 180 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:50,681 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (180)] Waiting until timeout for monitored process [2022-07-22 01:30:50,834 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 9 check-sat command(s) [2022-07-22 01:30:50,834 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:50,835 INFO L263 TraceCheckSpWp]: Trace formula consists of 280 conjuncts, 25 conjunts are in the unsatisfiable core [2022-07-22 01:30:50,838 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:51,083 INFO L134 CoverageAnalysis]: Checked inductivity of 8171 backedges. 1574 proven. 446 refuted. 0 times theorem prover too weak. 6151 trivial. 0 not checked. [2022-07-22 01:30:51,083 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:52,855 INFO L134 CoverageAnalysis]: Checked inductivity of 8171 backedges. 1574 proven. 471 refuted. 0 times theorem prover too weak. 6126 trivial. 0 not checked. [2022-07-22 01:30:52,855 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:52,855 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [343486482] [2022-07-22 01:30:52,855 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:52,856 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [632918736] [2022-07-22 01:30:52,856 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [632918736] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:52,856 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:52,856 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 23] total 26 [2022-07-22 01:30:52,856 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1767565762] [2022-07-22 01:30:52,856 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:52,856 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:30:52,856 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:30:52,857 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-07-22 01:30:52,857 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=105, Invalid=597, Unknown=0, NotChecked=0, Total=702 [2022-07-22 01:30:52,857 INFO L87 Difference]: Start difference. First operand 1549 states and 2416 transitions. cyclomatic complexity: 893 Second operand has 27 states, 23 states have (on average 2.8260869565217392) internal successors, (65), 26 states have internal predecessors, (65), 15 states have call successors, (22), 1 states have call predecessors, (22), 10 states have return successors, (27), 11 states have call predecessors, (27), 15 states have call successors, (27) [2022-07-22 01:30:54,427 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:30:54,427 INFO L93 Difference]: Finished difference Result 1794 states and 2935 transitions. [2022-07-22 01:30:54,428 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-07-22 01:30:54,429 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1794 states and 2935 transitions. [2022-07-22 01:30:54,437 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 157 [2022-07-22 01:30:54,449 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1794 states to 1791 states and 2920 transitions. [2022-07-22 01:30:54,449 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 333 [2022-07-22 01:30:54,449 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 333 [2022-07-22 01:30:54,450 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1791 states and 2920 transitions. [2022-07-22 01:30:54,450 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:30:54,450 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1791 states and 2920 transitions. [2022-07-22 01:30:54,451 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1791 states and 2920 transitions. [2022-07-22 01:30:54,477 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1791 to 1644. [2022-07-22 01:30:54,478 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1644 states, 1029 states have (on average 1.1049562682215743) internal successors, (1137), 1037 states have internal predecessors, (1137), 454 states have call successors, (454), 203 states have call predecessors, (454), 161 states have return successors, (1011), 403 states have call predecessors, (1011), 454 states have call successors, (1011) [2022-07-22 01:30:54,483 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1644 states to 1644 states and 2602 transitions. [2022-07-22 01:30:54,484 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1644 states and 2602 transitions. [2022-07-22 01:30:54,484 INFO L374 stractBuchiCegarLoop]: Abstraction has 1644 states and 2602 transitions. [2022-07-22 01:30:54,484 INFO L287 stractBuchiCegarLoop]: ======== Iteration 43 ============ [2022-07-22 01:30:54,484 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1644 states and 2602 transitions. [2022-07-22 01:30:54,489 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 157 [2022-07-22 01:30:54,489 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:30:54,489 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:30:54,491 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [67, 67, 36, 36, 36, 36, 31, 11, 10, 7, 7, 7, 6, 6, 6, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 1, 1, 1, 1] [2022-07-22 01:30:54,491 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [47, 47, 32, 32, 32, 32, 15, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:30:54,492 INFO L752 eck$LassoCheckResult]: Stem: 237385#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 237356#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; 237357#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 237384#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; 237372#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 237373#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 238512#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; 238501#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 238506#factENTRY ~n := #in~n; 238503#L25 assume ~n <= 0;#res := 1; 238500#factFINAL assume true; 238502#factEXIT >#68#return; 238518#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 238523#factENTRY ~n := #in~n; 238520#L25 assume ~n <= 0;#res := 1; 238517#factFINAL assume true; 238519#factEXIT >#70#return; 237331#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 237332#factENTRY ~n := #in~n; 238461#L25 assume ~n <= 0;#res := 1; 238462#factFINAL assume true; 238574#factEXIT >#72#return; 237379#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; 237377#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 237378#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 238732#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 238733#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; 237310#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 237311#factENTRY ~n := #in~n; 238824#L25 assume !(~n <= 0); 238822#L26 call #t~ret0 := fact(~n - 1);< 238828#factENTRY ~n := #in~n; 238825#L25 assume ~n <= 0;#res := 1; 238821#factFINAL assume true; 238823#factEXIT >#66#return; 238838#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 238813#factFINAL assume true; 238814#factEXIT >#74#return; 237409#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 237410#factENTRY ~n := #in~n; 238862#L25 assume ~n <= 0;#res := 1; 238860#factFINAL assume true; 238857#factEXIT >#76#return; 238635#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 238859#factENTRY ~n := #in~n; 238866#L25 assume !(~n <= 0); 238854#L26 call #t~ret0 := fact(~n - 1);< 238852#factENTRY ~n := #in~n; 238856#L25 assume ~n <= 0;#res := 1; 238853#factFINAL assume true; 238855#factEXIT >#66#return; 238861#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 238858#factFINAL assume true; 238634#factEXIT >#78#return; 238636#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; 238907#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 238906#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 238905#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 238904#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; 238577#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 238580#factENTRY ~n := #in~n; 238614#L25 assume !(~n <= 0); 238589#L26 call #t~ret0 := fact(~n - 1);< 238613#factENTRY ~n := #in~n; 238611#L25 assume !(~n <= 0); 238602#L26 call #t~ret0 := fact(~n - 1);< 238609#factENTRY ~n := #in~n; 238612#L25 assume ~n <= 0;#res := 1; 238610#factFINAL assume true; 238608#factEXIT >#66#return; 238607#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 238605#factFINAL assume true; 238599#factEXIT >#66#return; 238598#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 238595#factFINAL assume true; 238592#factEXIT >#74#return; 238447#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 238581#factENTRY ~n := #in~n; 238621#L25 assume ~n <= 0;#res := 1; 238615#factFINAL assume true; 238620#factEXIT >#76#return; 238448#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 238596#factENTRY ~n := #in~n; 238618#L25 assume !(~n <= 0); 238600#L26 call #t~ret0 := fact(~n - 1);< 238604#factENTRY ~n := #in~n; 238611#L25 assume !(~n <= 0); 238602#L26 call #t~ret0 := fact(~n - 1);< 238609#factENTRY ~n := #in~n; 238612#L25 assume ~n <= 0;#res := 1; 238610#factFINAL assume true; 238608#factEXIT >#66#return; 238607#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 238605#factFINAL assume true; 238599#factEXIT >#66#return; 238598#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 238595#factFINAL assume true; 238592#factEXIT >#78#return; 237358#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; 237359#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 237370#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 237411#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 237381#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 237382#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 237391#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 237392#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; 238485#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 238487#factENTRY ~n := #in~n; 238494#L25 assume !(~n <= 0); 238491#L26 call #t~ret0 := fact(~n - 1);< 238492#factENTRY ~n := #in~n; 238495#L25 assume ~n <= 0;#res := 1; 238493#factFINAL assume true; 238490#factEXIT >#66#return; 238489#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 238488#factFINAL assume true; 238484#factEXIT >#68#return; 238471#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 238473#factENTRY ~n := #in~n; 238475#L25 assume ~n <= 0;#res := 1; 238474#factFINAL assume true; 238470#factEXIT >#70#return; 238457#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 238468#factENTRY ~n := #in~n; 238467#L25 assume !(~n <= 0); 238465#L26 call #t~ret0 := fact(~n - 1);< 238466#factENTRY ~n := #in~n; 238476#L25 assume ~n <= 0;#res := 1; 238469#factFINAL assume true; 238464#factEXIT >#66#return; 238463#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 238460#factFINAL assume true; 238455#factEXIT >#72#return; 238458#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; 238695#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 238694#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 238693#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 238692#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; 238498#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 237336#factENTRY ~n := #in~n; 238511#L25 assume !(~n <= 0); 238508#L26 call #t~ret0 := fact(~n - 1);< 238509#factENTRY ~n := #in~n; 238513#L25 assume ~n <= 0;#res := 1; 238510#factFINAL assume true; 238507#factEXIT >#66#return; 238504#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 238505#factFINAL assume true; 238497#factEXIT >#68#return; 238499#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 237407#factENTRY ~n := #in~n; 238535#L25 assume !(~n <= 0); 238526#L26 call #t~ret0 := fact(~n - 1);< 238529#factENTRY ~n := #in~n; 238536#L25 assume ~n <= 0;#res := 1; 238530#factFINAL assume true; 238524#factEXIT >#66#return; 238521#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 238522#factFINAL assume true; 238514#factEXIT >#70#return; 238516#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 238571#factENTRY ~n := #in~n; 238573#L25 assume ~n <= 0;#res := 1; 238572#factFINAL assume true; 238569#factEXIT >#72#return; 238568#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; 238566#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 238567#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 238562#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 238563#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; 238660#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 238661#factENTRY ~n := #in~n; 238696#L25 assume !(~n <= 0); 238671#L26 call #t~ret0 := fact(~n - 1);< 238673#factENTRY ~n := #in~n; 238678#L25 assume !(~n <= 0); 238672#L26 call #t~ret0 := fact(~n - 1);< 238677#factENTRY ~n := #in~n; 238691#L25 assume ~n <= 0;#res := 1; 238690#factFINAL assume true; 238676#factEXIT >#66#return; 238675#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 238674#factFINAL assume true; 238670#factEXIT >#66#return; 238669#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 238662#factFINAL assume true; 238659#factEXIT >#74#return; 238646#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 238642#factENTRY ~n := #in~n; 238684#L25 assume !(~n <= 0); 238681#L26 call #t~ret0 := fact(~n - 1);< 238682#factENTRY ~n := #in~n; 238679#L25 assume ~n <= 0;#res := 1; 238697#factFINAL assume true; 238680#factEXIT >#66#return; 238663#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 238664#factFINAL assume true; 238643#factEXIT >#76#return; 238644#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 238642#factENTRY ~n := #in~n; 238684#L25 assume !(~n <= 0); 238681#L26 call #t~ret0 := fact(~n - 1);< 238682#factENTRY ~n := #in~n; 238679#L25 assume ~n <= 0;#res := 1; 238697#factFINAL assume true; 238680#factEXIT >#66#return; 238663#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 238664#factFINAL assume true; 238643#factEXIT >#78#return; 237419#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; 237418#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 237417#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 237416#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 237383#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 237374#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 237375#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 237956#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; 237437#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 237948#factENTRY ~n := #in~n; 238007#L25 assume !(~n <= 0); 237443#L26 call #t~ret0 := fact(~n - 1);< 237466#factENTRY ~n := #in~n; 237464#L25 assume !(~n <= 0); 237446#L26 call #t~ret0 := fact(~n - 1);< 237462#factENTRY ~n := #in~n; 237465#L25 assume ~n <= 0;#res := 1; 237463#factFINAL assume true; 237460#factEXIT >#66#return; 237461#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 238016#factFINAL assume true; 238001#factEXIT >#66#return; 237997#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237984#factFINAL assume true; 237947#factEXIT >#68#return; 237939#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 237405#factENTRY ~n := #in~n; 237955#L25 assume ~n <= 0;#res := 1; 237954#factFINAL assume true; 237937#factEXIT >#70#return; 237932#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 237935#factENTRY ~n := #in~n; 237969#L25 assume !(~n <= 0); 237961#L26 call #t~ret0 := fact(~n - 1);< 237966#factENTRY ~n := #in~n; 238008#L25 assume !(~n <= 0); 237964#L26 call #t~ret0 := fact(~n - 1);< 238006#factENTRY ~n := #in~n; 238013#L25 assume ~n <= 0;#res := 1; 238011#factFINAL assume true; 238003#factEXIT >#66#return; 237998#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237985#factFINAL assume true; 237959#factEXIT >#66#return; 237957#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237952#factFINAL assume true; 237931#factEXIT >#72#return; 237934#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; 238264#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 238261#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 238258#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 238257#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; 237676#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 237817#factENTRY ~n := #in~n; 237815#L25 assume !(~n <= 0); 237722#L26 call #t~ret0 := fact(~n - 1);< 237790#factENTRY ~n := #in~n; 237787#L25 assume !(~n <= 0); 237759#L26 call #t~ret0 := fact(~n - 1);< 237779#factENTRY ~n := #in~n; 237792#L25 assume ~n <= 0;#res := 1; 237789#factFINAL assume true; 237777#factEXIT >#66#return; 237776#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237767#factFINAL assume true; 237756#factEXIT >#66#return; 237760#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237879#factFINAL assume true; 237870#factEXIT >#68#return; 237596#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 237617#factENTRY ~n := #in~n; 238136#L25 assume !(~n <= 0); 237716#L26 call #t~ret0 := fact(~n - 1);< 237768#factENTRY ~n := #in~n; 237813#L25 assume ~n <= 0;#res := 1; 237801#factFINAL assume true; 237795#factEXIT >#66#return; 237791#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237788#factFINAL assume true; 237773#factEXIT >#70#return; 237774#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 237840#factENTRY ~n := #in~n; 237883#L25 assume !(~n <= 0); 237591#L26 call #t~ret0 := fact(~n - 1);< 237809#factENTRY ~n := #in~n; 237813#L25 assume ~n <= 0;#res := 1; 237801#factFINAL assume true; 237795#factEXIT >#66#return; 237797#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237873#factFINAL assume true; 237832#factEXIT >#72#return; 237836#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; 238249#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 238245#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 238242#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 238241#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; 237675#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 237817#factENTRY ~n := #in~n; 237815#L25 assume !(~n <= 0); 237722#L26 call #t~ret0 := fact(~n - 1);< 237790#factENTRY ~n := #in~n; 237787#L25 assume !(~n <= 0); 237759#L26 call #t~ret0 := fact(~n - 1);< 237779#factENTRY ~n := #in~n; 237792#L25 assume ~n <= 0;#res := 1; 237789#factFINAL assume true; 237777#factEXIT >#66#return; 237776#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237767#factFINAL assume true; 237756#factEXIT >#66#return; 237760#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237879#factFINAL assume true; 237870#factEXIT >#68#return; 237613#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 237617#factENTRY ~n := #in~n; 238136#L25 assume !(~n <= 0); 237716#L26 call #t~ret0 := fact(~n - 1);< 237768#factENTRY ~n := #in~n; 237782#L25 assume !(~n <= 0); 237718#L26 call #t~ret0 := fact(~n - 1);< 237781#factENTRY ~n := #in~n; 237792#L25 assume ~n <= 0;#res := 1; 237789#factFINAL assume true; 237777#factEXIT >#66#return; 237776#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237767#factFINAL assume true; 237756#factEXIT >#66#return; 237761#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 238243#factFINAL assume true; 238240#factEXIT >#70#return; 237554#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 237573#factENTRY ~n := #in~n; 237590#L25 assume ~n <= 0;#res := 1; 237589#factFINAL assume true; 237553#factEXIT >#72#return; 237565#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; 238218#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 238217#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 238216#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 238214#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; 237520#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 237524#factENTRY ~n := #in~n; 238277#L25 assume !(~n <= 0); 237313#L26 call #t~ret0 := fact(~n - 1);< 237578#factENTRY ~n := #in~n; 237667#L25 assume !(~n <= 0); 237315#L26 call #t~ret0 := fact(~n - 1);< 237662#factENTRY ~n := #in~n; 237667#L25 assume !(~n <= 0); 237315#L26 call #t~ret0 := fact(~n - 1);< 237662#factENTRY ~n := #in~n; 237702#L25 assume ~n <= 0;#res := 1; 237690#factFINAL assume true; 237660#factEXIT >#66#return; 237658#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237638#factFINAL assume true; 237624#factEXIT >#66#return; 237620#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237618#factFINAL assume true; 237574#factEXIT >#66#return; 237532#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237523#factFINAL assume true; 237514#factEXIT >#74#return; 237515#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 237644#factENTRY ~n := #in~n; 237642#L25 assume !(~n <= 0); 237576#L26 call #t~ret0 := fact(~n - 1);< 237639#factENTRY ~n := #in~n; 237665#L25 assume !(~n <= 0); 237626#L26 call #t~ret0 := fact(~n - 1);< 237664#factENTRY ~n := #in~n; 237666#L25 assume !(~n <= 0); 237661#L26 call #t~ret0 := fact(~n - 1);< 237663#factENTRY ~n := #in~n; 237702#L25 assume ~n <= 0;#res := 1; 237690#factFINAL assume true; 237660#factEXIT >#66#return; 237658#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237638#factFINAL assume true; 237624#factEXIT >#66#return; 237620#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237618#factFINAL assume true; 237574#factEXIT >#66#return; 237532#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237523#factFINAL assume true; 237514#factEXIT >#76#return; 237412#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 237413#factENTRY ~n := #in~n; 237655#L25 assume !(~n <= 0); 237652#L26 call #t~ret0 := fact(~n - 1);< 237653#factENTRY ~n := #in~n; 237659#L25 assume ~n <= 0;#res := 1; 237657#factFINAL assume true; 237651#factEXIT >#66#return; 237647#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237646#factFINAL assume true; 237484#factEXIT >#78#return; 237488#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; 238439#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 238423#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 238422#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 238421#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 238419#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 238417#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 237958#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; 237436#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 237471#factENTRY ~n := #in~n; 237468#L25 assume !(~n <= 0); 237447#L26 call #t~ret0 := fact(~n - 1);< 237466#factENTRY ~n := #in~n; 237464#L25 assume !(~n <= 0); 237446#L26 call #t~ret0 := fact(~n - 1);< 237462#factENTRY ~n := #in~n; 237464#L25 assume !(~n <= 0); 237446#L26 call #t~ret0 := fact(~n - 1);< 237462#factENTRY ~n := #in~n; 237465#L25 assume ~n <= 0;#res := 1; 237463#factFINAL assume true; 237460#factEXIT >#66#return; 237461#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 238016#factFINAL assume true; 238001#factEXIT >#66#return; 238002#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 238023#factFINAL assume true; 238020#factEXIT >#66#return; 238018#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237976#factFINAL assume true; 237970#factEXIT >#68#return; 237941#L30-1 [2022-07-22 01:30:54,493 INFO L754 eck$LassoCheckResult]: Loop: 237941#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 237405#factENTRY ~n := #in~n; 237955#L25 assume ~n <= 0;#res := 1; 237954#factFINAL assume true; 237937#factEXIT >#70#return; 237944#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 237968#factENTRY ~n := #in~n; 237977#L25 assume !(~n <= 0); 237973#L26 call #t~ret0 := fact(~n - 1);< 237975#factENTRY ~n := #in~n; 238017#L25 assume !(~n <= 0); 237962#L26 call #t~ret0 := fact(~n - 1);< 237986#factENTRY ~n := #in~n; 238009#L25 assume !(~n <= 0); 238004#L26 call #t~ret0 := fact(~n - 1);< 238005#factENTRY ~n := #in~n; 238013#L25 assume ~n <= 0;#res := 1; 238011#factFINAL assume true; 238003#factEXIT >#66#return; 237998#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237985#factFINAL assume true; 237959#factEXIT >#66#return; 237965#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237981#factFINAL assume true; 237972#factEXIT >#66#return; 237971#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237967#factFINAL assume true; 237945#factEXIT >#72#return; 237946#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; 238028#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 238026#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 238022#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 238019#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; 237680#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 237689#factENTRY ~n := #in~n; 238339#L25 assume !(~n <= 0); 237726#L26 call #t~ret0 := fact(~n - 1);< 237730#factENTRY ~n := #in~n; 238340#L25 assume !(~n <= 0); 237757#L26 call #t~ret0 := fact(~n - 1);< 237763#factENTRY ~n := #in~n; 237799#L25 assume !(~n <= 0); 237778#L26 call #t~ret0 := fact(~n - 1);< 237780#factENTRY ~n := #in~n; 237792#L25 assume ~n <= 0;#res := 1; 237789#factFINAL assume true; 237777#factEXIT >#66#return; 237776#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237767#factFINAL assume true; 237756#factEXIT >#66#return; 237744#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237736#factFINAL assume true; 237712#factEXIT >#66#return; 237711#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237699#factFINAL assume true; 237670#factEXIT >#68#return; 237598#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 237617#factENTRY ~n := #in~n; 238136#L25 assume !(~n <= 0); 237716#L26 call #t~ret0 := fact(~n - 1);< 237768#factENTRY ~n := #in~n; 237813#L25 assume ~n <= 0;#res := 1; 237801#factFINAL assume true; 237795#factEXIT >#66#return; 237791#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237788#factFINAL assume true; 237773#factEXIT >#70#return; 237769#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 237772#factENTRY ~n := #in~n; 237770#L25 assume !(~n <= 0); 237758#L26 call #t~ret0 := fact(~n - 1);< 237763#factENTRY ~n := #in~n; 237799#L25 assume !(~n <= 0); 237778#L26 call #t~ret0 := fact(~n - 1);< 237780#factENTRY ~n := #in~n; 237792#L25 assume ~n <= 0;#res := 1; 237789#factFINAL assume true; 237777#factEXIT >#66#return; 237776#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237767#factFINAL assume true; 237756#factEXIT >#66#return; 237760#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237879#factFINAL assume true; 237870#factEXIT >#72#return; 237871#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; 238351#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 238349#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 238346#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 238344#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; 237683#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 237689#factENTRY ~n := #in~n; 238339#L25 assume !(~n <= 0); 237726#L26 call #t~ret0 := fact(~n - 1);< 237730#factENTRY ~n := #in~n; 238340#L25 assume !(~n <= 0); 237757#L26 call #t~ret0 := fact(~n - 1);< 237763#factENTRY ~n := #in~n; 237799#L25 assume !(~n <= 0); 237778#L26 call #t~ret0 := fact(~n - 1);< 237780#factENTRY ~n := #in~n; 237792#L25 assume ~n <= 0;#res := 1; 237789#factFINAL assume true; 237777#factEXIT >#66#return; 237776#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237767#factFINAL assume true; 237756#factEXIT >#66#return; 237744#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237736#factFINAL assume true; 237712#factEXIT >#66#return; 237711#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237699#factFINAL assume true; 237670#factEXIT >#68#return; 237609#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 237617#factENTRY ~n := #in~n; 238136#L25 assume !(~n <= 0); 237716#L26 call #t~ret0 := fact(~n - 1);< 237768#factENTRY ~n := #in~n; 237782#L25 assume !(~n <= 0); 237718#L26 call #t~ret0 := fact(~n - 1);< 237781#factENTRY ~n := #in~n; 237792#L25 assume ~n <= 0;#res := 1; 237789#factFINAL assume true; 237777#factEXIT >#66#return; 237776#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237767#factFINAL assume true; 237756#factEXIT >#66#return; 237761#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 238243#factFINAL assume true; 238240#factEXIT >#70#return; 237833#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 237840#factENTRY ~n := #in~n; 237883#L25 assume !(~n <= 0); 237591#L26 call #t~ret0 := fact(~n - 1);< 237809#factENTRY ~n := #in~n; 237813#L25 assume ~n <= 0;#res := 1; 237801#factFINAL assume true; 237795#factEXIT >#66#return; 237797#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237873#factFINAL assume true; 237832#factEXIT >#72#return; 237835#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; 238356#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 238355#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 238354#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 238352#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; 237540#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 237689#factENTRY ~n := #in~n; 238339#L25 assume !(~n <= 0); 237726#L26 call #t~ret0 := fact(~n - 1);< 237730#factENTRY ~n := #in~n; 238340#L25 assume !(~n <= 0); 237757#L26 call #t~ret0 := fact(~n - 1);< 237763#factENTRY ~n := #in~n; 237799#L25 assume !(~n <= 0); 237778#L26 call #t~ret0 := fact(~n - 1);< 237780#factENTRY ~n := #in~n; 237792#L25 assume ~n <= 0;#res := 1; 237789#factFINAL assume true; 237777#factEXIT >#66#return; 237776#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237767#factFINAL assume true; 237756#factEXIT >#66#return; 237744#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237736#factFINAL assume true; 237712#factEXIT >#66#return; 237711#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237699#factFINAL assume true; 237670#factEXIT >#68#return; 237610#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 237617#factENTRY ~n := #in~n; 238136#L25 assume !(~n <= 0); 237716#L26 call #t~ret0 := fact(~n - 1);< 237768#factENTRY ~n := #in~n; 237782#L25 assume !(~n <= 0); 237718#L26 call #t~ret0 := fact(~n - 1);< 237781#factENTRY ~n := #in~n; 237782#L25 assume !(~n <= 0); 237718#L26 call #t~ret0 := fact(~n - 1);< 237781#factENTRY ~n := #in~n; 237792#L25 assume ~n <= 0;#res := 1; 237789#factFINAL assume true; 237777#factEXIT >#66#return; 237776#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237767#factFINAL assume true; 237756#factEXIT >#66#return; 237744#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237736#factFINAL assume true; 237712#factEXIT >#66#return; 237729#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 238395#factFINAL assume true; 237595#factEXIT >#70#return; 237564#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 237573#factENTRY ~n := #in~n; 237590#L25 assume ~n <= 0;#res := 1; 237589#factFINAL assume true; 237553#factEXIT >#72#return; 237550#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; 237549#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 237548#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 237544#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 237539#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; 237526#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 237527#factENTRY ~n := #in~n; 237588#L25 assume !(~n <= 0); 237581#L26 call #t~ret0 := fact(~n - 1);< 237583#factENTRY ~n := #in~n; 237634#L25 assume !(~n <= 0); 237314#L26 call #t~ret0 := fact(~n - 1);< 237619#factENTRY ~n := #in~n; 237667#L25 assume !(~n <= 0); 237315#L26 call #t~ret0 := fact(~n - 1);< 237662#factENTRY ~n := #in~n; 237667#L25 assume !(~n <= 0); 237315#L26 call #t~ret0 := fact(~n - 1);< 237662#factENTRY ~n := #in~n; 237702#L25 assume ~n <= 0;#res := 1; 237690#factFINAL assume true; 237660#factEXIT >#66#return; 237658#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237638#factFINAL assume true; 237624#factEXIT >#66#return; 237620#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237618#factFINAL assume true; 237574#factEXIT >#66#return; 237577#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237629#factFINAL assume true; 237580#factEXIT >#66#return; 237579#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237533#factFINAL assume true; 237525#factEXIT >#74#return; 237517#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 237521#factENTRY ~n := #in~n; 238292#L25 assume !(~n <= 0); 237575#L26 call #t~ret0 := fact(~n - 1);< 238289#factENTRY ~n := #in~n; 238287#L25 assume !(~n <= 0); 237625#L26 call #t~ret0 := fact(~n - 1);< 237628#factENTRY ~n := #in~n; 237666#L25 assume !(~n <= 0); 237661#L26 call #t~ret0 := fact(~n - 1);< 237663#factENTRY ~n := #in~n; 237702#L25 assume ~n <= 0;#res := 1; 237690#factFINAL assume true; 237660#factEXIT >#66#return; 237658#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237638#factFINAL assume true; 237624#factEXIT >#66#return; 237620#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237618#factFINAL assume true; 237574#factEXIT >#66#return; 237532#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237523#factFINAL assume true; 237514#factEXIT >#76#return; 237486#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 237413#factENTRY ~n := #in~n; 237655#L25 assume !(~n <= 0); 237652#L26 call #t~ret0 := fact(~n - 1);< 237653#factENTRY ~n := #in~n; 237659#L25 assume ~n <= 0;#res := 1; 237657#factFINAL assume true; 237651#factEXIT >#66#return; 237647#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237646#factFINAL assume true; 237484#factEXIT >#78#return; 237483#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; 237482#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 237481#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 237480#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 237478#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 237476#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 237474#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 237472#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; 237333#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 237334#factENTRY ~n := #in~n; 237453#L25 assume !(~n <= 0); 237450#L26 call #t~ret0 := fact(~n - 1);< 237458#factENTRY ~n := #in~n; 237459#L25 assume !(~n <= 0); 237444#L26 call #t~ret0 := fact(~n - 1);< 237455#factENTRY ~n := #in~n; 237464#L25 assume !(~n <= 0); 237446#L26 call #t~ret0 := fact(~n - 1);< 237462#factENTRY ~n := #in~n; 237465#L25 assume ~n <= 0;#res := 1; 237463#factFINAL assume true; 237460#factEXIT >#66#return; 237461#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 238016#factFINAL assume true; 238001#factEXIT >#66#return; 238002#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 238023#factFINAL assume true; 238020#factEXIT >#66#return; 238018#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 237976#factFINAL assume true; 237970#factEXIT >#68#return; 237941#L30-1 [2022-07-22 01:30:54,493 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:54,493 INFO L85 PathProgramCache]: Analyzing trace with hash 876514541, now seen corresponding path program 30 times [2022-07-22 01:30:54,493 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:54,494 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [284598608] [2022-07-22 01:30:54,494 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:54,494 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:54,505 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:54,505 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1106535984] [2022-07-22 01:30:54,505 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-22 01:30:54,506 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:54,506 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:54,511 INFO L229 MonitoredProcess]: Starting monitored process 181 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:54,522 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (181)] Waiting until timeout for monitored process [2022-07-22 01:30:54,749 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 19 check-sat command(s) [2022-07-22 01:30:54,749 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:54,752 INFO L263 TraceCheckSpWp]: Trace formula consists of 685 conjuncts, 21 conjunts are in the unsatisfiable core [2022-07-22 01:30:54,756 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:55,033 INFO L134 CoverageAnalysis]: Checked inductivity of 10415 backedges. 1672 proven. 98 refuted. 0 times theorem prover too weak. 8645 trivial. 0 not checked. [2022-07-22 01:30:55,033 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:56,820 INFO L134 CoverageAnalysis]: Checked inductivity of 10415 backedges. 1672 proven. 111 refuted. 0 times theorem prover too weak. 8632 trivial. 0 not checked. [2022-07-22 01:30:56,820 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:56,820 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [284598608] [2022-07-22 01:30:56,820 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:56,820 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1106535984] [2022-07-22 01:30:56,820 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1106535984] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:56,820 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:56,821 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 19] total 22 [2022-07-22 01:30:56,821 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1445195823] [2022-07-22 01:30:56,821 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:56,821 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:30:56,821 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:30:56,821 INFO L85 PathProgramCache]: Analyzing trace with hash 83634365, now seen corresponding path program 28 times [2022-07-22 01:30:56,821 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:30:56,821 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1155249908] [2022-07-22 01:30:56,822 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:30:56,822 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:30:56,830 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:30:56,831 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1713531380] [2022-07-22 01:30:56,831 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-22 01:30:56,831 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:30:56,831 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:30:56,834 INFO L229 MonitoredProcess]: Starting monitored process 182 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:30:56,834 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (182)] Waiting until timeout for monitored process [2022-07-22 01:30:57,020 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-22 01:30:57,020 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:30:57,023 INFO L263 TraceCheckSpWp]: Trace formula consists of 647 conjuncts, 21 conjunts are in the unsatisfiable core [2022-07-22 01:30:57,025 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:30:57,336 INFO L134 CoverageAnalysis]: Checked inductivity of 5381 backedges. 746 proven. 523 refuted. 0 times theorem prover too weak. 4112 trivial. 0 not checked. [2022-07-22 01:30:57,336 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:30:59,141 INFO L134 CoverageAnalysis]: Checked inductivity of 5381 backedges. 748 proven. 534 refuted. 0 times theorem prover too weak. 4099 trivial. 0 not checked. [2022-07-22 01:30:59,141 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:30:59,141 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1155249908] [2022-07-22 01:30:59,141 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:30:59,141 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1713531380] [2022-07-22 01:30:59,141 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1713531380] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:30:59,141 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:30:59,141 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 19] total 22 [2022-07-22 01:30:59,142 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1668779098] [2022-07-22 01:30:59,142 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:30:59,142 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:30:59,142 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:30:59,143 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-07-22 01:30:59,143 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=79, Invalid=427, Unknown=0, NotChecked=0, Total=506 [2022-07-22 01:30:59,143 INFO L87 Difference]: Start difference. First operand 1644 states and 2602 transitions. cyclomatic complexity: 986 Second operand has 23 states, 19 states have (on average 3.0) internal successors, (57), 22 states have internal predecessors, (57), 13 states have call successors, (20), 1 states have call predecessors, (20), 8 states have return successors, (23), 9 states have call predecessors, (23), 13 states have call successors, (23) [2022-07-22 01:31:00,867 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:31:00,868 INFO L93 Difference]: Finished difference Result 1799 states and 2884 transitions. [2022-07-22 01:31:00,869 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-07-22 01:31:00,869 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1799 states and 2884 transitions. [2022-07-22 01:31:00,877 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 86 [2022-07-22 01:31:00,891 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1799 states to 1799 states and 2882 transitions. [2022-07-22 01:31:00,891 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 315 [2022-07-22 01:31:00,892 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 315 [2022-07-22 01:31:00,892 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1799 states and 2882 transitions. [2022-07-22 01:31:00,892 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:31:00,892 INFO L369 hiAutomatonCegarLoop]: Abstraction has 1799 states and 2882 transitions. [2022-07-22 01:31:00,893 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1799 states and 2882 transitions. [2022-07-22 01:31:00,920 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1799 to 1642. [2022-07-22 01:31:00,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1642 states, 1028 states have (on average 1.105058365758755) internal successors, (1136), 1035 states have internal predecessors, (1136), 453 states have call successors, (453), 203 states have call predecessors, (453), 161 states have return successors, (1005), 403 states have call predecessors, (1005), 453 states have call successors, (1005) [2022-07-22 01:31:00,927 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1642 states to 1642 states and 2594 transitions. [2022-07-22 01:31:00,927 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1642 states and 2594 transitions. [2022-07-22 01:31:00,927 INFO L374 stractBuchiCegarLoop]: Abstraction has 1642 states and 2594 transitions. [2022-07-22 01:31:00,928 INFO L287 stractBuchiCegarLoop]: ======== Iteration 44 ============ [2022-07-22 01:31:00,928 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1642 states and 2594 transitions. [2022-07-22 01:31:00,933 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 86 [2022-07-22 01:31:00,933 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:31:00,933 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:31:00,937 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [109, 109, 67, 67, 67, 67, 42, 15, 14, 10, 10, 10, 10, 10, 10, 10, 10, 10, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 1, 1, 1, 1] [2022-07-22 01:31:00,937 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [62, 62, 47, 47, 47, 47, 15, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:31:00,938 INFO L752 eck$LassoCheckResult]: Stem: 245279#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 245250#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; 245251#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 245278#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; 245265#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 245266#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 246538#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; 245238#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 245239#factENTRY ~n := #in~n; 246611#L25 assume ~n <= 0;#res := 1; 246609#factFINAL assume true; 246608#factEXIT >#68#return; 245298#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 245299#factENTRY ~n := #in~n; 246550#L25 assume ~n <= 0;#res := 1; 246549#factFINAL assume true; 246532#factEXIT >#70#return; 245234#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 245235#factENTRY ~n := #in~n; 246613#L25 assume ~n <= 0;#res := 1; 246612#factFINAL assume true; 246610#factEXIT >#72#return; 245272#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; 245270#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 245271#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 246632#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 246633#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; 246709#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 246710#factENTRY ~n := #in~n; 246722#L25 assume !(~n <= 0); 246720#L26 call #t~ret0 := fact(~n - 1);< 246726#factENTRY ~n := #in~n; 246723#L25 assume ~n <= 0;#res := 1; 246719#factFINAL assume true; 246721#factEXIT >#66#return; 246713#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246711#factFINAL assume true; 246712#factEXIT >#74#return; 245302#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 245303#factENTRY ~n := #in~n; 246752#L25 assume ~n <= 0;#res := 1; 246746#factFINAL assume true; 246743#factEXIT >#76#return; 246413#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 246745#factENTRY ~n := #in~n; 246755#L25 assume !(~n <= 0); 246749#L26 call #t~ret0 := fact(~n - 1);< 246751#factENTRY ~n := #in~n; 246756#L25 assume ~n <= 0;#res := 1; 246754#factFINAL assume true; 246748#factEXIT >#66#return; 246747#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246744#factFINAL assume true; 246412#factEXIT >#78#return; 246414#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; 246800#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 246798#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 246796#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 246794#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; 246314#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 246372#factENTRY ~n := #in~n; 246366#L25 assume !(~n <= 0); 246367#L26 call #t~ret0 := fact(~n - 1);< 246383#factENTRY ~n := #in~n; 246391#L25 assume !(~n <= 0); 246380#L26 call #t~ret0 := fact(~n - 1);< 246389#factENTRY ~n := #in~n; 246393#L25 assume ~n <= 0;#res := 1; 246390#factFINAL assume true; 246388#factEXIT >#66#return; 246387#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246384#factFINAL assume true; 246378#factEXIT >#66#return; 246377#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246375#factFINAL assume true; 246311#factEXIT >#74#return; 246316#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 246361#factENTRY ~n := #in~n; 246373#L25 assume ~n <= 0;#res := 1; 246364#factFINAL assume true; 246360#factEXIT >#76#return; 246312#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 246376#factENTRY ~n := #in~n; 246398#L25 assume !(~n <= 0); 246381#L26 call #t~ret0 := fact(~n - 1);< 246386#factENTRY ~n := #in~n; 246391#L25 assume !(~n <= 0); 246380#L26 call #t~ret0 := fact(~n - 1);< 246389#factENTRY ~n := #in~n; 246393#L25 assume ~n <= 0;#res := 1; 246390#factFINAL assume true; 246388#factEXIT >#66#return; 246387#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246384#factFINAL assume true; 246378#factEXIT >#66#return; 246377#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246375#factFINAL assume true; 246311#factEXIT >#78#return; 245252#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; 245253#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 245304#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 245305#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 245274#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 245275#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 245285#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 245286#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; 246524#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 246526#factENTRY ~n := #in~n; 246560#L25 assume !(~n <= 0); 246534#L26 call #t~ret0 := fact(~n - 1);< 246535#factENTRY ~n := #in~n; 246559#L25 assume ~n <= 0;#res := 1; 246558#factFINAL assume true; 246533#factEXIT >#66#return; 246530#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246528#factFINAL assume true; 246523#factEXIT >#68#return; 246519#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 246521#factENTRY ~n := #in~n; 246527#L25 assume ~n <= 0;#res := 1; 246522#factFINAL assume true; 246518#factEXIT >#70#return; 246499#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 246502#factENTRY ~n := #in~n; 246597#L25 assume !(~n <= 0); 246595#L26 call #t~ret0 := fact(~n - 1);< 246596#factENTRY ~n := #in~n; 246600#L25 assume ~n <= 0;#res := 1; 246598#factFINAL assume true; 246594#factEXIT >#66#return; 246590#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246589#factFINAL assume true; 246498#factEXIT >#72#return; 246501#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; 246516#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 246515#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 246513#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 246505#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; 246476#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 246478#factENTRY ~n := #in~n; 246506#L25 assume !(~n <= 0); 246485#L26 call #t~ret0 := fact(~n - 1);< 246486#factENTRY ~n := #in~n; 246504#L25 assume ~n <= 0;#res := 1; 246503#factFINAL assume true; 246484#factEXIT >#66#return; 246481#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246479#factFINAL assume true; 246475#factEXIT >#68#return; 246467#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 246468#factENTRY ~n := #in~n; 246497#L25 assume !(~n <= 0); 246493#L26 call #t~ret0 := fact(~n - 1);< 246495#factENTRY ~n := #in~n; 246514#L25 assume ~n <= 0;#res := 1; 246507#factFINAL assume true; 246490#factEXIT >#66#return; 246488#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246483#factFINAL assume true; 246465#factEXIT >#70#return; 246462#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 246464#factENTRY ~n := #in~n; 246474#L25 assume ~n <= 0;#res := 1; 246473#factFINAL assume true; 246461#factEXIT >#72#return; 246458#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; 246455#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 246451#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 246445#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 246441#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; 246435#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 246437#factENTRY ~n := #in~n; 246453#L25 assume !(~n <= 0); 246447#L26 call #t~ret0 := fact(~n - 1);< 246449#factENTRY ~n := #in~n; 246471#L25 assume !(~n <= 0); 246448#L26 call #t~ret0 := fact(~n - 1);< 246460#factENTRY ~n := #in~n; 246470#L25 assume ~n <= 0;#res := 1; 246469#factFINAL assume true; 246459#factEXIT >#66#return; 246456#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246452#factFINAL assume true; 246446#factEXIT >#66#return; 246443#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246438#factFINAL assume true; 246434#factEXIT >#74#return; 246422#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 246423#factENTRY ~n := #in~n; 246619#L25 assume !(~n <= 0); 246616#L26 call #t~ret0 := fact(~n - 1);< 246617#factENTRY ~n := #in~n; 246472#L25 assume ~n <= 0;#res := 1; 246618#factFINAL assume true; 246615#factEXIT >#66#return; 246614#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246429#factFINAL assume true; 246433#factEXIT >#76#return; 246430#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 246423#factENTRY ~n := #in~n; 246619#L25 assume !(~n <= 0); 246616#L26 call #t~ret0 := fact(~n - 1);< 246617#factENTRY ~n := #in~n; 246472#L25 assume ~n <= 0;#res := 1; 246618#factFINAL assume true; 246615#factEXIT >#66#return; 246614#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246429#factFINAL assume true; 246433#factEXIT >#78#return; 245324#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; 246202#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 246201#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 246200#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 246199#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 245267#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 245269#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 246033#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; 245329#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 245378#factENTRY ~n := #in~n; 245348#L25 assume !(~n <= 0); 245336#L26 call #t~ret0 := fact(~n - 1);< 245359#factENTRY ~n := #in~n; 245356#L25 assume !(~n <= 0); 245334#L26 call #t~ret0 := fact(~n - 1);< 245354#factENTRY ~n := #in~n; 245357#L25 assume ~n <= 0;#res := 1; 245355#factFINAL assume true; 245352#factEXIT >#66#return; 245353#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245372#factFINAL assume true; 245333#factEXIT >#66#return; 245338#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246031#factFINAL assume true; 246014#factEXIT >#68#return; 246009#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 245297#factENTRY ~n := #in~n; 246026#L25 assume ~n <= 0;#res := 1; 246025#factFINAL assume true; 246006#factEXIT >#70#return; 245895#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 245998#factENTRY ~n := #in~n; 246037#L25 assume !(~n <= 0); 246022#L26 call #t~ret0 := fact(~n - 1);< 246024#factENTRY ~n := #in~n; 246049#L25 assume !(~n <= 0); 246020#L26 call #t~ret0 := fact(~n - 1);< 246046#factENTRY ~n := #in~n; 246045#L25 assume ~n <= 0;#res := 1; 246043#factFINAL assume true; 246039#factEXIT >#66#return; 246038#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246034#factFINAL assume true; 246017#factEXIT >#66#return; 246016#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246004#factFINAL assume true; 245988#factEXIT >#72#return; 245989#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; 246143#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 246142#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 246140#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 246141#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; 245549#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 245722#factENTRY ~n := #in~n; 245721#L25 assume !(~n <= 0); 245644#L26 call #t~ret0 := fact(~n - 1);< 245714#factENTRY ~n := #in~n; 245713#L25 assume !(~n <= 0); 245690#L26 call #t~ret0 := fact(~n - 1);< 245708#factENTRY ~n := #in~n; 246266#L25 assume ~n <= 0;#res := 1; 246265#factFINAL assume true; 245706#factEXIT >#66#return; 245705#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245699#factFINAL assume true; 245688#factEXIT >#66#return; 245692#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245904#factFINAL assume true; 245900#factEXIT >#68#return; 245507#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 245513#factENTRY ~n := #in~n; 245726#L25 assume !(~n <= 0); 245652#L26 call #t~ret0 := fact(~n - 1);< 245701#factENTRY ~n := #in~n; 246172#L25 assume ~n <= 0;#res := 1; 245869#factFINAL assume true; 245863#factEXIT >#66#return; 245867#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246264#factFINAL assume true; 245715#factEXIT >#70#return; 245716#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 245874#factENTRY ~n := #in~n; 245872#L25 assume !(~n <= 0); 245865#L26 call #t~ret0 := fact(~n - 1);< 245868#factENTRY ~n := #in~n; 246172#L25 assume ~n <= 0;#res := 1; 245869#factFINAL assume true; 245863#factEXIT >#66#return; 245866#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246005#factFINAL assume true; 245990#factEXIT >#72#return; 245992#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; 246152#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 246151#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 246150#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 246139#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; 245547#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 245722#factENTRY ~n := #in~n; 245721#L25 assume !(~n <= 0); 245644#L26 call #t~ret0 := fact(~n - 1);< 245714#factENTRY ~n := #in~n; 245713#L25 assume !(~n <= 0); 245690#L26 call #t~ret0 := fact(~n - 1);< 245708#factENTRY ~n := #in~n; 246266#L25 assume ~n <= 0;#res := 1; 246265#factFINAL assume true; 245706#factEXIT >#66#return; 245705#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245699#factFINAL assume true; 245688#factEXIT >#66#return; 245692#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245904#factFINAL assume true; 245900#factEXIT >#68#return; 245495#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 245513#factENTRY ~n := #in~n; 245726#L25 assume !(~n <= 0); 245652#L26 call #t~ret0 := fact(~n - 1);< 245701#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246266#L25 assume ~n <= 0;#res := 1; 246265#factFINAL assume true; 245706#factEXIT >#66#return; 245705#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245699#factFINAL assume true; 245688#factEXIT >#66#return; 245694#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246176#factFINAL assume true; 245834#factEXIT >#70#return; 245479#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 245490#factENTRY ~n := #in~n; 245873#L25 assume ~n <= 0;#res := 1; 245535#factFINAL assume true; 245470#factEXIT >#72#return; 245489#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; 246105#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 246104#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 246103#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 246102#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; 245424#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 245436#factENTRY ~n := #in~n; 246324#L25 assume !(~n <= 0); 245447#L26 call #t~ret0 := fact(~n - 1);< 246288#factENTRY ~n := #in~n; 245704#L25 assume !(~n <= 0); 245446#L26 call #t~ret0 := fact(~n - 1);< 245669#factENTRY ~n := #in~n; 245704#L25 assume !(~n <= 0); 245446#L26 call #t~ret0 := fact(~n - 1);< 245669#factENTRY ~n := #in~n; 245703#L25 assume ~n <= 0;#res := 1; 245697#factFINAL assume true; 245667#factEXIT >#66#return; 245634#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245587#factFINAL assume true; 245527#factEXIT >#66#return; 245525#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245521#factFINAL assume true; 245444#factEXIT >#66#return; 245443#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245435#factFINAL assume true; 245421#factEXIT >#74#return; 245427#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 245516#factENTRY ~n := #in~n; 245576#L25 assume !(~n <= 0); 245445#L26 call #t~ret0 := fact(~n - 1);< 245575#factENTRY ~n := #in~n; 245677#L25 assume !(~n <= 0); 245528#L26 call #t~ret0 := fact(~n - 1);< 245670#factENTRY ~n := #in~n; 245672#L25 assume !(~n <= 0); 245668#L26 call #t~ret0 := fact(~n - 1);< 245671#factENTRY ~n := #in~n; 245703#L25 assume ~n <= 0;#res := 1; 245697#factFINAL assume true; 245667#factEXIT >#66#return; 245634#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245587#factFINAL assume true; 245527#factEXIT >#66#return; 245525#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245521#factFINAL assume true; 245444#factEXIT >#66#return; 245443#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245435#factFINAL assume true; 245421#factEXIT >#76#return; 245428#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 245442#factENTRY ~n := #in~n; 245469#L25 assume !(~n <= 0); 245466#L26 call #t~ret0 := fact(~n - 1);< 245467#factENTRY ~n := #in~n; 245526#L25 assume ~n <= 0;#res := 1; 245524#factFINAL assume true; 245465#factEXIT >#66#return; 245463#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245460#factFINAL assume true; 245440#factEXIT >#78#return; 245397#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; 245405#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 245404#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 245403#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 245402#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 245401#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 245386#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 245384#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; 245330#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 245364#factENTRY ~n := #in~n; 245365#L25 assume !(~n <= 0); 245337#L26 call #t~ret0 := fact(~n - 1);< 245359#factENTRY ~n := #in~n; 245356#L25 assume !(~n <= 0); 245334#L26 call #t~ret0 := fact(~n - 1);< 245354#factENTRY ~n := #in~n; 245356#L25 assume !(~n <= 0); 245334#L26 call #t~ret0 := fact(~n - 1);< 245354#factENTRY ~n := #in~n; 245356#L25 assume !(~n <= 0); 245334#L26 call #t~ret0 := fact(~n - 1);< 245354#factENTRY ~n := #in~n; 245357#L25 assume ~n <= 0;#res := 1; 245355#factFINAL assume true; 245352#factEXIT >#66#return; 245353#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245372#factFINAL assume true; 245333#factEXIT >#66#return; 245339#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245373#factFINAL assume true; 245367#factEXIT >#66#return; 245349#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245343#factFINAL assume true; 245345#factEXIT >#66#return; 245368#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246306#factFINAL assume true; 246300#factEXIT >#68#return; 246008#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 245297#factENTRY ~n := #in~n; 246026#L25 assume ~n <= 0;#res := 1; 246025#factFINAL assume true; 246006#factEXIT >#70#return; 246011#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 246056#factENTRY ~n := #in~n; 246055#L25 assume !(~n <= 0); 246052#L26 call #t~ret0 := fact(~n - 1);< 246054#factENTRY ~n := #in~n; 246053#L25 assume !(~n <= 0); 246018#L26 call #t~ret0 := fact(~n - 1);< 246051#factENTRY ~n := #in~n; 246050#L25 assume !(~n <= 0); 246021#L26 call #t~ret0 := fact(~n - 1);< 246042#factENTRY ~n := #in~n; 246050#L25 assume !(~n <= 0); 246021#L26 call #t~ret0 := fact(~n - 1);< 246042#factENTRY ~n := #in~n; 246045#L25 assume ~n <= 0;#res := 1; 246043#factFINAL assume true; 246039#factEXIT >#66#return; 246038#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246034#factFINAL assume true; 246017#factEXIT >#66#return; 246023#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246169#factFINAL assume true; 246167#factEXIT >#66#return; 246168#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246339#factFINAL assume true; 246329#factEXIT >#66#return; 246327#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246325#factFINAL assume true; 246298#factEXIT >#72#return; 246297#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; 246296#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 246295#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 246294#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 246293#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; 246146#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 246149#factENTRY ~n := #in~n; 246148#L25 assume !(~n <= 0); 245879#L26 call #t~ret0 := fact(~n - 1);< 246145#factENTRY ~n := #in~n; 246144#L25 assume !(~n <= 0); 245647#L26 call #t~ret0 := fact(~n - 1);< 245885#factENTRY ~n := #in~n; 246133#L25 assume !(~n <= 0); 245642#L26 call #t~ret0 := fact(~n - 1);< 245663#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246266#L25 assume ~n <= 0;#res := 1; 246265#factFINAL assume true; 245706#factEXIT >#66#return; 245705#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245699#factFINAL assume true; 245688#factEXIT >#66#return; 245687#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245659#factFINAL assume true; 245640#factEXIT >#66#return; 245655#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246164#factFINAL assume true; 245876#factEXIT >#66#return; 245881#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246189#factFINAL assume true; 246177#factEXIT >#66#return; 246180#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246257#factFINAL assume true; 246251#factEXIT >#68#return; 245501#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 245513#factENTRY ~n := #in~n; 245726#L25 assume !(~n <= 0); 245652#L26 call #t~ret0 := fact(~n - 1);< 245701#factENTRY ~n := #in~n; 246172#L25 assume ~n <= 0;#res := 1; 245869#factFINAL assume true; 245863#factEXIT >#66#return; 245867#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246264#factFINAL assume true; 245715#factEXIT >#70#return; 245553#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 245909#factENTRY ~n := #in~n; 245907#L25 assume !(~n <= 0); 245651#L26 call #t~ret0 := fact(~n - 1);< 245663#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246266#L25 assume ~n <= 0;#res := 1; 246265#factFINAL assume true; 245706#factEXIT >#66#return; 245705#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245699#factFINAL assume true; 245688#factEXIT >#66#return; 245692#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245904#factFINAL assume true; 245900#factEXIT >#72#return; 245558#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; 246356#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 246355#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 246344#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 246333#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; 246147#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 246149#factENTRY ~n := #in~n; 246148#L25 assume !(~n <= 0); 245879#L26 call #t~ret0 := fact(~n - 1);< 246145#factENTRY ~n := #in~n; 246144#L25 assume !(~n <= 0); 245647#L26 call #t~ret0 := fact(~n - 1);< 245885#factENTRY ~n := #in~n; 246133#L25 assume !(~n <= 0); 245642#L26 call #t~ret0 := fact(~n - 1);< 245663#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246266#L25 assume ~n <= 0;#res := 1; 246265#factFINAL assume true; 245706#factEXIT >#66#return; 245705#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245699#factFINAL assume true; 245688#factEXIT >#66#return; 245687#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245659#factFINAL assume true; 245640#factEXIT >#66#return; 245655#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246164#factFINAL assume true; 245876#factEXIT >#66#return; 245881#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246189#factFINAL assume true; 246177#factEXIT >#66#return; 246180#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246257#factFINAL assume true; 246251#factEXIT >#68#return; 245493#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 245513#factENTRY ~n := #in~n; 245726#L25 assume !(~n <= 0); 245652#L26 call #t~ret0 := fact(~n - 1);< 245701#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246266#L25 assume ~n <= 0;#res := 1; 246265#factFINAL assume true; 245706#factEXIT >#66#return; 245705#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245699#factFINAL assume true; 245688#factEXIT >#66#return; 245694#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246176#factFINAL assume true; 245834#factEXIT >#70#return; 245512#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 245909#factENTRY ~n := #in~n; 245907#L25 assume !(~n <= 0); 245651#L26 call #t~ret0 := fact(~n - 1);< 245663#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246266#L25 assume ~n <= 0;#res := 1; 246265#factFINAL assume true; 245706#factEXIT >#66#return; 245705#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245699#factFINAL assume true; 245688#factEXIT >#66#return; 245692#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245904#factFINAL assume true; 245900#factEXIT >#72#return; 245488#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; 246307#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 246305#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 246302#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 246301#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; 245847#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 246210#factENTRY ~n := #in~n; 246208#L25 assume !(~n <= 0); 245878#L26 call #t~ret0 := fact(~n - 1);< 246166#factENTRY ~n := #in~n; 246174#L25 assume !(~n <= 0); 245645#L26 call #t~ret0 := fact(~n - 1);< 245663#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246266#L25 assume ~n <= 0;#res := 1; 246265#factFINAL assume true; 245706#factEXIT >#66#return; 245705#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245699#factFINAL assume true; 245688#factEXIT >#66#return; 245687#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245659#factFINAL assume true; 245640#factEXIT >#66#return; 245655#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246164#factFINAL assume true; 245876#factEXIT >#66#return; 245881#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246189#factFINAL assume true; 246177#factEXIT >#66#return; 246180#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246257#factFINAL assume true; 246251#factEXIT >#68#return; 245505#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 245513#factENTRY ~n := #in~n; 245726#L25 assume !(~n <= 0); 245652#L26 call #t~ret0 := fact(~n - 1);< 245701#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246266#L25 assume ~n <= 0;#res := 1; 246265#factFINAL assume true; 245706#factEXIT >#66#return; 245705#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245699#factFINAL assume true; 245688#factEXIT >#66#return; 245687#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245659#factFINAL assume true; 245640#factEXIT >#66#return; 245655#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246164#factFINAL assume true; 245876#factEXIT >#66#return; 245883#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246258#factFINAL assume true; 246249#factEXIT >#70#return; 245474#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 245626#factENTRY ~n := #in~n; 245536#L25 assume ~n <= 0;#res := 1; 245535#factFINAL assume true; 245470#factEXIT >#72#return; 245485#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; 246292#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 246291#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 246290#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 245846#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; 245616#L30-5 [2022-07-22 01:31:00,939 INFO L754 eck$LassoCheckResult]: Loop: 245616#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 245618#factENTRY ~n := #in~n; 245617#L25 assume !(~n <= 0); 245593#L26 call #t~ret0 := fact(~n - 1);< 245615#factENTRY ~n := #in~n; 245614#L25 assume !(~n <= 0); 245532#L26 call #t~ret0 := fact(~n - 1);< 245594#factENTRY ~n := #in~n; 245596#L25 assume !(~n <= 0); 245449#L26 call #t~ret0 := fact(~n - 1);< 245523#factENTRY ~n := #in~n; 245704#L25 assume !(~n <= 0); 245446#L26 call #t~ret0 := fact(~n - 1);< 245669#factENTRY ~n := #in~n; 245704#L25 assume !(~n <= 0); 245446#L26 call #t~ret0 := fact(~n - 1);< 245669#factENTRY ~n := #in~n; 245703#L25 assume ~n <= 0;#res := 1; 245697#factFINAL assume true; 245667#factEXIT >#66#return; 245634#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245587#factFINAL assume true; 245527#factEXIT >#66#return; 245525#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245521#factFINAL assume true; 245444#factEXIT >#66#return; 245451#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245592#factFINAL assume true; 245531#factEXIT >#66#return; 245533#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246331#factFINAL assume true; 246330#factEXIT >#66#return; 246328#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246326#factFINAL assume true; 246322#factEXIT >#74#return; 245423#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 245454#factENTRY ~n := #in~n; 245624#L25 assume !(~n <= 0); 245243#L26 call #t~ret0 := fact(~n - 1);< 245242#factENTRY ~n := #in~n; 245244#L25 assume !(~n <= 0); 245450#L26 call #t~ret0 := fact(~n - 1);< 245523#factENTRY ~n := #in~n; 245704#L25 assume !(~n <= 0); 245446#L26 call #t~ret0 := fact(~n - 1);< 245669#factENTRY ~n := #in~n; 245704#L25 assume !(~n <= 0); 245446#L26 call #t~ret0 := fact(~n - 1);< 245669#factENTRY ~n := #in~n; 245704#L25 assume !(~n <= 0); 245446#L26 call #t~ret0 := fact(~n - 1);< 245669#factENTRY ~n := #in~n; 245703#L25 assume ~n <= 0;#res := 1; 245697#factFINAL assume true; 245667#factEXIT >#66#return; 245634#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245587#factFINAL assume true; 245527#factEXIT >#66#return; 245525#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245521#factFINAL assume true; 245444#factEXIT >#66#return; 245451#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245592#factFINAL assume true; 245531#factEXIT >#66#return; 245533#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246331#factFINAL assume true; 246330#factEXIT >#66#return; 246328#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246326#factFINAL assume true; 246322#factEXIT >#76#return; 245429#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 245442#factENTRY ~n := #in~n; 245469#L25 assume !(~n <= 0); 245466#L26 call #t~ret0 := fact(~n - 1);< 245467#factENTRY ~n := #in~n; 245526#L25 assume ~n <= 0;#res := 1; 245524#factFINAL assume true; 245465#factEXIT >#66#return; 245463#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245460#factFINAL assume true; 245440#factEXIT >#78#return; 245398#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; 245261#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 245262#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 245383#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 245380#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 245377#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 245375#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 245371#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; 245236#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 245237#factENTRY ~n := #in~n; 245351#L25 assume !(~n <= 0); 245346#L26 call #t~ret0 := fact(~n - 1);< 245361#factENTRY ~n := #in~n; 245360#L25 assume !(~n <= 0); 245344#L26 call #t~ret0 := fact(~n - 1);< 245347#factENTRY ~n := #in~n; 245350#L25 assume !(~n <= 0); 245335#L26 call #t~ret0 := fact(~n - 1);< 245358#factENTRY ~n := #in~n; 245356#L25 assume !(~n <= 0); 245334#L26 call #t~ret0 := fact(~n - 1);< 245354#factENTRY ~n := #in~n; 245356#L25 assume !(~n <= 0); 245334#L26 call #t~ret0 := fact(~n - 1);< 245354#factENTRY ~n := #in~n; 245357#L25 assume ~n <= 0;#res := 1; 245355#factFINAL assume true; 245352#factEXIT >#66#return; 245353#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245372#factFINAL assume true; 245333#factEXIT >#66#return; 245339#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245373#factFINAL assume true; 245367#factEXIT >#66#return; 245349#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245343#factFINAL assume true; 245345#factEXIT >#66#return; 245369#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246310#factFINAL assume true; 246308#factEXIT >#66#return; 246309#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246303#factFINAL assume true; 246304#factEXIT >#68#return; 246010#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 245297#factENTRY ~n := #in~n; 246026#L25 assume ~n <= 0;#res := 1; 246025#factFINAL assume true; 246006#factEXIT >#70#return; 246012#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 246056#factENTRY ~n := #in~n; 246055#L25 assume !(~n <= 0); 246052#L26 call #t~ret0 := fact(~n - 1);< 246054#factENTRY ~n := #in~n; 246053#L25 assume !(~n <= 0); 246018#L26 call #t~ret0 := fact(~n - 1);< 246051#factENTRY ~n := #in~n; 246050#L25 assume !(~n <= 0); 246021#L26 call #t~ret0 := fact(~n - 1);< 246042#factENTRY ~n := #in~n; 246050#L25 assume !(~n <= 0); 246021#L26 call #t~ret0 := fact(~n - 1);< 246042#factENTRY ~n := #in~n; 246045#L25 assume ~n <= 0;#res := 1; 246043#factFINAL assume true; 246039#factEXIT >#66#return; 246038#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246034#factFINAL assume true; 246017#factEXIT >#66#return; 246023#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246169#factFINAL assume true; 246167#factEXIT >#66#return; 246168#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246339#factFINAL assume true; 246329#factEXIT >#66#return; 246327#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246325#factFINAL assume true; 246298#factEXIT >#72#return; 246299#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; 246338#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 246337#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 246336#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 246335#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; 246191#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 246197#factENTRY ~n := #in~n; 246196#L25 assume !(~n <= 0); 246179#L26 call #t~ret0 := fact(~n - 1);< 246194#factENTRY ~n := #in~n; 246204#L25 assume !(~n <= 0); 245880#L26 call #t~ret0 := fact(~n - 1);< 246166#factENTRY ~n := #in~n; 246174#L25 assume !(~n <= 0); 245645#L26 call #t~ret0 := fact(~n - 1);< 245663#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246266#L25 assume ~n <= 0;#res := 1; 246265#factFINAL assume true; 245706#factEXIT >#66#return; 245705#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245699#factFINAL assume true; 245688#factEXIT >#66#return; 245687#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245659#factFINAL assume true; 245640#factEXIT >#66#return; 245655#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246164#factFINAL assume true; 245876#factEXIT >#66#return; 245881#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246189#factFINAL assume true; 246177#factEXIT >#66#return; 246180#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246257#factFINAL assume true; 246251#factEXIT >#68#return; 245504#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 245513#factENTRY ~n := #in~n; 245726#L25 assume !(~n <= 0); 245652#L26 call #t~ret0 := fact(~n - 1);< 245701#factENTRY ~n := #in~n; 246172#L25 assume ~n <= 0;#res := 1; 245869#factFINAL assume true; 245863#factEXIT >#66#return; 245867#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246264#factFINAL assume true; 245715#factEXIT >#70#return; 245544#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 245909#factENTRY ~n := #in~n; 245907#L25 assume !(~n <= 0); 245651#L26 call #t~ret0 := fact(~n - 1);< 245663#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246266#L25 assume ~n <= 0;#res := 1; 246265#factFINAL assume true; 245706#factEXIT >#66#return; 245705#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245699#factFINAL assume true; 245688#factEXIT >#66#return; 245687#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245659#factFINAL assume true; 245640#factEXIT >#66#return; 245631#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245625#factFINAL assume true; 245540#factEXIT >#72#return; 245559#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; 246273#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 246272#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 246271#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 246270#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; 246192#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 246197#factENTRY ~n := #in~n; 246196#L25 assume !(~n <= 0); 246179#L26 call #t~ret0 := fact(~n - 1);< 246194#factENTRY ~n := #in~n; 246204#L25 assume !(~n <= 0); 245880#L26 call #t~ret0 := fact(~n - 1);< 246166#factENTRY ~n := #in~n; 246174#L25 assume !(~n <= 0); 245645#L26 call #t~ret0 := fact(~n - 1);< 245663#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246266#L25 assume ~n <= 0;#res := 1; 246265#factFINAL assume true; 245706#factEXIT >#66#return; 245705#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245699#factFINAL assume true; 245688#factEXIT >#66#return; 245687#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245659#factFINAL assume true; 245640#factEXIT >#66#return; 245655#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246164#factFINAL assume true; 245876#factEXIT >#66#return; 245881#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246189#factFINAL assume true; 246177#factEXIT >#66#return; 246180#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246257#factFINAL assume true; 246251#factEXIT >#68#return; 245499#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 245513#factENTRY ~n := #in~n; 245726#L25 assume !(~n <= 0); 245652#L26 call #t~ret0 := fact(~n - 1);< 245701#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246266#L25 assume ~n <= 0;#res := 1; 246265#factFINAL assume true; 245706#factEXIT >#66#return; 245705#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245699#factFINAL assume true; 245688#factEXIT >#66#return; 245694#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246176#factFINAL assume true; 245834#factEXIT >#70#return; 245511#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 245909#factENTRY ~n := #in~n; 245907#L25 assume !(~n <= 0); 245651#L26 call #t~ret0 := fact(~n - 1);< 245663#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246266#L25 assume ~n <= 0;#res := 1; 246265#factFINAL assume true; 245706#factEXIT >#66#return; 245705#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245699#factFINAL assume true; 245688#factEXIT >#66#return; 245692#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245904#factFINAL assume true; 245900#factEXIT >#72#return; 245484#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; 246256#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 246255#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 246254#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 246252#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; 246190#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 246197#factENTRY ~n := #in~n; 246196#L25 assume !(~n <= 0); 246179#L26 call #t~ret0 := fact(~n - 1);< 246194#factENTRY ~n := #in~n; 246204#L25 assume !(~n <= 0); 245880#L26 call #t~ret0 := fact(~n - 1);< 246166#factENTRY ~n := #in~n; 246174#L25 assume !(~n <= 0); 245645#L26 call #t~ret0 := fact(~n - 1);< 245663#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246266#L25 assume ~n <= 0;#res := 1; 246265#factFINAL assume true; 245706#factEXIT >#66#return; 245705#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245699#factFINAL assume true; 245688#factEXIT >#66#return; 245687#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245659#factFINAL assume true; 245640#factEXIT >#66#return; 245655#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246164#factFINAL assume true; 245876#factEXIT >#66#return; 245881#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246189#factFINAL assume true; 246177#factEXIT >#66#return; 246180#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246257#factFINAL assume true; 246251#factEXIT >#68#return; 245497#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 245513#factENTRY ~n := #in~n; 245726#L25 assume !(~n <= 0); 245652#L26 call #t~ret0 := fact(~n - 1);< 245701#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246351#L25 assume !(~n <= 0); 245653#L26 call #t~ret0 := fact(~n - 1);< 245710#factENTRY ~n := #in~n; 246266#L25 assume ~n <= 0;#res := 1; 246265#factFINAL assume true; 245706#factEXIT >#66#return; 245705#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245699#factFINAL assume true; 245688#factEXIT >#66#return; 245687#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 245659#factFINAL assume true; 245640#factEXIT >#66#return; 245655#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246164#factFINAL assume true; 245876#factEXIT >#66#return; 245883#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 246258#factFINAL assume true; 246249#factEXIT >#70#return; 245472#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 245626#factENTRY ~n := #in~n; 245536#L25 assume ~n <= 0;#res := 1; 245535#factFINAL assume true; 245470#factEXIT >#72#return; 245483#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; 246248#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 246246#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 246245#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 246244#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; 245616#L30-5 [2022-07-22 01:31:00,939 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:31:00,939 INFO L85 PathProgramCache]: Analyzing trace with hash -1319377862, now seen corresponding path program 31 times [2022-07-22 01:31:00,940 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:31:00,940 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1965786526] [2022-07-22 01:31:00,940 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:31:00,940 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:31:00,955 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:31:00,955 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [234626131] [2022-07-22 01:31:00,956 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-22 01:31:00,956 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:31:00,956 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:31:00,961 INFO L229 MonitoredProcess]: Starting monitored process 183 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:31:00,962 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (183)] Waiting until timeout for monitored process [2022-07-22 01:31:01,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:31:01,355 INFO L263 TraceCheckSpWp]: Trace formula consists of 1561 conjuncts, 10 conjunts are in the unsatisfiable core [2022-07-22 01:31:01,360 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:31:01,507 INFO L134 CoverageAnalysis]: Checked inductivity of 28579 backedges. 14408 proven. 120 refuted. 0 times theorem prover too weak. 14051 trivial. 0 not checked. [2022-07-22 01:31:01,507 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:31:02,179 INFO L134 CoverageAnalysis]: Checked inductivity of 28579 backedges. 340 proven. 184 refuted. 0 times theorem prover too weak. 28055 trivial. 0 not checked. [2022-07-22 01:31:02,180 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:31:02,180 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1965786526] [2022-07-22 01:31:02,180 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:31:02,180 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [234626131] [2022-07-22 01:31:02,180 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [234626131] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:31:02,180 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:31:02,181 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 15 [2022-07-22 01:31:02,181 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1510344946] [2022-07-22 01:31:02,181 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:31:02,182 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:31:02,182 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:31:02,182 INFO L85 PathProgramCache]: Analyzing trace with hash 1478658967, now seen corresponding path program 29 times [2022-07-22 01:31:02,182 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:31:02,182 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [576244453] [2022-07-22 01:31:02,183 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:31:02,183 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:31:02,193 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:31:02,194 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [74413198] [2022-07-22 01:31:02,194 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-22 01:31:02,194 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:31:02,194 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:31:02,199 INFO L229 MonitoredProcess]: Starting monitored process 184 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:31:02,222 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (184)] Waiting until timeout for monitored process [2022-07-22 01:31:02,383 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 17 check-sat command(s) [2022-07-22 01:31:02,383 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:31:02,384 INFO L263 TraceCheckSpWp]: Trace formula consists of 243 conjuncts, 25 conjunts are in the unsatisfiable core [2022-07-22 01:31:02,387 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:31:02,679 INFO L134 CoverageAnalysis]: Checked inductivity of 9791 backedges. 5538 proven. 165 refuted. 0 times theorem prover too weak. 4088 trivial. 0 not checked. [2022-07-22 01:31:02,679 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:31:06,174 INFO L134 CoverageAnalysis]: Checked inductivity of 9791 backedges. 714 proven. 1763 refuted. 0 times theorem prover too weak. 7314 trivial. 0 not checked. [2022-07-22 01:31:06,175 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:31:06,175 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [576244453] [2022-07-22 01:31:06,175 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:31:06,175 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [74413198] [2022-07-22 01:31:06,175 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [74413198] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:31:06,175 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:31:06,175 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 25] total 28 [2022-07-22 01:31:06,176 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1725270876] [2022-07-22 01:31:06,176 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:31:06,176 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:31:06,176 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:31:06,177 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2022-07-22 01:31:06,177 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=115, Invalid=641, Unknown=0, NotChecked=0, Total=756 [2022-07-22 01:31:06,177 INFO L87 Difference]: Start difference. First operand 1642 states and 2594 transitions. cyclomatic complexity: 981 Second operand has 28 states, 25 states have (on average 2.76) internal successors, (69), 26 states have internal predecessors, (69), 16 states have call successors, (27), 2 states have call predecessors, (27), 12 states have return successors, (34), 13 states have call predecessors, (34), 16 states have call successors, (34) [2022-07-22 01:31:07,736 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:31:07,737 INFO L93 Difference]: Finished difference Result 2063 states and 3186 transitions. [2022-07-22 01:31:07,737 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-07-22 01:31:07,738 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2063 states and 3186 transitions. [2022-07-22 01:31:07,746 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 109 [2022-07-22 01:31:07,754 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2063 states to 2061 states and 3184 transitions. [2022-07-22 01:31:07,754 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 372 [2022-07-22 01:31:07,754 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 372 [2022-07-22 01:31:07,754 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2061 states and 3184 transitions. [2022-07-22 01:31:07,754 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:31:07,754 INFO L369 hiAutomatonCegarLoop]: Abstraction has 2061 states and 3184 transitions. [2022-07-22 01:31:07,755 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2061 states and 3184 transitions. [2022-07-22 01:31:07,772 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2061 to 1662. [2022-07-22 01:31:07,773 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1662 states, 1040 states have (on average 1.103846153846154) internal successors, (1148), 1047 states have internal predecessors, (1148), 459 states have call successors, (459), 207 states have call predecessors, (459), 163 states have return successors, (1021), 407 states have call predecessors, (1021), 459 states have call successors, (1021) [2022-07-22 01:31:07,777 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1662 states to 1662 states and 2628 transitions. [2022-07-22 01:31:07,777 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1662 states and 2628 transitions. [2022-07-22 01:31:07,777 INFO L374 stractBuchiCegarLoop]: Abstraction has 1662 states and 2628 transitions. [2022-07-22 01:31:07,777 INFO L287 stractBuchiCegarLoop]: ======== Iteration 45 ============ [2022-07-22 01:31:07,778 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1662 states and 2628 transitions. [2022-07-22 01:31:07,781 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 86 [2022-07-22 01:31:07,781 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:31:07,781 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:31:07,784 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [109, 109, 67, 67, 67, 67, 42, 15, 14, 10, 10, 10, 10, 10, 10, 10, 10, 10, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 1, 1, 1, 1] [2022-07-22 01:31:07,784 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [63, 63, 48, 48, 48, 48, 15, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:31:07,784 INFO L752 eck$LassoCheckResult]: Stem: 255550#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 255522#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; 255523#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 255549#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; 255536#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 255537#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 256802#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; 255513#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 255514#factENTRY ~n := #in~n; 256812#L25 assume ~n <= 0;#res := 1; 256811#factFINAL assume true; 256809#factEXIT >#68#return; 255575#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 255576#factENTRY ~n := #in~n; 256709#L25 assume ~n <= 0;#res := 1; 256708#factFINAL assume true; 256707#factEXIT >#70#return; 255492#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 255493#factENTRY ~n := #in~n; 256791#L25 assume ~n <= 0;#res := 1; 256790#factFINAL assume true; 256789#factEXIT >#72#return; 255547#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; 255548#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 256976#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 256945#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 256946#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; 256969#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 256970#factENTRY ~n := #in~n; 256979#L25 assume !(~n <= 0); 256974#L26 call #t~ret0 := fact(~n - 1);< 256975#factENTRY ~n := #in~n; 256978#L25 assume ~n <= 0;#res := 1; 256977#factFINAL assume true; 256973#factEXIT >#66#return; 256972#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256971#factFINAL assume true; 256968#factEXIT >#74#return; 256958#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 256967#factENTRY ~n := #in~n; 256957#L25 assume ~n <= 0;#res := 1; 256959#factFINAL assume true; 256966#factEXIT >#76#return; 255490#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 255586#factENTRY ~n := #in~n; 256989#L25 assume !(~n <= 0); 256987#L26 call #t~ret0 := fact(~n - 1);< 256988#factENTRY ~n := #in~n; 257051#L25 assume ~n <= 0;#res := 1; 257049#factFINAL assume true; 257046#factEXIT >#66#return; 257048#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 257056#factFINAL assume true; 255489#factEXIT >#78#return; 255491#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; 257135#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 257134#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 257132#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 257106#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; 256627#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 256648#factENTRY ~n := #in~n; 256642#L25 assume !(~n <= 0); 256643#L26 call #t~ret0 := fact(~n - 1);< 256653#factENTRY ~n := #in~n; 256673#L25 assume !(~n <= 0); 256662#L26 call #t~ret0 := fact(~n - 1);< 256681#factENTRY ~n := #in~n; 256684#L25 assume ~n <= 0;#res := 1; 256682#factFINAL assume true; 256680#factEXIT >#66#return; 256679#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256678#factFINAL assume true; 256675#factEXIT >#66#return; 256676#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256685#factFINAL assume true; 256625#factEXIT >#74#return; 256630#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 256637#factENTRY ~n := #in~n; 256651#L25 assume ~n <= 0;#res := 1; 256640#factFINAL assume true; 256635#factEXIT >#76#return; 256626#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 256631#factENTRY ~n := #in~n; 256666#L25 assume !(~n <= 0); 256661#L26 call #t~ret0 := fact(~n - 1);< 256672#factENTRY ~n := #in~n; 256673#L25 assume !(~n <= 0); 256662#L26 call #t~ret0 := fact(~n - 1);< 256681#factENTRY ~n := #in~n; 256684#L25 assume ~n <= 0;#res := 1; 256682#factFINAL assume true; 256680#factEXIT >#66#return; 256679#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256678#factFINAL assume true; 256675#factEXIT >#66#return; 256676#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256685#factFINAL assume true; 256625#factEXIT >#78#return; 256617#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; 256616#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 256615#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 256614#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 255541#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 255542#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 255561#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 255562#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; 256800#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 256801#factENTRY ~n := #in~n; 256808#L25 assume !(~n <= 0); 256806#L26 call #t~ret0 := fact(~n - 1);< 256807#factENTRY ~n := #in~n; 256813#L25 assume ~n <= 0;#res := 1; 256810#factFINAL assume true; 256805#factEXIT >#66#return; 256804#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256803#factFINAL assume true; 256798#factEXIT >#68#return; 256793#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 256795#factENTRY ~n := #in~n; 256797#L25 assume ~n <= 0;#res := 1; 256796#factFINAL assume true; 256792#factEXIT >#70#return; 256786#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 256788#factENTRY ~n := #in~n; 256820#L25 assume !(~n <= 0); 256818#L26 call #t~ret0 := fact(~n - 1);< 256819#factENTRY ~n := #in~n; 256822#L25 assume ~n <= 0;#res := 1; 256821#factFINAL assume true; 256817#factEXIT >#66#return; 256816#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256815#factFINAL assume true; 256784#factEXIT >#72#return; 256787#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; 256857#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 256856#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 256855#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 256854#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; 256756#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 256758#factENTRY ~n := #in~n; 256765#L25 assume !(~n <= 0); 256762#L26 call #t~ret0 := fact(~n - 1);< 256763#factENTRY ~n := #in~n; 256766#L25 assume ~n <= 0;#res := 1; 256764#factFINAL assume true; 256761#factEXIT >#66#return; 256760#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256759#factFINAL assume true; 256755#factEXIT >#68#return; 256711#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 256728#factENTRY ~n := #in~n; 256725#L25 assume !(~n <= 0); 256716#L26 call #t~ret0 := fact(~n - 1);< 256719#factENTRY ~n := #in~n; 256726#L25 assume ~n <= 0;#res := 1; 256720#factFINAL assume true; 256714#factEXIT >#66#return; 256710#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256713#factFINAL assume true; 256783#factEXIT >#70#return; 256776#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 256779#factENTRY ~n := #in~n; 256781#L25 assume ~n <= 0;#res := 1; 256780#factFINAL assume true; 256775#factEXIT >#72#return; 256778#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; 256853#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 256852#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 256753#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 256754#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; 256842#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 256843#factENTRY ~n := #in~n; 256859#L25 assume !(~n <= 0); 256849#L26 call #t~ret0 := fact(~n - 1);< 256851#factENTRY ~n := #in~n; 256864#L25 assume !(~n <= 0); 256850#L26 call #t~ret0 := fact(~n - 1);< 256862#factENTRY ~n := #in~n; 256865#L25 assume ~n <= 0;#res := 1; 256863#factFINAL assume true; 256861#factEXIT >#66#return; 256860#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256858#factFINAL assume true; 256848#factEXIT >#66#return; 256847#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256846#factFINAL assume true; 256841#factEXIT >#74#return; 256834#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 256838#factENTRY ~n := #in~n; 256883#L25 assume !(~n <= 0); 256879#L26 call #t~ret0 := fact(~n - 1);< 256880#factENTRY ~n := #in~n; 256866#L25 assume ~n <= 0;#res := 1; 256882#factFINAL assume true; 256878#factEXIT >#66#return; 256875#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256873#factFINAL assume true; 256830#factEXIT >#76#return; 256833#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 256838#factENTRY ~n := #in~n; 256883#L25 assume !(~n <= 0); 256879#L26 call #t~ret0 := fact(~n - 1);< 256880#factENTRY ~n := #in~n; 256866#L25 assume ~n <= 0;#res := 1; 256882#factFINAL assume true; 256878#factEXIT >#66#return; 256875#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256873#factFINAL assume true; 256830#factEXIT >#78#return; 256692#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; 256690#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 256688#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 256624#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 256622#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 255538#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 255539#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 255930#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; 255590#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 255607#factENTRY ~n := #in~n; 255608#L25 assume !(~n <= 0); 255597#L26 call #t~ret0 := fact(~n - 1);< 255622#factENTRY ~n := #in~n; 255620#L25 assume !(~n <= 0); 255601#L26 call #t~ret0 := fact(~n - 1);< 255618#factENTRY ~n := #in~n; 255621#L25 assume ~n <= 0;#res := 1; 255619#factFINAL assume true; 255616#factEXIT >#66#return; 255617#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255948#factFINAL assume true; 255939#factEXIT >#66#return; 255936#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255929#factFINAL assume true; 255919#factEXIT >#68#return; 255913#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 255574#factENTRY ~n := #in~n; 255953#L25 assume ~n <= 0;#res := 1; 255952#factFINAL assume true; 255910#factEXIT >#70#return; 255889#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 255909#factENTRY ~n := #in~n; 255962#L25 assume !(~n <= 0); 255923#L26 call #t~ret0 := fact(~n - 1);< 255959#factENTRY ~n := #in~n; 256054#L25 assume !(~n <= 0); 255942#L26 call #t~ret0 := fact(~n - 1);< 256050#factENTRY ~n := #in~n; 256056#L25 assume ~n <= 0;#res := 1; 256055#factFINAL assume true; 256048#factEXIT >#66#return; 255961#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255958#factFINAL assume true; 255941#factEXIT >#66#return; 255944#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255978#factFINAL assume true; 255974#factEXIT >#72#return; 255975#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; 256060#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 256059#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 256058#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 256057#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; 255784#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 255856#factENTRY ~n := #in~n; 255854#L25 assume !(~n <= 0); 255797#L26 call #t~ret0 := fact(~n - 1);< 255846#factENTRY ~n := #in~n; 255845#L25 assume !(~n <= 0); 255820#L26 call #t~ret0 := fact(~n - 1);< 255834#factENTRY ~n := #in~n; 255858#L25 assume ~n <= 0;#res := 1; 255842#factFINAL assume true; 255832#factEXIT >#66#return; 255830#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255827#factFINAL assume true; 255819#factEXIT >#66#return; 255823#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255955#factFINAL assume true; 255950#factEXIT >#68#return; 255755#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 255767#factENTRY ~n := #in~n; 256011#L25 assume !(~n <= 0); 255805#L26 call #t~ret0 := fact(~n - 1);< 255828#factENTRY ~n := #in~n; 255907#L25 assume ~n <= 0;#res := 1; 255893#factFINAL assume true; 255866#factEXIT >#66#return; 255863#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255857#factFINAL assume true; 255839#factEXIT >#70#return; 255840#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 255886#factENTRY ~n := #in~n; 255954#L25 assume !(~n <= 0); 255769#L26 call #t~ret0 := fact(~n - 1);< 255901#factENTRY ~n := #in~n; 255907#L25 assume ~n <= 0;#res := 1; 255893#factFINAL assume true; 255866#factEXIT >#66#return; 255868#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255904#factFINAL assume true; 255878#factEXIT >#72#return; 255884#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; 256268#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 256267#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 256266#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 256265#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; 255773#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 255856#factENTRY ~n := #in~n; 255854#L25 assume !(~n <= 0); 255797#L26 call #t~ret0 := fact(~n - 1);< 255846#factENTRY ~n := #in~n; 255845#L25 assume !(~n <= 0); 255820#L26 call #t~ret0 := fact(~n - 1);< 255834#factENTRY ~n := #in~n; 255858#L25 assume ~n <= 0;#res := 1; 255842#factFINAL assume true; 255832#factEXIT >#66#return; 255830#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255827#factFINAL assume true; 255819#factEXIT >#66#return; 255823#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255955#factFINAL assume true; 255950#factEXIT >#68#return; 255746#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 255767#factENTRY ~n := #in~n; 256011#L25 assume !(~n <= 0); 255805#L26 call #t~ret0 := fact(~n - 1);< 255828#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255858#L25 assume ~n <= 0;#res := 1; 255842#factFINAL assume true; 255832#factEXIT >#66#return; 255830#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255827#factFINAL assume true; 255819#factEXIT >#66#return; 255825#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256040#factFINAL assume true; 255984#factEXIT >#70#return; 255724#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 255741#factENTRY ~n := #in~n; 255768#L25 assume ~n <= 0;#res := 1; 255744#factFINAL assume true; 255721#factEXIT >#72#return; 255735#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; 256074#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 256073#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 256071#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 255976#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; 255676#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 255681#factENTRY ~n := #in~n; 256047#L25 assume !(~n <= 0); 255497#L26 call #t~ret0 := fact(~n - 1);< 256046#factENTRY ~n := #in~n; 256029#L25 assume !(~n <= 0); 255499#L26 call #t~ret0 := fact(~n - 1);< 256037#factENTRY ~n := #in~n; 256029#L25 assume !(~n <= 0); 255499#L26 call #t~ret0 := fact(~n - 1);< 256037#factENTRY ~n := #in~n; 256067#L25 assume ~n <= 0;#res := 1; 256065#factFINAL assume true; 256034#factEXIT >#66#return; 255979#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255966#factFINAL assume true; 255706#factEXIT >#66#return; 255704#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255700#factFINAL assume true; 255691#factEXIT >#66#return; 255685#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255680#factFINAL assume true; 255672#factEXIT >#74#return; 255674#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 255972#factENTRY ~n := #in~n; 255970#L25 assume !(~n <= 0); 255566#L26 call #t~ret0 := fact(~n - 1);< 255967#factENTRY ~n := #in~n; 255565#L25 assume !(~n <= 0); 255567#L26 call #t~ret0 := fact(~n - 1);< 256036#factENTRY ~n := #in~n; 256585#L25 assume !(~n <= 0); 256035#L26 call #t~ret0 := fact(~n - 1);< 256038#factENTRY ~n := #in~n; 256067#L25 assume ~n <= 0;#res := 1; 256065#factFINAL assume true; 256034#factEXIT >#66#return; 255979#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255966#factFINAL assume true; 255706#factEXIT >#66#return; 255704#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255700#factFINAL assume true; 255691#factEXIT >#66#return; 255685#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255680#factFINAL assume true; 255672#factEXIT >#76#return; 255644#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 255646#factENTRY ~n := #in~n; 256227#L25 assume !(~n <= 0); 256219#L26 call #t~ret0 := fact(~n - 1);< 256220#factENTRY ~n := #in~n; 256556#L25 assume ~n <= 0;#res := 1; 256554#factFINAL assume true; 256218#factEXIT >#66#return; 256217#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256025#factFINAL assume true; 255642#factEXIT >#78#return; 255524#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; 255525#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 255534#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 255581#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 256612#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 256610#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 256607#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 255551#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; 255511#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 255512#factENTRY ~n := #in~n; 255956#L25 assume !(~n <= 0); 255599#L26 call #t~ret0 := fact(~n - 1);< 255622#factENTRY ~n := #in~n; 255620#L25 assume !(~n <= 0); 255601#L26 call #t~ret0 := fact(~n - 1);< 255618#factENTRY ~n := #in~n; 255620#L25 assume !(~n <= 0); 255601#L26 call #t~ret0 := fact(~n - 1);< 255618#factENTRY ~n := #in~n; 255620#L25 assume !(~n <= 0); 255601#L26 call #t~ret0 := fact(~n - 1);< 255618#factENTRY ~n := #in~n; 255621#L25 assume ~n <= 0;#res := 1; 255619#factFINAL assume true; 255616#factEXIT >#66#return; 255617#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255948#factFINAL assume true; 255939#factEXIT >#66#return; 255940#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255963#factFINAL assume true; 255960#factEXIT >#66#return; 255615#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255609#factFINAL assume true; 255595#factEXIT >#66#return; 255602#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256070#factFINAL assume true; 256069#factEXIT >#68#return; 255911#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 255574#factENTRY ~n := #in~n; 255953#L25 assume ~n <= 0;#res := 1; 255952#factFINAL assume true; 255910#factEXIT >#70#return; 255915#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 256066#factENTRY ~n := #in~n; 256064#L25 assume !(~n <= 0); 256061#L26 call #t~ret0 := fact(~n - 1);< 256063#factENTRY ~n := #in~n; 256062#L25 assume !(~n <= 0); 255921#L26 call #t~ret0 := fact(~n - 1);< 255946#factENTRY ~n := #in~n; 256053#L25 assume !(~n <= 0); 255926#L26 call #t~ret0 := fact(~n - 1);< 256052#factENTRY ~n := #in~n; 256053#L25 assume !(~n <= 0); 255926#L26 call #t~ret0 := fact(~n - 1);< 256052#factENTRY ~n := #in~n; 256056#L25 assume ~n <= 0;#res := 1; 256055#factFINAL assume true; 256048#factEXIT >#66#return; 255961#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255958#factFINAL assume true; 255941#factEXIT >#66#return; 255937#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255932#factFINAL assume true; 255920#factEXIT >#66#return; 255927#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256572#factFINAL assume true; 256570#factEXIT >#66#return; 256571#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256604#factFINAL assume true; 256603#factEXIT >#72#return; 256283#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; 256601#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 256599#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 256596#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 256276#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; 255988#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 256102#factENTRY ~n := #in~n; 256100#L25 assume !(~n <= 0); 255861#L26 call #t~ret0 := fact(~n - 1);< 256098#factENTRY ~n := #in~n; 256021#L25 assume !(~n <= 0); 255802#L26 call #t~ret0 := fact(~n - 1);< 255859#factENTRY ~n := #in~n; 255843#L25 assume !(~n <= 0); 255803#L26 call #t~ret0 := fact(~n - 1);< 255817#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255858#L25 assume ~n <= 0;#res := 1; 255842#factFINAL assume true; 255832#factEXIT >#66#return; 255830#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255827#factFINAL assume true; 255819#factEXIT >#66#return; 255818#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255815#factFINAL assume true; 255795#factEXIT >#66#return; 255811#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256563#factFINAL assume true; 256455#factEXIT >#66#return; 256135#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256591#factFINAL assume true; 256129#factEXIT >#66#return; 256134#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256280#factFINAL assume true; 256271#factEXIT >#68#return; 255756#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 255767#factENTRY ~n := #in~n; 256011#L25 assume !(~n <= 0); 255805#L26 call #t~ret0 := fact(~n - 1);< 255828#factENTRY ~n := #in~n; 255907#L25 assume ~n <= 0;#res := 1; 255893#factFINAL assume true; 255866#factEXIT >#66#return; 255863#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255857#factFINAL assume true; 255839#factEXIT >#70#return; 255781#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 255792#factENTRY ~n := #in~n; 255998#L25 assume !(~n <= 0); 255807#L26 call #t~ret0 := fact(~n - 1);< 255817#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255858#L25 assume ~n <= 0;#res := 1; 255842#factFINAL assume true; 255832#factEXIT >#66#return; 255830#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255827#factFINAL assume true; 255819#factEXIT >#66#return; 255823#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255955#factFINAL assume true; 255950#factEXIT >#72#return; 255789#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; 256411#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 256410#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 256408#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 256406#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; 255990#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 256102#factENTRY ~n := #in~n; 256100#L25 assume !(~n <= 0); 255861#L26 call #t~ret0 := fact(~n - 1);< 256098#factENTRY ~n := #in~n; 256021#L25 assume !(~n <= 0); 255802#L26 call #t~ret0 := fact(~n - 1);< 255859#factENTRY ~n := #in~n; 255843#L25 assume !(~n <= 0); 255803#L26 call #t~ret0 := fact(~n - 1);< 255817#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255858#L25 assume ~n <= 0;#res := 1; 255842#factFINAL assume true; 255832#factEXIT >#66#return; 255830#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255827#factFINAL assume true; 255819#factEXIT >#66#return; 255818#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255815#factFINAL assume true; 255795#factEXIT >#66#return; 255811#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256563#factFINAL assume true; 256455#factEXIT >#66#return; 256135#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256591#factFINAL assume true; 256129#factEXIT >#66#return; 256134#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256280#factFINAL assume true; 256271#factEXIT >#68#return; 255764#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 255767#factENTRY ~n := #in~n; 256011#L25 assume !(~n <= 0); 255805#L26 call #t~ret0 := fact(~n - 1);< 255828#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255858#L25 assume ~n <= 0;#res := 1; 255842#factFINAL assume true; 255832#factEXIT >#66#return; 255830#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255827#factFINAL assume true; 255819#factEXIT >#66#return; 255825#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256040#factFINAL assume true; 255984#factEXIT >#70#return; 255765#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 255792#factENTRY ~n := #in~n; 255998#L25 assume !(~n <= 0); 255807#L26 call #t~ret0 := fact(~n - 1);< 255817#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255858#L25 assume ~n <= 0;#res := 1; 255842#factFINAL assume true; 255832#factEXIT >#66#return; 255830#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255827#factFINAL assume true; 255819#factEXIT >#66#return; 255823#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255955#factFINAL assume true; 255950#factEXIT >#72#return; 255734#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; 255995#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 255994#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 255993#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 255992#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; 255989#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 256375#factENTRY ~n := #in~n; 256376#L25 assume !(~n <= 0); 256130#L26 call #t~ret0 := fact(~n - 1);< 256390#factENTRY ~n := #in~n; 256564#L25 assume !(~n <= 0); 255799#L26 call #t~ret0 := fact(~n - 1);< 255817#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255858#L25 assume ~n <= 0;#res := 1; 255842#factFINAL assume true; 255832#factEXIT >#66#return; 255830#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255827#factFINAL assume true; 255819#factEXIT >#66#return; 255818#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255815#factFINAL assume true; 255795#factEXIT >#66#return; 255811#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256563#factFINAL assume true; 256455#factEXIT >#66#return; 256135#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256591#factFINAL assume true; 256129#factEXIT >#66#return; 256134#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256280#factFINAL assume true; 256271#factEXIT >#68#return; 255749#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 255767#factENTRY ~n := #in~n; 256011#L25 assume !(~n <= 0); 255805#L26 call #t~ret0 := fact(~n - 1);< 255828#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255858#L25 assume ~n <= 0;#res := 1; 255842#factFINAL assume true; 255832#factEXIT >#66#return; 255830#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255827#factFINAL assume true; 255819#factEXIT >#66#return; 255818#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255815#factFINAL assume true; 255795#factEXIT >#66#return; 255811#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256563#factFINAL assume true; 256455#factEXIT >#66#return; 256136#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256026#factFINAL assume true; 255745#factEXIT >#70#return; 255728#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 255793#factENTRY ~n := #in~n; 255902#L25 assume ~n <= 0;#res := 1; 255744#factFINAL assume true; 255721#factEXIT >#72#return; 255737#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; 256483#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 256482#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 256481#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 256480#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; 255697#L30-5 [2022-07-22 01:31:07,785 INFO L754 eck$LassoCheckResult]: Loop: 255697#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 255698#factENTRY ~n := #in~n; 255715#L25 assume !(~n <= 0); 255495#L26 call #t~ret0 := fact(~n - 1);< 255711#factENTRY ~n := #in~n; 255742#L25 assume !(~n <= 0); 255501#L26 call #t~ret0 := fact(~n - 1);< 255720#factENTRY ~n := #in~n; 255743#L25 assume !(~n <= 0); 255502#L26 call #t~ret0 := fact(~n - 1);< 255701#factENTRY ~n := #in~n; 256029#L25 assume !(~n <= 0); 255499#L26 call #t~ret0 := fact(~n - 1);< 256037#factENTRY ~n := #in~n; 256029#L25 assume !(~n <= 0); 255499#L26 call #t~ret0 := fact(~n - 1);< 256037#factENTRY ~n := #in~n; 256067#L25 assume ~n <= 0;#res := 1; 256065#factFINAL assume true; 256034#factEXIT >#66#return; 255979#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255966#factFINAL assume true; 255706#factEXIT >#66#return; 255704#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255700#factFINAL assume true; 255691#factEXIT >#66#return; 255693#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255719#factFINAL assume true; 255702#factEXIT >#66#return; 255554#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255494#factFINAL assume true; 255503#factEXIT >#66#return; 255710#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255705#factFINAL assume true; 255696#factEXIT >#74#return; 255673#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 255687#factENTRY ~n := #in~n; 255814#L25 assume !(~n <= 0); 255496#L26 call #t~ret0 := fact(~n - 1);< 255703#factENTRY ~n := #in~n; 256028#L25 assume !(~n <= 0); 255500#L26 call #t~ret0 := fact(~n - 1);< 255701#factENTRY ~n := #in~n; 256029#L25 assume !(~n <= 0); 255499#L26 call #t~ret0 := fact(~n - 1);< 256037#factENTRY ~n := #in~n; 256029#L25 assume !(~n <= 0); 255499#L26 call #t~ret0 := fact(~n - 1);< 256037#factENTRY ~n := #in~n; 256067#L25 assume ~n <= 0;#res := 1; 256065#factFINAL assume true; 256034#factEXIT >#66#return; 255979#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255966#factFINAL assume true; 255706#factEXIT >#66#return; 255704#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255700#factFINAL assume true; 255691#factEXIT >#66#return; 255693#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255719#factFINAL assume true; 255702#factEXIT >#66#return; 255695#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255686#factFINAL assume true; 255682#factEXIT >#76#return; 255643#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 255646#factENTRY ~n := #in~n; 256227#L25 assume !(~n <= 0); 256219#L26 call #t~ret0 := fact(~n - 1);< 256220#factENTRY ~n := #in~n; 256556#L25 assume ~n <= 0;#res := 1; 256554#factFINAL assume true; 256218#factEXIT >#66#return; 256217#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256025#factFINAL assume true; 255642#factEXIT >#78#return; 255641#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; 255639#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 255637#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 255635#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 255633#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 255631#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 255629#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 255627#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; 255588#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 255625#factENTRY ~n := #in~n; 255623#L25 assume !(~n <= 0); 255604#L26 call #t~ret0 := fact(~n - 1);< 255605#factENTRY ~n := #in~n; 255611#L25 assume !(~n <= 0); 255598#L26 call #t~ret0 := fact(~n - 1);< 255614#factENTRY ~n := #in~n; 255613#L25 assume !(~n <= 0); 255596#L26 call #t~ret0 := fact(~n - 1);< 255610#factENTRY ~n := #in~n; 255620#L25 assume !(~n <= 0); 255601#L26 call #t~ret0 := fact(~n - 1);< 255618#factENTRY ~n := #in~n; 255620#L25 assume !(~n <= 0); 255601#L26 call #t~ret0 := fact(~n - 1);< 255618#factENTRY ~n := #in~n; 255621#L25 assume ~n <= 0;#res := 1; 255619#factFINAL assume true; 255616#factEXIT >#66#return; 255617#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255948#factFINAL assume true; 255939#factEXIT >#66#return; 255940#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255963#factFINAL assume true; 255960#factEXIT >#66#return; 255615#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255609#factFINAL assume true; 255595#factEXIT >#66#return; 255603#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256284#factFINAL assume true; 256030#factEXIT >#66#return; 255594#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255593#factFINAL assume true; 255587#factEXIT >#68#return; 255592#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 255574#factENTRY ~n := #in~n; 255953#L25 assume ~n <= 0;#res := 1; 255952#factFINAL assume true; 255910#factEXIT >#70#return; 255917#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 256088#factENTRY ~n := #in~n; 256087#L25 assume !(~n <= 0); 256079#L26 call #t~ret0 := fact(~n - 1);< 256084#factENTRY ~n := #in~n; 256082#L25 assume !(~n <= 0); 255933#L26 call #t~ret0 := fact(~n - 1);< 256077#factENTRY ~n := #in~n; 256076#L25 assume !(~n <= 0); 255924#L26 call #t~ret0 := fact(~n - 1);< 255934#factENTRY ~n := #in~n; 256075#L25 assume !(~n <= 0); 255925#L26 call #t~ret0 := fact(~n - 1);< 255946#factENTRY ~n := #in~n; 256053#L25 assume !(~n <= 0); 255926#L26 call #t~ret0 := fact(~n - 1);< 256052#factENTRY ~n := #in~n; 256056#L25 assume ~n <= 0;#res := 1; 256055#factFINAL assume true; 256048#factEXIT >#66#return; 255961#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255958#factFINAL assume true; 255941#factEXIT >#66#return; 255937#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255932#factFINAL assume true; 255920#factEXIT >#66#return; 255927#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256572#factFINAL assume true; 256570#factEXIT >#66#return; 256288#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256567#factFINAL assume true; 256287#factEXIT >#66#return; 256286#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256285#factFINAL assume true; 256282#factEXIT >#72#return; 256281#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; 256279#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 256278#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 256277#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 256275#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; 256272#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 255991#factENTRY ~n := #in~n; 256369#L25 assume !(~n <= 0); 256132#L26 call #t~ret0 := fact(~n - 1);< 256137#factENTRY ~n := #in~n; 256392#L25 assume !(~n <= 0); 256133#L26 call #t~ret0 := fact(~n - 1);< 256390#factENTRY ~n := #in~n; 256564#L25 assume !(~n <= 0); 255799#L26 call #t~ret0 := fact(~n - 1);< 255817#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255858#L25 assume ~n <= 0;#res := 1; 255842#factFINAL assume true; 255832#factEXIT >#66#return; 255830#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255827#factFINAL assume true; 255819#factEXIT >#66#return; 255818#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255815#factFINAL assume true; 255795#factEXIT >#66#return; 255811#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256563#factFINAL assume true; 256455#factEXIT >#66#return; 256135#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256591#factFINAL assume true; 256129#factEXIT >#66#return; 256134#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256280#factFINAL assume true; 256271#factEXIT >#68#return; 255754#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 255767#factENTRY ~n := #in~n; 256011#L25 assume !(~n <= 0); 255805#L26 call #t~ret0 := fact(~n - 1);< 255828#factENTRY ~n := #in~n; 255907#L25 assume ~n <= 0;#res := 1; 255893#factFINAL assume true; 255866#factEXIT >#66#return; 255863#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255857#factFINAL assume true; 255839#factEXIT >#70#return; 255777#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 255792#factENTRY ~n := #in~n; 255998#L25 assume !(~n <= 0); 255807#L26 call #t~ret0 := fact(~n - 1);< 255817#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255858#L25 assume ~n <= 0;#res := 1; 255842#factFINAL assume true; 255832#factEXIT >#66#return; 255830#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255827#factFINAL assume true; 255819#factEXIT >#66#return; 255818#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255815#factFINAL assume true; 255795#factEXIT >#66#return; 255811#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256563#factFINAL assume true; 256455#factEXIT >#66#return; 256456#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256377#factFINAL assume true; 255986#factEXIT >#72#return; 255787#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; 256397#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 256396#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 256394#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 256393#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; 256273#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 255991#factENTRY ~n := #in~n; 256369#L25 assume !(~n <= 0); 256132#L26 call #t~ret0 := fact(~n - 1);< 256137#factENTRY ~n := #in~n; 256392#L25 assume !(~n <= 0); 256133#L26 call #t~ret0 := fact(~n - 1);< 256390#factENTRY ~n := #in~n; 256564#L25 assume !(~n <= 0); 255799#L26 call #t~ret0 := fact(~n - 1);< 255817#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255858#L25 assume ~n <= 0;#res := 1; 255842#factFINAL assume true; 255832#factEXIT >#66#return; 255830#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255827#factFINAL assume true; 255819#factEXIT >#66#return; 255818#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255815#factFINAL assume true; 255795#factEXIT >#66#return; 255811#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256563#factFINAL assume true; 256455#factEXIT >#66#return; 256135#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256591#factFINAL assume true; 256129#factEXIT >#66#return; 256134#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256280#factFINAL assume true; 256271#factEXIT >#68#return; 255758#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 255767#factENTRY ~n := #in~n; 256011#L25 assume !(~n <= 0); 255805#L26 call #t~ret0 := fact(~n - 1);< 255828#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255858#L25 assume ~n <= 0;#res := 1; 255842#factFINAL assume true; 255832#factEXIT >#66#return; 255830#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255827#factFINAL assume true; 255819#factEXIT >#66#return; 255825#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256040#factFINAL assume true; 255984#factEXIT >#70#return; 255766#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 255792#factENTRY ~n := #in~n; 255998#L25 assume !(~n <= 0); 255807#L26 call #t~ret0 := fact(~n - 1);< 255817#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255858#L25 assume ~n <= 0;#res := 1; 255842#factFINAL assume true; 255832#factEXIT >#66#return; 255830#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255827#factFINAL assume true; 255819#factEXIT >#66#return; 255823#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255955#factFINAL assume true; 255950#factEXIT >#72#return; 255740#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; 256546#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 256545#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 256544#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 256543#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; 255713#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 255991#factENTRY ~n := #in~n; 256369#L25 assume !(~n <= 0); 256132#L26 call #t~ret0 := fact(~n - 1);< 256137#factENTRY ~n := #in~n; 256392#L25 assume !(~n <= 0); 256133#L26 call #t~ret0 := fact(~n - 1);< 256390#factENTRY ~n := #in~n; 256564#L25 assume !(~n <= 0); 255799#L26 call #t~ret0 := fact(~n - 1);< 255817#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255858#L25 assume ~n <= 0;#res := 1; 255842#factFINAL assume true; 255832#factEXIT >#66#return; 255830#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255827#factFINAL assume true; 255819#factEXIT >#66#return; 255818#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255815#factFINAL assume true; 255795#factEXIT >#66#return; 255811#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256563#factFINAL assume true; 256455#factEXIT >#66#return; 256135#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256591#factFINAL assume true; 256129#factEXIT >#66#return; 256134#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256280#factFINAL assume true; 256271#factEXIT >#68#return; 255752#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 255767#factENTRY ~n := #in~n; 256011#L25 assume !(~n <= 0); 255805#L26 call #t~ret0 := fact(~n - 1);< 255828#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255838#L25 assume !(~n <= 0); 255808#L26 call #t~ret0 := fact(~n - 1);< 255836#factENTRY ~n := #in~n; 255858#L25 assume ~n <= 0;#res := 1; 255842#factFINAL assume true; 255832#factEXIT >#66#return; 255830#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255827#factFINAL assume true; 255819#factEXIT >#66#return; 255818#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 255815#factFINAL assume true; 255795#factEXIT >#66#return; 255811#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256563#factFINAL assume true; 256455#factEXIT >#66#return; 256136#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 256026#factFINAL assume true; 255745#factEXIT >#70#return; 255730#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 255793#factENTRY ~n := #in~n; 255902#L25 assume ~n <= 0;#res := 1; 255744#factFINAL assume true; 255721#factEXIT >#72#return; 255738#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; 256000#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 255999#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 255997#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 255712#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; 255697#L30-5 [2022-07-22 01:31:07,786 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:31:07,786 INFO L85 PathProgramCache]: Analyzing trace with hash -1319377862, now seen corresponding path program 32 times [2022-07-22 01:31:07,786 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:31:07,786 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1156806786] [2022-07-22 01:31:07,786 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:31:07,786 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:31:07,801 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:31:07,802 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1039588486] [2022-07-22 01:31:07,802 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 01:31:07,802 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:31:07,802 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:31:07,808 INFO L229 MonitoredProcess]: Starting monitored process 185 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:31:07,809 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (185)] Waiting until timeout for monitored process [2022-07-22 01:31:08,117 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 01:31:08,117 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:31:08,122 INFO L263 TraceCheckSpWp]: Trace formula consists of 1561 conjuncts, 10 conjunts are in the unsatisfiable core [2022-07-22 01:31:08,127 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:31:08,271 INFO L134 CoverageAnalysis]: Checked inductivity of 28579 backedges. 14408 proven. 120 refuted. 0 times theorem prover too weak. 14051 trivial. 0 not checked. [2022-07-22 01:31:08,271 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:31:08,920 INFO L134 CoverageAnalysis]: Checked inductivity of 28579 backedges. 340 proven. 184 refuted. 0 times theorem prover too weak. 28055 trivial. 0 not checked. [2022-07-22 01:31:08,920 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:31:08,920 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1156806786] [2022-07-22 01:31:08,920 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:31:08,920 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1039588486] [2022-07-22 01:31:08,920 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1039588486] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:31:08,920 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:31:08,921 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 15 [2022-07-22 01:31:08,921 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [714270788] [2022-07-22 01:31:08,921 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:31:08,921 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:31:08,922 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:31:08,922 INFO L85 PathProgramCache]: Analyzing trace with hash -1351561185, now seen corresponding path program 30 times [2022-07-22 01:31:08,922 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:31:08,922 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [511238435] [2022-07-22 01:31:08,922 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:31:08,922 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:31:08,929 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:31:08,929 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1371182102] [2022-07-22 01:31:08,929 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-22 01:31:08,929 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:31:08,929 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:31:08,967 INFO L229 MonitoredProcess]: Starting monitored process 186 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:31:08,968 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (186)] Waiting until timeout for monitored process [2022-07-22 01:31:09,270 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 33 check-sat command(s) [2022-07-22 01:31:09,270 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:31:09,273 INFO L263 TraceCheckSpWp]: Trace formula consists of 419 conjuncts, 29 conjunts are in the unsatisfiable core [2022-07-22 01:31:09,276 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:31:09,739 INFO L134 CoverageAnalysis]: Checked inductivity of 10133 backedges. 1622 proven. 1036 refuted. 0 times theorem prover too weak. 7475 trivial. 0 not checked. [2022-07-22 01:31:09,739 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:31:13,588 INFO L134 CoverageAnalysis]: Checked inductivity of 10133 backedges. 1624 proven. 1070 refuted. 0 times theorem prover too weak. 7439 trivial. 0 not checked. [2022-07-22 01:31:13,589 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:31:13,589 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [511238435] [2022-07-22 01:31:13,589 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:31:13,589 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1371182102] [2022-07-22 01:31:13,589 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1371182102] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:31:13,589 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:31:13,589 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 26] total 30 [2022-07-22 01:31:13,589 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1533889859] [2022-07-22 01:31:13,589 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:31:13,590 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:31:13,590 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:31:13,590 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-07-22 01:31:13,591 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=121, Invalid=749, Unknown=0, NotChecked=0, Total=870 [2022-07-22 01:31:13,591 INFO L87 Difference]: Start difference. First operand 1662 states and 2628 transitions. cyclomatic complexity: 995 Second operand has 30 states, 25 states have (on average 2.8) internal successors, (70), 28 states have internal predecessors, (70), 18 states have call successors, (24), 1 states have call predecessors, (24), 11 states have return successors, (31), 15 states have call predecessors, (31), 18 states have call successors, (31) [2022-07-22 01:31:16,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:31:16,209 INFO L93 Difference]: Finished difference Result 2453 states and 4174 transitions. [2022-07-22 01:31:16,210 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-07-22 01:31:16,210 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2453 states and 4174 transitions. [2022-07-22 01:31:16,222 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 124 [2022-07-22 01:31:16,234 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2453 states to 2359 states and 4029 transitions. [2022-07-22 01:31:16,234 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 493 [2022-07-22 01:31:16,235 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 493 [2022-07-22 01:31:16,235 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2359 states and 4029 transitions. [2022-07-22 01:31:16,235 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:31:16,235 INFO L369 hiAutomatonCegarLoop]: Abstraction has 2359 states and 4029 transitions. [2022-07-22 01:31:16,235 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2359 states and 4029 transitions. [2022-07-22 01:31:16,302 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2359 to 1754. [2022-07-22 01:31:16,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1754 states, 1089 states have (on average 1.101010101010101) internal successors, (1199), 1099 states have internal predecessors, (1199), 500 states have call successors, (500), 224 states have call predecessors, (500), 165 states have return successors, (1144), 430 states have call predecessors, (1144), 500 states have call successors, (1144) [2022-07-22 01:31:16,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1754 states to 1754 states and 2843 transitions. [2022-07-22 01:31:16,308 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1754 states and 2843 transitions. [2022-07-22 01:31:16,308 INFO L374 stractBuchiCegarLoop]: Abstraction has 1754 states and 2843 transitions. [2022-07-22 01:31:16,308 INFO L287 stractBuchiCegarLoop]: ======== Iteration 46 ============ [2022-07-22 01:31:16,308 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1754 states and 2843 transitions. [2022-07-22 01:31:16,312 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 79 [2022-07-22 01:31:16,312 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:31:16,312 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:31:16,314 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [69, 69, 38, 38, 38, 38, 31, 11, 10, 7, 7, 7, 6, 6, 6, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 1, 1, 1, 1] [2022-07-22 01:31:16,314 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [66, 66, 51, 51, 51, 51, 15, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:31:16,315 INFO L752 eck$LassoCheckResult]: Stem: 266284#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 266256#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; 266257#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 266283#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; 266303#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 267449#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 267448#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; 267442#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 267447#factENTRY ~n := #in~n; 267444#L25 assume ~n <= 0;#res := 1; 267441#factFINAL assume true; 267443#factEXIT >#68#return; 267527#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 267528#factENTRY ~n := #in~n; 267531#L25 assume ~n <= 0;#res := 1; 267530#factFINAL assume true; 267526#factEXIT >#70#return; 267523#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 267524#factENTRY ~n := #in~n; 267529#L25 assume ~n <= 0;#res := 1; 267525#factFINAL assume true; 267522#factEXIT >#72#return; 267520#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; 266276#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 266277#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 267766#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 267767#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; 266211#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 266212#factENTRY ~n := #in~n; 267839#L25 assume !(~n <= 0); 267833#L26 call #t~ret0 := fact(~n - 1);< 267843#factENTRY ~n := #in~n; 267840#L25 assume ~n <= 0;#res := 1; 267841#factFINAL assume true; 267832#factEXIT >#66#return; 267830#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 267831#factFINAL assume true; 267826#factEXIT >#74#return; 266301#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 266302#factENTRY ~n := #in~n; 267874#L25 assume ~n <= 0;#res := 1; 267871#factFINAL assume true; 267859#factEXIT >#76#return; 267642#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 267878#factENTRY ~n := #in~n; 267890#L25 assume !(~n <= 0); 267887#L26 call #t~ret0 := fact(~n - 1);< 267888#factENTRY ~n := #in~n; 267892#L25 assume ~n <= 0;#res := 1; 267889#factFINAL assume true; 267885#factEXIT >#66#return; 267883#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 267877#factFINAL assume true; 267641#factEXIT >#78#return; 267643#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; 267918#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 267917#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 267916#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 267914#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; 267584#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 267587#factENTRY ~n := #in~n; 267621#L25 assume !(~n <= 0); 267597#L26 call #t~ret0 := fact(~n - 1);< 267620#factENTRY ~n := #in~n; 267618#L25 assume !(~n <= 0); 267609#L26 call #t~ret0 := fact(~n - 1);< 267616#factENTRY ~n := #in~n; 267619#L25 assume ~n <= 0;#res := 1; 267617#factFINAL assume true; 267615#factEXIT >#66#return; 267614#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 267612#factFINAL assume true; 267606#factEXIT >#66#return; 267605#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 267602#factFINAL assume true; 267599#factEXIT >#74#return; 267578#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 267588#factENTRY ~n := #in~n; 267623#L25 assume ~n <= 0;#res := 1; 267622#factFINAL assume true; 267628#factEXIT >#76#return; 267579#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 267603#factENTRY ~n := #in~n; 267624#L25 assume !(~n <= 0); 267608#L26 call #t~ret0 := fact(~n - 1);< 267611#factENTRY ~n := #in~n; 267618#L25 assume !(~n <= 0); 267609#L26 call #t~ret0 := fact(~n - 1);< 267616#factENTRY ~n := #in~n; 267619#L25 assume ~n <= 0;#res := 1; 267617#factFINAL assume true; 267615#factEXIT >#66#return; 267614#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 267612#factFINAL assume true; 267606#factEXIT >#66#return; 267605#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 267602#factFINAL assume true; 267599#factEXIT >#78#return; 267574#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; 267573#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 267572#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 267571#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 267570#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 267569#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 267563#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 267564#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; 266244#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 266245#factENTRY ~n := #in~n; 267459#L25 assume !(~n <= 0); 267457#L26 call #t~ret0 := fact(~n - 1);< 267464#factENTRY ~n := #in~n; 267465#L25 assume ~n <= 0;#res := 1; 267456#factFINAL assume true; 267458#factEXIT >#66#return; 267445#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 267446#factFINAL assume true; 267439#factEXIT >#68#return; 267440#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 266298#factENTRY ~n := #in~n; 267473#L25 assume ~n <= 0;#res := 1; 267474#factFINAL assume true; 267466#factEXIT >#70#return; 267467#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 267534#factENTRY ~n := #in~n; 267541#L25 assume !(~n <= 0); 267539#L26 call #t~ret0 := fact(~n - 1);< 267540#factENTRY ~n := #in~n; 267555#L25 assume ~n <= 0;#res := 1; 267554#factFINAL assume true; 267538#factEXIT >#66#return; 267537#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 267535#factFINAL assume true; 267532#factEXIT >#72#return; 267533#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; 267510#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 267511#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 267502#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 267503#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; 267454#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 267462#factENTRY ~n := #in~n; 267463#L25 assume !(~n <= 0); 267451#L26 call #t~ret0 := fact(~n - 1);< 267455#factENTRY ~n := #in~n; 267460#L25 assume ~n <= 0;#res := 1; 267461#factFINAL assume true; 267450#factEXIT >#66#return; 267452#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 267498#factFINAL assume true; 267497#factEXIT >#68#return; 267470#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 267490#factENTRY ~n := #in~n; 267487#L25 assume !(~n <= 0); 267477#L26 call #t~ret0 := fact(~n - 1);< 267481#factENTRY ~n := #in~n; 267488#L25 assume ~n <= 0;#res := 1; 267482#factFINAL assume true; 267476#factEXIT >#66#return; 267475#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 267469#factFINAL assume true; 267472#factEXIT >#70#return; 266224#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 266225#factENTRY ~n := #in~n; 267568#L25 assume ~n <= 0;#res := 1; 267567#factFINAL assume true; 267565#factEXIT >#72#return; 267566#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; 267512#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 267513#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 267504#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 267505#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; 267659#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 267660#factENTRY ~n := #in~n; 267670#L25 assume !(~n <= 0); 267666#L26 call #t~ret0 := fact(~n - 1);< 267668#factENTRY ~n := #in~n; 267675#L25 assume !(~n <= 0); 267667#L26 call #t~ret0 := fact(~n - 1);< 267673#factENTRY ~n := #in~n; 267676#L25 assume ~n <= 0;#res := 1; 267674#factFINAL assume true; 267672#factEXIT >#66#return; 267671#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 267669#factFINAL assume true; 267665#factEXIT >#66#return; 267664#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 267663#factFINAL assume true; 267658#factEXIT >#74#return; 267654#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 267656#factENTRY ~n := #in~n; 267708#L25 assume !(~n <= 0); 267696#L26 call #t~ret0 := fact(~n - 1);< 267697#factENTRY ~n := #in~n; 267677#L25 assume ~n <= 0;#res := 1; 267705#factFINAL assume true; 267695#factEXIT >#66#return; 267683#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 267684#factFINAL assume true; 267650#factEXIT >#76#return; 267651#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 267656#factENTRY ~n := #in~n; 267708#L25 assume !(~n <= 0); 267696#L26 call #t~ret0 := fact(~n - 1);< 267697#factENTRY ~n := #in~n; 267677#L25 assume ~n <= 0;#res := 1; 267705#factFINAL assume true; 267695#factEXIT >#66#return; 267683#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 267684#factFINAL assume true; 267650#factEXIT >#78#return; 266314#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; 266315#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 266310#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 266311#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 266281#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 266282#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 266821#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 266761#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; 266336#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 266377#factENTRY ~n := #in~n; 266367#L25 assume !(~n <= 0); 266345#L26 call #t~ret0 := fact(~n - 1);< 266365#factENTRY ~n := #in~n; 266363#L25 assume !(~n <= 0); 266341#L26 call #t~ret0 := fact(~n - 1);< 266361#factENTRY ~n := #in~n; 266364#L25 assume ~n <= 0;#res := 1; 266362#factFINAL assume true; 266359#factEXIT >#66#return; 266360#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266350#factFINAL assume true; 266340#factEXIT >#66#return; 266347#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266756#factFINAL assume true; 266755#factEXIT >#68#return; 266735#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 266296#factENTRY ~n := #in~n; 266754#L25 assume ~n <= 0;#res := 1; 266753#factFINAL assume true; 266732#factEXIT >#70#return; 266724#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 266727#factENTRY ~n := #in~n; 266770#L25 assume !(~n <= 0); 266745#L26 call #t~ret0 := fact(~n - 1);< 266766#factENTRY ~n := #in~n; 266783#L25 assume !(~n <= 0); 266764#L26 call #t~ret0 := fact(~n - 1);< 266776#factENTRY ~n := #in~n; 266778#L25 assume ~n <= 0;#res := 1; 266777#factFINAL assume true; 266772#factEXIT >#66#return; 266771#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266769#factFINAL assume true; 266763#factEXIT >#66#return; 266752#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266731#factFINAL assume true; 266723#factEXIT >#72#return; 266726#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; 266806#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 266805#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 266804#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 266803#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; 266573#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 266678#factENTRY ~n := #in~n; 266677#L25 assume !(~n <= 0); 266596#L26 call #t~ret0 := fact(~n - 1);< 266630#factENTRY ~n := #in~n; 266634#L25 assume !(~n <= 0); 266619#L26 call #t~ret0 := fact(~n - 1);< 266638#factENTRY ~n := #in~n; 266681#L25 assume ~n <= 0;#res := 1; 266649#factFINAL assume true; 266636#factEXIT >#66#return; 266632#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266627#factFINAL assume true; 266618#factEXIT >#66#return; 266623#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266709#factFINAL assume true; 266707#factEXIT >#68#return; 266558#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 266564#factENTRY ~n := #in~n; 266675#L25 assume !(~n <= 0); 266604#L26 call #t~ret0 := fact(~n - 1);< 266664#factENTRY ~n := #in~n; 266679#L25 assume ~n <= 0;#res := 1; 266665#factFINAL assume true; 266660#factEXIT >#66#return; 266658#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266656#factFINAL assume true; 266644#factEXIT >#70#return; 266645#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 266704#factENTRY ~n := #in~n; 266713#L25 assume !(~n <= 0); 266567#L26 call #t~ret0 := fact(~n - 1);< 266673#factENTRY ~n := #in~n; 266679#L25 assume ~n <= 0;#res := 1; 266665#factFINAL assume true; 266660#factEXIT >#66#return; 266662#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266705#factFINAL assume true; 266695#factEXIT >#72#return; 266700#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; 266862#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 266860#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 266858#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 266855#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; 266571#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 266678#factENTRY ~n := #in~n; 266677#L25 assume !(~n <= 0); 266596#L26 call #t~ret0 := fact(~n - 1);< 266630#factENTRY ~n := #in~n; 266634#L25 assume !(~n <= 0); 266619#L26 call #t~ret0 := fact(~n - 1);< 266638#factENTRY ~n := #in~n; 266681#L25 assume ~n <= 0;#res := 1; 266649#factFINAL assume true; 266636#factEXIT >#66#return; 266632#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266627#factFINAL assume true; 266618#factEXIT >#66#return; 266623#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266709#factFINAL assume true; 266707#factEXIT >#68#return; 266553#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 266564#factENTRY ~n := #in~n; 266675#L25 assume !(~n <= 0); 266604#L26 call #t~ret0 := fact(~n - 1);< 266664#factENTRY ~n := #in~n; 266655#L25 assume !(~n <= 0); 266608#L26 call #t~ret0 := fact(~n - 1);< 266640#factENTRY ~n := #in~n; 266681#L25 assume ~n <= 0;#res := 1; 266649#factFINAL assume true; 266636#factEXIT >#66#return; 266632#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266627#factFINAL assume true; 266618#factEXIT >#66#return; 266624#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266802#factFINAL assume true; 266801#factEXIT >#70#return; 266514#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 266524#factENTRY ~n := #in~n; 266566#L25 assume ~n <= 0;#res := 1; 266540#factFINAL assume true; 266506#factEXIT >#72#return; 266522#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; 266841#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 266837#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 266838#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 266834#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; 266446#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 266454#factENTRY ~n := #in~n; 266587#L25 assume !(~n <= 0); 266470#L26 call #t~ret0 := fact(~n - 1);< 266476#factENTRY ~n := #in~n; 266532#L25 assume !(~n <= 0); 266468#L26 call #t~ret0 := fact(~n - 1);< 266527#factENTRY ~n := #in~n; 266532#L25 assume !(~n <= 0); 266468#L26 call #t~ret0 := fact(~n - 1);< 266527#factENTRY ~n := #in~n; 266588#L25 assume ~n <= 0;#res := 1; 266565#factFINAL assume true; 266525#factEXIT >#66#return; 266504#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266501#factFINAL assume true; 266493#factEXIT >#66#return; 266489#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266479#factFINAL assume true; 266465#factEXIT >#66#return; 266459#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266453#factFINAL assume true; 266444#factEXIT >#74#return; 266214#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 266455#factENTRY ~n := #in~n; 266505#L25 assume !(~n <= 0); 266466#L26 call #t~ret0 := fact(~n - 1);< 266502#factENTRY ~n := #in~n; 266535#L25 assume !(~n <= 0); 266495#L26 call #t~ret0 := fact(~n - 1);< 266529#factENTRY ~n := #in~n; 266534#L25 assume !(~n <= 0); 266526#L26 call #t~ret0 := fact(~n - 1);< 266528#factENTRY ~n := #in~n; 266588#L25 assume ~n <= 0;#res := 1; 266565#factFINAL assume true; 266525#factEXIT >#66#return; 266504#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266501#factFINAL assume true; 266493#factEXIT >#66#return; 266489#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266479#factFINAL assume true; 266465#factEXIT >#66#return; 266459#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266453#factFINAL assume true; 266444#factEXIT >#76#return; 266215#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 266305#factENTRY ~n := #in~n; 267056#L25 assume !(~n <= 0); 267054#L26 call #t~ret0 := fact(~n - 1);< 267055#factENTRY ~n := #in~n; 267059#L25 assume ~n <= 0;#res := 1; 267057#factFINAL assume true; 267053#factEXIT >#66#return; 267052#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 267051#factFINAL assume true; 266997#factEXIT >#78#return; 266394#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; 266421#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 266420#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 266419#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 266418#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 266417#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 266416#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 266415#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; 266332#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 266369#factENTRY ~n := #in~n; 266370#L25 assume !(~n <= 0); 266343#L26 call #t~ret0 := fact(~n - 1);< 266365#factENTRY ~n := #in~n; 266363#L25 assume !(~n <= 0); 266341#L26 call #t~ret0 := fact(~n - 1);< 266361#factENTRY ~n := #in~n; 266363#L25 assume !(~n <= 0); 266341#L26 call #t~ret0 := fact(~n - 1);< 266361#factENTRY ~n := #in~n; 266363#L25 assume !(~n <= 0); 266341#L26 call #t~ret0 := fact(~n - 1);< 266361#factENTRY ~n := #in~n; 266363#L25 assume !(~n <= 0); 266341#L26 call #t~ret0 := fact(~n - 1);< 266361#factENTRY ~n := #in~n; 266364#L25 assume ~n <= 0;#res := 1; 266362#factFINAL assume true; 266359#factEXIT >#66#return; 266360#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266350#factFINAL assume true; 266340#factEXIT >#66#return; 266346#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266412#factFINAL assume true; 266409#factEXIT >#66#return; 266408#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266407#factFINAL assume true; 266406#factEXIT >#66#return; 266353#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266358#factFINAL assume true; 266404#factEXIT >#66#return; 266405#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266337#factFINAL assume true; 266331#factEXIT >#68#return; 266295#L30-1 [2022-07-22 01:31:16,315 INFO L754 eck$LassoCheckResult]: Loop: 266295#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 266296#factENTRY ~n := #in~n; 266754#L25 assume ~n <= 0;#res := 1; 266753#factFINAL assume true; 266732#factEXIT >#70#return; 266737#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 266814#factENTRY ~n := #in~n; 266813#L25 assume !(~n <= 0); 266810#L26 call #t~ret0 := fact(~n - 1);< 266812#factENTRY ~n := #in~n; 266811#L25 assume !(~n <= 0); 266758#L26 call #t~ret0 := fact(~n - 1);< 266809#factENTRY ~n := #in~n; 266808#L25 assume !(~n <= 0); 266747#L26 call #t~ret0 := fact(~n - 1);< 266759#factENTRY ~n := #in~n; 266780#L25 assume !(~n <= 0); 266744#L26 call #t~ret0 := fact(~n - 1);< 266767#factENTRY ~n := #in~n; 266782#L25 assume !(~n <= 0); 266748#L26 call #t~ret0 := fact(~n - 1);< 266775#factENTRY ~n := #in~n; 266778#L25 assume ~n <= 0;#res := 1; 266777#factFINAL assume true; 266772#factEXIT >#66#return; 266771#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266769#factFINAL assume true; 266763#factEXIT >#66#return; 266762#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266757#factFINAL assume true; 266742#factEXIT >#66#return; 266749#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266956#factFINAL assume true; 266951#factEXIT >#66#return; 266952#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266957#factFINAL assume true; 266954#factEXIT >#66#return; 266949#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266941#factFINAL assume true; 266942#factEXIT >#72#return; 267000#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; 266969#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 266961#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 266959#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 266958#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; 266919#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 266921#factENTRY ~n := #in~n; 267412#L25 assume !(~n <= 0); 266902#L26 call #t~ret0 := fact(~n - 1);< 266926#factENTRY ~n := #in~n; 267413#L25 assume !(~n <= 0); 266614#L26 call #t~ret0 := fact(~n - 1);< 266900#factENTRY ~n := #in~n; 267432#L25 assume !(~n <= 0); 266600#L26 call #t~ret0 := fact(~n - 1);< 266615#factENTRY ~n := #in~n; 266842#L25 assume !(~n <= 0); 266595#L26 call #t~ret0 := fact(~n - 1);< 266626#factENTRY ~n := #in~n; 266655#L25 assume !(~n <= 0); 266608#L26 call #t~ret0 := fact(~n - 1);< 266640#factENTRY ~n := #in~n; 266681#L25 assume ~n <= 0;#res := 1; 266649#factFINAL assume true; 266636#factEXIT >#66#return; 266632#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266627#factFINAL assume true; 266618#factEXIT >#66#return; 266617#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266613#factFINAL assume true; 266594#factEXIT >#66#return; 266609#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266901#factFINAL assume true; 266896#factEXIT >#66#return; 266897#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266943#factFINAL assume true; 266923#factEXIT >#66#return; 266922#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266920#factFINAL assume true; 266916#factEXIT >#68#return; 266544#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 266564#factENTRY ~n := #in~n; 266675#L25 assume !(~n <= 0); 266604#L26 call #t~ret0 := fact(~n - 1);< 266664#factENTRY ~n := #in~n; 266679#L25 assume ~n <= 0;#res := 1; 266665#factFINAL assume true; 266660#factEXIT >#66#return; 266658#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266656#factFINAL assume true; 266644#factEXIT >#70#return; 266577#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 266590#factENTRY ~n := #in~n; 266827#L25 assume !(~n <= 0); 266606#L26 call #t~ret0 := fact(~n - 1);< 266626#factENTRY ~n := #in~n; 266655#L25 assume !(~n <= 0); 266608#L26 call #t~ret0 := fact(~n - 1);< 266640#factENTRY ~n := #in~n; 266655#L25 assume !(~n <= 0); 266608#L26 call #t~ret0 := fact(~n - 1);< 266640#factENTRY ~n := #in~n; 266655#L25 assume !(~n <= 0); 266608#L26 call #t~ret0 := fact(~n - 1);< 266640#factENTRY ~n := #in~n; 266655#L25 assume !(~n <= 0); 266608#L26 call #t~ret0 := fact(~n - 1);< 266640#factENTRY ~n := #in~n; 266681#L25 assume ~n <= 0;#res := 1; 266649#factFINAL assume true; 266636#factEXIT >#66#return; 266632#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266627#factFINAL assume true; 266618#factEXIT >#66#return; 266617#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266613#factFINAL assume true; 266594#factEXIT >#66#return; 266609#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266901#factFINAL assume true; 266896#factEXIT >#66#return; 266897#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266943#factFINAL assume true; 266923#factEXIT >#66#return; 266922#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266920#factFINAL assume true; 266916#factEXIT >#72#return; 266584#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; 267405#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 267404#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 267403#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 267400#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; 266917#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 266921#factENTRY ~n := #in~n; 267412#L25 assume !(~n <= 0); 266902#L26 call #t~ret0 := fact(~n - 1);< 266926#factENTRY ~n := #in~n; 267413#L25 assume !(~n <= 0); 266614#L26 call #t~ret0 := fact(~n - 1);< 266900#factENTRY ~n := #in~n; 267432#L25 assume !(~n <= 0); 266600#L26 call #t~ret0 := fact(~n - 1);< 266615#factENTRY ~n := #in~n; 266842#L25 assume !(~n <= 0); 266595#L26 call #t~ret0 := fact(~n - 1);< 266626#factENTRY ~n := #in~n; 266655#L25 assume !(~n <= 0); 266608#L26 call #t~ret0 := fact(~n - 1);< 266640#factENTRY ~n := #in~n; 266681#L25 assume ~n <= 0;#res := 1; 266649#factFINAL assume true; 266636#factEXIT >#66#return; 266632#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266627#factFINAL assume true; 266618#factEXIT >#66#return; 266617#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266613#factFINAL assume true; 266594#factEXIT >#66#return; 266609#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266901#factFINAL assume true; 266896#factEXIT >#66#return; 266897#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266943#factFINAL assume true; 266923#factEXIT >#66#return; 266922#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266920#factFINAL assume true; 266916#factEXIT >#68#return; 266551#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 266564#factENTRY ~n := #in~n; 266675#L25 assume !(~n <= 0); 266604#L26 call #t~ret0 := fact(~n - 1);< 266664#factENTRY ~n := #in~n; 266655#L25 assume !(~n <= 0); 266608#L26 call #t~ret0 := fact(~n - 1);< 266640#factENTRY ~n := #in~n; 266681#L25 assume ~n <= 0;#res := 1; 266649#factFINAL assume true; 266636#factEXIT >#66#return; 266632#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266627#factFINAL assume true; 266618#factEXIT >#66#return; 266624#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266802#factFINAL assume true; 266801#factEXIT >#70#return; 266561#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 266590#factENTRY ~n := #in~n; 266827#L25 assume !(~n <= 0); 266606#L26 call #t~ret0 := fact(~n - 1);< 266626#factENTRY ~n := #in~n; 266655#L25 assume !(~n <= 0); 266608#L26 call #t~ret0 := fact(~n - 1);< 266640#factENTRY ~n := #in~n; 266681#L25 assume ~n <= 0;#res := 1; 266649#factFINAL assume true; 266636#factEXIT >#66#return; 266632#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266627#factFINAL assume true; 266618#factEXIT >#66#return; 266623#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266709#factFINAL assume true; 266707#factEXIT >#72#return; 266697#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; 267434#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 267433#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 267431#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 266960#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; 266693#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 266921#factENTRY ~n := #in~n; 267412#L25 assume !(~n <= 0); 266902#L26 call #t~ret0 := fact(~n - 1);< 266926#factENTRY ~n := #in~n; 267413#L25 assume !(~n <= 0); 266614#L26 call #t~ret0 := fact(~n - 1);< 266900#factENTRY ~n := #in~n; 267432#L25 assume !(~n <= 0); 266600#L26 call #t~ret0 := fact(~n - 1);< 266615#factENTRY ~n := #in~n; 266842#L25 assume !(~n <= 0); 266595#L26 call #t~ret0 := fact(~n - 1);< 266626#factENTRY ~n := #in~n; 266655#L25 assume !(~n <= 0); 266608#L26 call #t~ret0 := fact(~n - 1);< 266640#factENTRY ~n := #in~n; 266681#L25 assume ~n <= 0;#res := 1; 266649#factFINAL assume true; 266636#factEXIT >#66#return; 266632#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266627#factFINAL assume true; 266618#factEXIT >#66#return; 266617#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266613#factFINAL assume true; 266594#factEXIT >#66#return; 266609#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266901#factFINAL assume true; 266896#factEXIT >#66#return; 266897#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266943#factFINAL assume true; 266923#factEXIT >#66#return; 266922#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266920#factFINAL assume true; 266916#factEXIT >#68#return; 266546#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 266564#factENTRY ~n := #in~n; 266675#L25 assume !(~n <= 0); 266604#L26 call #t~ret0 := fact(~n - 1);< 266664#factENTRY ~n := #in~n; 266655#L25 assume !(~n <= 0); 266608#L26 call #t~ret0 := fact(~n - 1);< 266640#factENTRY ~n := #in~n; 266655#L25 assume !(~n <= 0); 266608#L26 call #t~ret0 := fact(~n - 1);< 266640#factENTRY ~n := #in~n; 266655#L25 assume !(~n <= 0); 266608#L26 call #t~ret0 := fact(~n - 1);< 266640#factENTRY ~n := #in~n; 266655#L25 assume !(~n <= 0); 266608#L26 call #t~ret0 := fact(~n - 1);< 266640#factENTRY ~n := #in~n; 266681#L25 assume ~n <= 0;#res := 1; 266649#factFINAL assume true; 266636#factEXIT >#66#return; 266632#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266627#factFINAL assume true; 266618#factEXIT >#66#return; 266617#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266613#factFINAL assume true; 266594#factEXIT >#66#return; 266609#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266901#factFINAL assume true; 266896#factEXIT >#66#return; 266897#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266943#factFINAL assume true; 266923#factEXIT >#66#return; 266925#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266928#factFINAL assume true; 266929#factEXIT >#70#return; 266509#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 266591#factENTRY ~n := #in~n; 266683#L25 assume ~n <= 0;#res := 1; 266540#factFINAL assume true; 266506#factEXIT >#72#return; 266518#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; 266950#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 266947#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 266867#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 266692#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; 266685#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 266689#factENTRY ~n := #in~n; 266687#L25 assume !(~n <= 0); 266647#L26 call #t~ret0 := fact(~n - 1);< 266680#factENTRY ~n := #in~n; 266648#L25 assume !(~n <= 0); 266484#L26 call #t~ret0 := fact(~n - 1);< 266643#factENTRY ~n := #in~n; 266642#L25 assume !(~n <= 0); 266474#L26 call #t~ret0 := fact(~n - 1);< 266633#factENTRY ~n := #in~n; 266592#L25 assume !(~n <= 0); 266471#L26 call #t~ret0 := fact(~n - 1);< 266481#factENTRY ~n := #in~n; 266532#L25 assume !(~n <= 0); 266468#L26 call #t~ret0 := fact(~n - 1);< 266527#factENTRY ~n := #in~n; 266588#L25 assume ~n <= 0;#res := 1; 266565#factFINAL assume true; 266525#factEXIT >#66#return; 266504#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266501#factFINAL assume true; 266493#factEXIT >#66#return; 266489#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266479#factFINAL assume true; 266465#factEXIT >#66#return; 266475#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266490#factFINAL assume true; 266482#factEXIT >#66#return; 266485#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266948#factFINAL assume true; 266877#factEXIT >#66#return; 266875#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266871#factFINAL assume true; 266868#factEXIT >#74#return; 266448#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 266461#factENTRY ~n := #in~n; 266498#L25 assume !(~n <= 0); 266469#L26 call #t~ret0 := fact(~n - 1);< 266486#factENTRY ~n := #in~n; 266592#L25 assume !(~n <= 0); 266471#L26 call #t~ret0 := fact(~n - 1);< 266481#factENTRY ~n := #in~n; 266532#L25 assume !(~n <= 0); 266468#L26 call #t~ret0 := fact(~n - 1);< 266527#factENTRY ~n := #in~n; 266532#L25 assume !(~n <= 0); 266468#L26 call #t~ret0 := fact(~n - 1);< 266527#factENTRY ~n := #in~n; 266532#L25 assume !(~n <= 0); 266468#L26 call #t~ret0 := fact(~n - 1);< 266527#factENTRY ~n := #in~n; 266588#L25 assume ~n <= 0;#res := 1; 266565#factFINAL assume true; 266525#factEXIT >#66#return; 266504#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266501#factFINAL assume true; 266493#factEXIT >#66#return; 266489#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266479#factFINAL assume true; 266465#factEXIT >#66#return; 266475#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266490#factFINAL assume true; 266482#factEXIT >#66#return; 266485#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266948#factFINAL assume true; 266877#factEXIT >#66#return; 266875#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266871#factFINAL assume true; 266868#factEXIT >#76#return; 266304#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 266305#factENTRY ~n := #in~n; 267056#L25 assume !(~n <= 0); 267054#L26 call #t~ret0 := fact(~n - 1);< 267055#factENTRY ~n := #in~n; 267059#L25 assume ~n <= 0;#res := 1; 267057#factFINAL assume true; 267053#factEXIT >#66#return; 267052#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 267051#factFINAL assume true; 266997#factEXIT >#78#return; 266258#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; 266259#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 266269#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 266290#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 266280#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 266271#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 266272#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 266285#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; 266242#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 266243#factENTRY ~n := #in~n; 266399#L25 assume !(~n <= 0); 266348#L26 call #t~ret0 := fact(~n - 1);< 266349#factENTRY ~n := #in~n; 266413#L25 assume !(~n <= 0); 266351#L26 call #t~ret0 := fact(~n - 1);< 266352#factENTRY ~n := #in~n; 266380#L25 assume !(~n <= 0); 266354#L26 call #t~ret0 := fact(~n - 1);< 266411#factENTRY ~n := #in~n; 266368#L25 assume !(~n <= 0); 266344#L26 call #t~ret0 := fact(~n - 1);< 266366#factENTRY ~n := #in~n; 266363#L25 assume !(~n <= 0); 266341#L26 call #t~ret0 := fact(~n - 1);< 266361#factENTRY ~n := #in~n; 266364#L25 assume ~n <= 0;#res := 1; 266362#factFINAL assume true; 266359#factEXIT >#66#return; 266360#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266350#factFINAL assume true; 266340#factEXIT >#66#return; 266346#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266412#factFINAL assume true; 266409#factEXIT >#66#return; 266408#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266407#factFINAL assume true; 266406#factEXIT >#66#return; 266353#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266358#factFINAL assume true; 266404#factEXIT >#66#return; 266405#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 266337#factFINAL assume true; 266331#factEXIT >#68#return; 266295#L30-1 [2022-07-22 01:31:16,316 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:31:16,316 INFO L85 PathProgramCache]: Analyzing trace with hash -974957523, now seen corresponding path program 33 times [2022-07-22 01:31:16,316 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:31:16,316 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [365426784] [2022-07-22 01:31:16,316 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:31:16,316 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:31:16,325 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:31:16,325 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1521179577] [2022-07-22 01:31:16,325 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 01:31:16,325 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:31:16,326 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:31:16,328 INFO L229 MonitoredProcess]: Starting monitored process 187 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:31:16,329 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (187)] Waiting until timeout for monitored process [2022-07-22 01:31:16,556 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 10 check-sat command(s) [2022-07-22 01:31:16,557 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:31:16,559 INFO L263 TraceCheckSpWp]: Trace formula consists of 392 conjuncts, 26 conjunts are in the unsatisfiable core [2022-07-22 01:31:16,562 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:31:17,101 INFO L134 CoverageAnalysis]: Checked inductivity of 11101 backedges. 1904 proven. 223 refuted. 0 times theorem prover too weak. 8974 trivial. 0 not checked. [2022-07-22 01:31:17,101 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:31:19,767 INFO L134 CoverageAnalysis]: Checked inductivity of 11101 backedges. 1904 proven. 243 refuted. 0 times theorem prover too weak. 8954 trivial. 0 not checked. [2022-07-22 01:31:19,767 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:31:19,767 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [365426784] [2022-07-22 01:31:19,767 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:31:19,767 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1521179577] [2022-07-22 01:31:19,767 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1521179577] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:31:19,767 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:31:19,768 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 24] total 31 [2022-07-22 01:31:19,768 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [444454133] [2022-07-22 01:31:19,768 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:31:19,768 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:31:19,769 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:31:19,769 INFO L85 PathProgramCache]: Analyzing trace with hash 1927982133, now seen corresponding path program 31 times [2022-07-22 01:31:19,769 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:31:19,769 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [833347904] [2022-07-22 01:31:19,769 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:31:19,769 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:31:19,777 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:31:19,778 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [959531333] [2022-07-22 01:31:19,778 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-22 01:31:19,778 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:31:19,778 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:31:19,781 INFO L229 MonitoredProcess]: Starting monitored process 188 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:31:19,782 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (188)] Waiting until timeout for monitored process [2022-07-22 01:31:20,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:31:20,028 INFO L263 TraceCheckSpWp]: Trace formula consists of 875 conjuncts, 27 conjunts are in the unsatisfiable core [2022-07-22 01:31:20,031 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:31:20,336 INFO L134 CoverageAnalysis]: Checked inductivity of 11195 backedges. 5363 proven. 261 refuted. 0 times theorem prover too weak. 5571 trivial. 0 not checked. [2022-07-22 01:31:20,336 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:31:24,561 INFO L134 CoverageAnalysis]: Checked inductivity of 11195 backedges. 463 proven. 2696 refuted. 0 times theorem prover too weak. 8036 trivial. 0 not checked. [2022-07-22 01:31:24,561 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:31:24,561 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [833347904] [2022-07-22 01:31:24,561 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:31:24,561 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [959531333] [2022-07-22 01:31:24,561 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [959531333] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:31:24,561 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:31:24,562 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 26] total 29 [2022-07-22 01:31:24,562 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [672497823] [2022-07-22 01:31:24,562 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:31:24,562 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:31:24,562 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:31:24,562 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2022-07-22 01:31:24,563 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=129, Invalid=683, Unknown=0, NotChecked=0, Total=812 [2022-07-22 01:31:24,563 INFO L87 Difference]: Start difference. First operand 1754 states and 2843 transitions. cyclomatic complexity: 1120 Second operand has 29 states, 26 states have (on average 2.8846153846153846) internal successors, (75), 26 states have internal predecessors, (75), 17 states have call successors, (32), 2 states have call predecessors, (32), 13 states have return successors, (40), 15 states have call predecessors, (40), 17 states have call successors, (40) [2022-07-22 01:31:26,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:31:26,567 INFO L93 Difference]: Finished difference Result 2639 states and 4504 transitions. [2022-07-22 01:31:26,568 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-07-22 01:31:26,569 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2639 states and 4504 transitions. [2022-07-22 01:31:26,580 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 169 [2022-07-22 01:31:26,592 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2639 states to 2632 states and 4497 transitions. [2022-07-22 01:31:26,592 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 537 [2022-07-22 01:31:26,593 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 546 [2022-07-22 01:31:26,593 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2632 states and 4497 transitions. [2022-07-22 01:31:26,593 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:31:26,593 INFO L369 hiAutomatonCegarLoop]: Abstraction has 2632 states and 4497 transitions. [2022-07-22 01:31:26,594 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2632 states and 4497 transitions. [2022-07-22 01:31:26,620 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2632 to 1936. [2022-07-22 01:31:26,621 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1936 states, 1179 states have (on average 1.106022052586938) internal successors, (1304), 1178 states have internal predecessors, (1304), 578 states have call successors, (578), 260 states have call predecessors, (578), 179 states have return successors, (1570), 497 states have call predecessors, (1570), 578 states have call successors, (1570) [2022-07-22 01:31:26,627 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1936 states to 1936 states and 3452 transitions. [2022-07-22 01:31:26,627 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1936 states and 3452 transitions. [2022-07-22 01:31:26,627 INFO L374 stractBuchiCegarLoop]: Abstraction has 1936 states and 3452 transitions. [2022-07-22 01:31:26,627 INFO L287 stractBuchiCegarLoop]: ======== Iteration 47 ============ [2022-07-22 01:31:26,627 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1936 states and 3452 transitions. [2022-07-22 01:31:26,631 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 91 [2022-07-22 01:31:26,631 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:31:26,631 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:31:26,635 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [69, 69, 38, 38, 38, 38, 31, 11, 10, 7, 7, 7, 6, 6, 6, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 1, 1, 1, 1] [2022-07-22 01:31:26,635 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [64, 64, 49, 49, 49, 49, 15, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:31:26,635 INFO L752 eck$LassoCheckResult]: Stem: 275916#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 275889#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; 275890#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 275915#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; 275951#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 277268#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 277266#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; 277263#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 277264#factENTRY ~n := #in~n; 277267#L25 assume ~n <= 0;#res := 1; 277265#factFINAL assume true; 277262#factEXIT >#68#return; 275942#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 275943#factENTRY ~n := #in~n; 277184#L25 assume ~n <= 0;#res := 1; 277182#factFINAL assume true; 277183#factEXIT >#70#return; 275861#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 275862#factENTRY ~n := #in~n; 277309#L25 assume ~n <= 0;#res := 1; 277308#factFINAL assume true; 277307#factEXIT >#72#return; 275913#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; 275911#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 275912#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 277554#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 277552#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; 277549#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 277550#factENTRY ~n := #in~n; 277560#L25 assume !(~n <= 0); 277557#L26 call #t~ret0 := fact(~n - 1);< 277558#factENTRY ~n := #in~n; 277561#L25 assume ~n <= 0;#res := 1; 277559#factFINAL assume true; 277556#factEXIT >#66#return; 277555#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 277553#factFINAL assume true; 277548#factEXIT >#74#return; 277534#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 277535#factENTRY ~n := #in~n; 277540#L25 assume ~n <= 0;#res := 1; 277538#factFINAL assume true; 277533#factEXIT >#76#return; 277507#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 277539#factENTRY ~n := #in~n; 277546#L25 assume !(~n <= 0); 277544#L26 call #t~ret0 := fact(~n - 1);< 277545#factENTRY ~n := #in~n; 277551#L25 assume ~n <= 0;#res := 1; 277547#factFINAL assume true; 277542#factEXIT >#66#return; 277536#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 277537#factFINAL assume true; 277506#factEXIT >#78#return; 277416#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; 277505#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 277503#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 277501#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 277388#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; 277318#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 277340#factENTRY ~n := #in~n; 277333#L25 assume !(~n <= 0); 277334#L26 call #t~ret0 := fact(~n - 1);< 277373#factENTRY ~n := #in~n; 277371#L25 assume !(~n <= 0); 277348#L26 call #t~ret0 := fact(~n - 1);< 277360#factENTRY ~n := #in~n; 277364#L25 assume ~n <= 0;#res := 1; 277362#factFINAL assume true; 277358#factEXIT >#66#return; 277357#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 277355#factFINAL assume true; 277346#factEXIT >#66#return; 277345#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 277342#factFINAL assume true; 277339#factEXIT >#74#return; 277324#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 277329#factENTRY ~n := #in~n; 277366#L25 assume ~n <= 0;#res := 1; 277330#factFINAL assume true; 277323#factEXIT >#76#return; 277316#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 277343#factENTRY ~n := #in~n; 277370#L25 assume !(~n <= 0); 277347#L26 call #t~ret0 := fact(~n - 1);< 277354#factENTRY ~n := #in~n; 277371#L25 assume !(~n <= 0); 277348#L26 call #t~ret0 := fact(~n - 1);< 277360#factENTRY ~n := #in~n; 277364#L25 assume ~n <= 0;#res := 1; 277362#factFINAL assume true; 277358#factEXIT >#66#return; 277357#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 277355#factFINAL assume true; 277346#factEXIT >#66#return; 277345#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 277342#factFINAL assume true; 277339#factEXIT >#78#return; 277312#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; 277310#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 275948#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 275949#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 275909#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 275904#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 275905#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 275937#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; 277143#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 275882#factENTRY ~n := #in~n; 277276#L25 assume !(~n <= 0); 277273#L26 call #t~ret0 := fact(~n - 1);< 277274#factENTRY ~n := #in~n; 277277#L25 assume ~n <= 0;#res := 1; 277275#factFINAL assume true; 277272#factEXIT >#66#return; 277271#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 277270#factFINAL assume true; 277269#factEXIT >#68#return; 277202#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 277201#factENTRY ~n := #in~n; 277204#L25 assume ~n <= 0;#res := 1; 277261#factFINAL assume true; 277260#factEXIT >#70#return; 277255#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 277257#factENTRY ~n := #in~n; 277290#L25 assume !(~n <= 0); 277288#L26 call #t~ret0 := fact(~n - 1);< 277289#factENTRY ~n := #in~n; 277292#L25 assume ~n <= 0;#res := 1; 277291#factFINAL assume true; 277287#factEXIT >#66#return; 277285#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 277280#factFINAL assume true; 277253#factEXIT >#72#return; 277250#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; 277251#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 277222#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 277223#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 277218#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; 277207#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 277209#factENTRY ~n := #in~n; 277216#L25 assume !(~n <= 0); 277213#L26 call #t~ret0 := fact(~n - 1);< 277214#factENTRY ~n := #in~n; 277217#L25 assume ~n <= 0;#res := 1; 277215#factFINAL assume true; 277212#factEXIT >#66#return; 277211#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 277210#factFINAL assume true; 277206#factEXIT >#68#return; 277179#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 277200#factENTRY ~n := #in~n; 277198#L25 assume !(~n <= 0); 277188#L26 call #t~ret0 := fact(~n - 1);< 277192#factENTRY ~n := #in~n; 277199#L25 assume ~n <= 0;#res := 1; 277193#factFINAL assume true; 277187#factEXIT >#66#return; 277185#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 277186#factFINAL assume true; 277177#factEXIT >#70#return; 277181#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 277283#factENTRY ~n := #in~n; 277286#L25 assume ~n <= 0;#res := 1; 277284#factFINAL assume true; 277281#factEXIT >#72#return; 277278#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; 277279#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 277252#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 277249#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 277245#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; 277246#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 277587#factENTRY ~n := #in~n; 277599#L25 assume !(~n <= 0); 277595#L26 call #t~ret0 := fact(~n - 1);< 277597#factENTRY ~n := #in~n; 277603#L25 assume !(~n <= 0); 277596#L26 call #t~ret0 := fact(~n - 1);< 277602#factENTRY ~n := #in~n; 277606#L25 assume ~n <= 0;#res := 1; 277605#factFINAL assume true; 277601#factEXIT >#66#return; 277600#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 277598#factFINAL assume true; 277594#factEXIT >#66#return; 277593#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 277590#factFINAL assume true; 277585#factEXIT >#74#return; 277578#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 277569#factENTRY ~n := #in~n; 277642#L25 assume !(~n <= 0); 277616#L26 call #t~ret0 := fact(~n - 1);< 277617#factENTRY ~n := #in~n; 277604#L25 assume ~n <= 0;#res := 1; 277619#factFINAL assume true; 277615#factEXIT >#66#return; 277612#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 277581#factFINAL assume true; 277584#factEXIT >#76#return; 277582#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 277569#factENTRY ~n := #in~n; 277642#L25 assume !(~n <= 0); 277616#L26 call #t~ret0 := fact(~n - 1);< 277617#factENTRY ~n := #in~n; 277604#L25 assume ~n <= 0;#res := 1; 277619#factFINAL assume true; 277615#factEXIT >#66#return; 277612#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 277581#factFINAL assume true; 277584#factEXIT >#78#return; 277160#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; 277158#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 277157#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 277154#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 275910#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 275906#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 275907#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 276434#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; 275957#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 276002#factENTRY ~n := #in~n; 275992#L25 assume !(~n <= 0); 275962#L26 call #t~ret0 := fact(~n - 1);< 275990#factENTRY ~n := #in~n; 275988#L25 assume !(~n <= 0); 275965#L26 call #t~ret0 := fact(~n - 1);< 275986#factENTRY ~n := #in~n; 275989#L25 assume ~n <= 0;#res := 1; 275987#factFINAL assume true; 275984#factEXIT >#66#return; 275985#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276018#factFINAL assume true; 275961#factEXIT >#66#return; 275967#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276433#factFINAL assume true; 276410#factEXIT >#68#return; 276404#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 275941#factENTRY ~n := #in~n; 276429#L25 assume ~n <= 0;#res := 1; 276419#factFINAL assume true; 276401#factEXIT >#70#return; 276395#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 276397#factENTRY ~n := #in~n; 276452#L25 assume !(~n <= 0); 276425#L26 call #t~ret0 := fact(~n - 1);< 276428#factENTRY ~n := #in~n; 276565#L25 assume !(~n <= 0); 276421#L26 call #t~ret0 := fact(~n - 1);< 276440#factENTRY ~n := #in~n; 276451#L25 assume ~n <= 0;#res := 1; 276449#factFINAL assume true; 276437#factEXIT >#66#return; 276435#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276430#factFINAL assume true; 276420#factEXIT >#66#return; 276418#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276400#factFINAL assume true; 276393#factEXIT >#72#return; 276396#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; 276540#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 276539#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 276538#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 276537#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; 276224#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 276335#factENTRY ~n := #in~n; 276462#L25 assume !(~n <= 0); 276251#L26 call #t~ret0 := fact(~n - 1);< 276289#factENTRY ~n := #in~n; 276461#L25 assume !(~n <= 0); 276280#L26 call #t~ret0 := fact(~n - 1);< 276303#factENTRY ~n := #in~n; 276321#L25 assume ~n <= 0;#res := 1; 276309#factFINAL assume true; 276301#factEXIT >#66#return; 276296#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276286#factFINAL assume true; 276277#factEXIT >#66#return; 276282#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276446#factFINAL assume true; 276339#factEXIT >#68#return; 276182#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 276210#factENTRY ~n := #in~n; 276336#L25 assume !(~n <= 0); 276239#L26 call #t~ret0 := fact(~n - 1);< 276326#factENTRY ~n := #in~n; 276360#L25 assume ~n <= 0;#res := 1; 276351#factFINAL assume true; 276343#factEXIT >#66#return; 276338#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276334#factFINAL assume true; 276322#factEXIT >#70#return; 276323#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 276372#factENTRY ~n := #in~n; 276485#L25 assume !(~n <= 0); 276175#L26 call #t~ret0 := fact(~n - 1);< 276359#factENTRY ~n := #in~n; 276360#L25 assume ~n <= 0;#res := 1; 276351#factFINAL assume true; 276343#factEXIT >#66#return; 276345#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276369#factFINAL assume true; 276371#factEXIT >#72#return; 276416#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; 276584#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 276583#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 276582#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 276580#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; 276216#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 276335#factENTRY ~n := #in~n; 276462#L25 assume !(~n <= 0); 276251#L26 call #t~ret0 := fact(~n - 1);< 276289#factENTRY ~n := #in~n; 276461#L25 assume !(~n <= 0); 276280#L26 call #t~ret0 := fact(~n - 1);< 276303#factENTRY ~n := #in~n; 276321#L25 assume ~n <= 0;#res := 1; 276309#factFINAL assume true; 276301#factEXIT >#66#return; 276296#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276286#factFINAL assume true; 276277#factEXIT >#66#return; 276282#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276446#factFINAL assume true; 276339#factEXIT >#68#return; 276199#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 276210#factENTRY ~n := #in~n; 276336#L25 assume !(~n <= 0); 276239#L26 call #t~ret0 := fact(~n - 1);< 276326#factENTRY ~n := #in~n; 276337#L25 assume !(~n <= 0); 276241#L26 call #t~ret0 := fact(~n - 1);< 276332#factENTRY ~n := #in~n; 276321#L25 assume ~n <= 0;#res := 1; 276309#factFINAL assume true; 276301#factEXIT >#66#return; 276296#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276286#factFINAL assume true; 276277#factEXIT >#66#return; 276281#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276450#factFINAL assume true; 276448#factEXIT >#70#return; 276125#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 276143#factENTRY ~n := #in~n; 276174#L25 assume ~n <= 0;#res := 1; 276170#factFINAL assume true; 276124#factEXIT >#72#return; 276136#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; 276266#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 276262#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 276261#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 276171#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; 276037#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 276083#factENTRY ~n := #in~n; 276178#L25 assume !(~n <= 0); 275929#L26 call #t~ret0 := fact(~n - 1);< 276098#factENTRY ~n := #in~n; 276165#L25 assume !(~n <= 0); 275925#L26 call #t~ret0 := fact(~n - 1);< 276147#factENTRY ~n := #in~n; 276165#L25 assume !(~n <= 0); 275925#L26 call #t~ret0 := fact(~n - 1);< 276147#factENTRY ~n := #in~n; 276211#L25 assume ~n <= 0;#res := 1; 276177#factFINAL assume true; 276144#factEXIT >#66#return; 276122#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276119#factFINAL assume true; 276111#factEXIT >#66#return; 276108#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276101#factFINAL assume true; 276094#factEXIT >#66#return; 276088#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276082#factFINAL assume true; 276035#factEXIT >#74#return; 276038#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 276084#factENTRY ~n := #in~n; 276123#L25 assume !(~n <= 0); 276096#L26 call #t~ret0 := fact(~n - 1);< 276120#factENTRY ~n := #in~n; 276166#L25 assume !(~n <= 0); 276113#L26 call #t~ret0 := fact(~n - 1);< 276148#factENTRY ~n := #in~n; 276163#L25 assume !(~n <= 0); 276145#L26 call #t~ret0 := fact(~n - 1);< 276146#factENTRY ~n := #in~n; 276211#L25 assume ~n <= 0;#res := 1; 276177#factFINAL assume true; 276144#factEXIT >#66#return; 276122#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276119#factFINAL assume true; 276111#factEXIT >#66#return; 276108#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276101#factFINAL assume true; 276094#factEXIT >#66#return; 276088#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276082#factFINAL assume true; 276035#factEXIT >#76#return; 275896#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 276033#factENTRY ~n := #in~n; 275935#L25 assume !(~n <= 0); 275895#L26 call #t~ret0 := fact(~n - 1);< 275900#factENTRY ~n := #in~n; 277008#L25 assume ~n <= 0;#res := 1; 277005#factFINAL assume true; 276990#factEXIT >#66#return; 276988#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276986#factFINAL assume true; 276030#factEXIT >#78#return; 276031#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; 277162#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 277159#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 277155#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 277152#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 277149#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 277146#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 276019#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; 275956#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 275994#factENTRY ~n := #in~n; 275995#L25 assume !(~n <= 0); 275966#L26 call #t~ret0 := fact(~n - 1);< 275990#factENTRY ~n := #in~n; 275988#L25 assume !(~n <= 0); 275965#L26 call #t~ret0 := fact(~n - 1);< 275986#factENTRY ~n := #in~n; 275988#L25 assume !(~n <= 0); 275965#L26 call #t~ret0 := fact(~n - 1);< 275986#factENTRY ~n := #in~n; 275988#L25 assume !(~n <= 0); 275965#L26 call #t~ret0 := fact(~n - 1);< 275986#factENTRY ~n := #in~n; 275988#L25 assume !(~n <= 0); 275965#L26 call #t~ret0 := fact(~n - 1);< 275986#factENTRY ~n := #in~n; 275989#L25 assume ~n <= 0;#res := 1; 275987#factFINAL assume true; 275984#factEXIT >#66#return; 275985#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276018#factFINAL assume true; 275961#factEXIT >#66#return; 275968#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276012#factFINAL assume true; 276013#factEXIT >#66#return; 276016#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276015#factFINAL assume true; 276010#factEXIT >#66#return; 275982#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 275975#factFINAL assume true; 275980#factEXIT >#66#return; 275960#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 275959#factFINAL assume true; 275954#factEXIT >#68#return; 275940#L30-1 [2022-07-22 01:31:26,636 INFO L754 eck$LassoCheckResult]: Loop: 275940#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 275941#factENTRY ~n := #in~n; 276429#L25 assume ~n <= 0;#res := 1; 276419#factFINAL assume true; 276401#factEXIT >#70#return; 276406#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 276576#factENTRY ~n := #in~n; 276574#L25 assume !(~n <= 0); 276568#L26 call #t~ret0 := fact(~n - 1);< 276572#factENTRY ~n := #in~n; 276570#L25 assume !(~n <= 0); 276564#L26 call #t~ret0 := fact(~n - 1);< 276567#factENTRY ~n := #in~n; 276566#L25 assume !(~n <= 0); 276431#L26 call #t~ret0 := fact(~n - 1);< 276563#factENTRY ~n := #in~n; 276546#L25 assume !(~n <= 0); 276422#L26 call #t~ret0 := fact(~n - 1);< 276432#factENTRY ~n := #in~n; 276577#L25 assume !(~n <= 0); 276424#L26 call #t~ret0 := fact(~n - 1);< 276455#factENTRY ~n := #in~n; 276451#L25 assume ~n <= 0;#res := 1; 276449#factFINAL assume true; 276437#factEXIT >#66#return; 276435#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276430#factFINAL assume true; 276420#factEXIT >#66#return; 276427#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276557#factFINAL assume true; 276553#factEXIT >#66#return; 276554#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276609#factFINAL assume true; 276607#factEXIT >#66#return; 276608#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 277130#factFINAL assume true; 276611#factEXIT >#66#return; 276610#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276604#factFINAL assume true; 276602#factEXIT >#72#return; 276601#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; 276599#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 276596#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 276593#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 276541#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; 276459#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 276460#factENTRY ~n := #in~n; 276486#L25 assume !(~n <= 0); 276327#L26 call #t~ret0 := fact(~n - 1);< 276479#factENTRY ~n := #in~n; 276478#L25 assume !(~n <= 0); 276311#L26 call #t~ret0 := fact(~n - 1);< 276319#factENTRY ~n := #in~n; 276382#L25 assume !(~n <= 0); 276240#L26 call #t~ret0 := fact(~n - 1);< 276331#factENTRY ~n := #in~n; 276373#L25 assume !(~n <= 0); 276244#L26 call #t~ret0 := fact(~n - 1);< 276275#factENTRY ~n := #in~n; 276337#L25 assume !(~n <= 0); 276241#L26 call #t~ret0 := fact(~n - 1);< 276332#factENTRY ~n := #in~n; 276321#L25 assume ~n <= 0;#res := 1; 276309#factFINAL assume true; 276301#factEXIT >#66#return; 276296#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276286#factFINAL assume true; 276277#factEXIT >#66#return; 276276#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276272#factFINAL assume true; 276238#factEXIT >#66#return; 276257#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276325#factFINAL assume true; 276310#factEXIT >#66#return; 276317#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276492#factFINAL assume true; 276491#factEXIT >#66#return; 276490#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276488#factFINAL assume true; 276456#factEXIT >#68#return; 276196#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 276210#factENTRY ~n := #in~n; 276336#L25 assume !(~n <= 0); 276239#L26 call #t~ret0 := fact(~n - 1);< 276326#factENTRY ~n := #in~n; 276360#L25 assume ~n <= 0;#res := 1; 276351#factFINAL assume true; 276343#factEXIT >#66#return; 276338#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276334#factFINAL assume true; 276322#factEXIT >#70#return; 276221#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 276342#factENTRY ~n := #in~n; 276467#L25 assume !(~n <= 0); 276242#L26 call #t~ret0 := fact(~n - 1);< 276465#factENTRY ~n := #in~n; 276464#L25 assume !(~n <= 0); 276249#L26 call #t~ret0 := fact(~n - 1);< 276304#factENTRY ~n := #in~n; 276461#L25 assume !(~n <= 0); 276280#L26 call #t~ret0 := fact(~n - 1);< 276303#factENTRY ~n := #in~n; 276321#L25 assume ~n <= 0;#res := 1; 276309#factFINAL assume true; 276301#factEXIT >#66#return; 276296#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276286#factFINAL assume true; 276277#factEXIT >#66#return; 276276#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276272#factFINAL assume true; 276238#factEXIT >#66#return; 276236#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276232#factFINAL assume true; 276212#factEXIT >#72#return; 276229#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; 277089#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 276621#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 276619#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 276526#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; 276457#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 276460#factENTRY ~n := #in~n; 276486#L25 assume !(~n <= 0); 276327#L26 call #t~ret0 := fact(~n - 1);< 276479#factENTRY ~n := #in~n; 276478#L25 assume !(~n <= 0); 276311#L26 call #t~ret0 := fact(~n - 1);< 276319#factENTRY ~n := #in~n; 276382#L25 assume !(~n <= 0); 276240#L26 call #t~ret0 := fact(~n - 1);< 276331#factENTRY ~n := #in~n; 276373#L25 assume !(~n <= 0); 276244#L26 call #t~ret0 := fact(~n - 1);< 276275#factENTRY ~n := #in~n; 276337#L25 assume !(~n <= 0); 276241#L26 call #t~ret0 := fact(~n - 1);< 276332#factENTRY ~n := #in~n; 276337#L25 assume !(~n <= 0); 276241#L26 call #t~ret0 := fact(~n - 1);< 276332#factENTRY ~n := #in~n; 276321#L25 assume ~n <= 0;#res := 1; 276309#factFINAL assume true; 276301#factEXIT >#66#return; 276296#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276286#factFINAL assume true; 276277#factEXIT >#66#return; 276276#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276272#factFINAL assume true; 276238#factEXIT >#66#return; 276257#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276325#factFINAL assume true; 276310#factEXIT >#66#return; 276317#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276492#factFINAL assume true; 276491#factEXIT >#66#return; 276484#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276493#factFINAL assume true; 276481#factEXIT >#66#return; 276480#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276475#factFINAL assume true; 276474#factEXIT >#68#return; 276201#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 276210#factENTRY ~n := #in~n; 276336#L25 assume !(~n <= 0); 276239#L26 call #t~ret0 := fact(~n - 1);< 276326#factENTRY ~n := #in~n; 276337#L25 assume !(~n <= 0); 276241#L26 call #t~ret0 := fact(~n - 1);< 276332#factENTRY ~n := #in~n; 276321#L25 assume ~n <= 0;#res := 1; 276309#factFINAL assume true; 276301#factEXIT >#66#return; 276296#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276286#factFINAL assume true; 276277#factEXIT >#66#return; 276281#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276450#factFINAL assume true; 276448#factEXIT >#70#return; 276207#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 276233#factENTRY ~n := #in~n; 276468#L25 assume !(~n <= 0); 276247#L26 call #t~ret0 := fact(~n - 1);< 276275#factENTRY ~n := #in~n; 276337#L25 assume !(~n <= 0); 276241#L26 call #t~ret0 := fact(~n - 1);< 276332#factENTRY ~n := #in~n; 276321#L25 assume ~n <= 0;#res := 1; 276309#factFINAL assume true; 276301#factEXIT >#66#return; 276296#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276286#factFINAL assume true; 276277#factEXIT >#66#return; 276282#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276446#factFINAL assume true; 276339#factEXIT >#72#return; 276340#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; 276597#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 276594#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 276591#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 276581#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; 276168#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 276460#factENTRY ~n := #in~n; 276486#L25 assume !(~n <= 0); 276327#L26 call #t~ret0 := fact(~n - 1);< 276479#factENTRY ~n := #in~n; 276478#L25 assume !(~n <= 0); 276311#L26 call #t~ret0 := fact(~n - 1);< 276319#factENTRY ~n := #in~n; 276382#L25 assume !(~n <= 0); 276240#L26 call #t~ret0 := fact(~n - 1);< 276331#factENTRY ~n := #in~n; 276373#L25 assume !(~n <= 0); 276244#L26 call #t~ret0 := fact(~n - 1);< 276275#factENTRY ~n := #in~n; 276337#L25 assume !(~n <= 0); 276241#L26 call #t~ret0 := fact(~n - 1);< 276332#factENTRY ~n := #in~n; 276321#L25 assume ~n <= 0;#res := 1; 276309#factFINAL assume true; 276301#factEXIT >#66#return; 276296#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276286#factFINAL assume true; 276277#factEXIT >#66#return; 276276#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276272#factFINAL assume true; 276238#factEXIT >#66#return; 276257#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276325#factFINAL assume true; 276310#factEXIT >#66#return; 276317#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276492#factFINAL assume true; 276491#factEXIT >#66#return; 276490#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276488#factFINAL assume true; 276456#factEXIT >#68#return; 276192#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 276210#factENTRY ~n := #in~n; 276336#L25 assume !(~n <= 0); 276239#L26 call #t~ret0 := fact(~n - 1);< 276326#factENTRY ~n := #in~n; 276337#L25 assume !(~n <= 0); 276241#L26 call #t~ret0 := fact(~n - 1);< 276332#factENTRY ~n := #in~n; 276337#L25 assume !(~n <= 0); 276241#L26 call #t~ret0 := fact(~n - 1);< 276332#factENTRY ~n := #in~n; 276337#L25 assume !(~n <= 0); 276241#L26 call #t~ret0 := fact(~n - 1);< 276332#factENTRY ~n := #in~n; 276337#L25 assume !(~n <= 0); 276241#L26 call #t~ret0 := fact(~n - 1);< 276332#factENTRY ~n := #in~n; 276321#L25 assume ~n <= 0;#res := 1; 276309#factFINAL assume true; 276301#factEXIT >#66#return; 276296#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276286#factFINAL assume true; 276277#factEXIT >#66#return; 276276#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276272#factFINAL assume true; 276238#factEXIT >#66#return; 276257#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276325#factFINAL assume true; 276310#factEXIT >#66#return; 276317#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276492#factFINAL assume true; 276491#factEXIT >#66#return; 276483#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276522#factFINAL assume true; 276285#factEXIT >#70#return; 276127#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 276234#factENTRY ~n := #in~n; 276476#L25 assume ~n <= 0;#res := 1; 276170#factFINAL assume true; 276124#factEXIT >#72#return; 276138#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; 276544#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 276543#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 276542#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 276167#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; 276158#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 276164#factENTRY ~n := #in~n; 276162#L25 assume !(~n <= 0); 275930#L26 call #t~ret0 := fact(~n - 1);< 276157#factENTRY ~n := #in~n; 276156#L25 assume !(~n <= 0); 275932#L26 call #t~ret0 := fact(~n - 1);< 276155#factENTRY ~n := #in~n; 276153#L25 assume !(~n <= 0); 275926#L26 call #t~ret0 := fact(~n - 1);< 276151#factENTRY ~n := #in~n; 276149#L25 assume !(~n <= 0); 275924#L26 call #t~ret0 := fact(~n - 1);< 276103#factENTRY ~n := #in~n; 276165#L25 assume !(~n <= 0); 275925#L26 call #t~ret0 := fact(~n - 1);< 276147#factENTRY ~n := #in~n; 276211#L25 assume ~n <= 0;#res := 1; 276177#factFINAL assume true; 276144#factEXIT >#66#return; 276122#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276119#factFINAL assume true; 276111#factEXIT >#66#return; 276108#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276101#factFINAL assume true; 276094#factEXIT >#66#return; 276097#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276109#factFINAL assume true; 276104#factEXIT >#66#return; 275921#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 275933#factFINAL assume true; 276808#factEXIT >#66#return; 276806#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276804#factFINAL assume true; 276803#factEXIT >#74#return; 276039#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 276090#factENTRY ~n := #in~n; 276117#L25 assume !(~n <= 0); 275928#L26 call #t~ret0 := fact(~n - 1);< 276106#factENTRY ~n := #in~n; 276149#L25 assume !(~n <= 0); 275924#L26 call #t~ret0 := fact(~n - 1);< 276103#factENTRY ~n := #in~n; 276165#L25 assume !(~n <= 0); 275925#L26 call #t~ret0 := fact(~n - 1);< 276147#factENTRY ~n := #in~n; 276165#L25 assume !(~n <= 0); 275925#L26 call #t~ret0 := fact(~n - 1);< 276147#factENTRY ~n := #in~n; 276211#L25 assume ~n <= 0;#res := 1; 276177#factFINAL assume true; 276144#factEXIT >#66#return; 276122#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276119#factFINAL assume true; 276111#factEXIT >#66#return; 276108#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276101#factFINAL assume true; 276094#factEXIT >#66#return; 276097#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276109#factFINAL assume true; 276104#factEXIT >#66#return; 276099#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276089#factFINAL assume true; 276085#factEXIT >#76#return; 275898#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 276033#factENTRY ~n := #in~n; 275935#L25 assume !(~n <= 0); 275895#L26 call #t~ret0 := fact(~n - 1);< 275900#factENTRY ~n := #in~n; 277008#L25 assume ~n <= 0;#res := 1; 277005#factFINAL assume true; 276990#factEXIT >#66#return; 276988#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276986#factFINAL assume true; 276030#factEXIT >#78#return; 275891#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; 275892#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 275902#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 277306#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 277304#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 277302#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 277300#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 276007#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; 275879#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 275880#factENTRY ~n := #in~n; 275971#L25 assume !(~n <= 0); 275972#L26 call #t~ret0 := fact(~n - 1);< 276004#factENTRY ~n := #in~n; 276003#L25 assume !(~n <= 0); 275978#L26 call #t~ret0 := fact(~n - 1);< 275981#factENTRY ~n := #in~n; 275983#L25 assume !(~n <= 0); 275977#L26 call #t~ret0 := fact(~n - 1);< 276014#factENTRY ~n := #in~n; 275993#L25 assume !(~n <= 0); 275964#L26 call #t~ret0 := fact(~n - 1);< 275991#factENTRY ~n := #in~n; 275988#L25 assume !(~n <= 0); 275965#L26 call #t~ret0 := fact(~n - 1);< 275986#factENTRY ~n := #in~n; 275989#L25 assume ~n <= 0;#res := 1; 275987#factFINAL assume true; 275984#factEXIT >#66#return; 275985#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276018#factFINAL assume true; 275961#factEXIT >#66#return; 275968#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276012#factFINAL assume true; 276013#factEXIT >#66#return; 276016#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 276015#factFINAL assume true; 276010#factEXIT >#66#return; 275982#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 275975#factFINAL assume true; 275980#factEXIT >#66#return; 275960#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 275959#factFINAL assume true; 275954#factEXIT >#68#return; 275940#L30-1 [2022-07-22 01:31:26,636 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:31:26,637 INFO L85 PathProgramCache]: Analyzing trace with hash -974957523, now seen corresponding path program 34 times [2022-07-22 01:31:26,637 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:31:26,637 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [529027441] [2022-07-22 01:31:26,637 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:31:26,637 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:31:26,651 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:31:26,651 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [690512058] [2022-07-22 01:31:26,651 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-22 01:31:26,651 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:31:26,652 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:31:26,654 INFO L229 MonitoredProcess]: Starting monitored process 189 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:31:26,656 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (189)] Waiting until timeout for monitored process [2022-07-22 01:31:26,975 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-22 01:31:26,976 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:31:26,979 INFO L263 TraceCheckSpWp]: Trace formula consists of 1021 conjuncts, 10 conjunts are in the unsatisfiable core [2022-07-22 01:31:26,981 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:31:27,134 INFO L134 CoverageAnalysis]: Checked inductivity of 11101 backedges. 4186 proven. 120 refuted. 0 times theorem prover too weak. 6795 trivial. 0 not checked. [2022-07-22 01:31:27,134 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:31:27,726 INFO L134 CoverageAnalysis]: Checked inductivity of 11101 backedges. 106 proven. 184 refuted. 0 times theorem prover too weak. 10811 trivial. 0 not checked. [2022-07-22 01:31:27,727 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:31:27,727 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [529027441] [2022-07-22 01:31:27,727 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:31:27,727 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [690512058] [2022-07-22 01:31:27,727 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [690512058] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:31:27,727 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:31:27,727 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 15 [2022-07-22 01:31:27,727 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1241852710] [2022-07-22 01:31:27,727 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:31:27,728 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:31:27,728 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:31:27,728 INFO L85 PathProgramCache]: Analyzing trace with hash -1993729547, now seen corresponding path program 32 times [2022-07-22 01:31:27,728 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:31:27,728 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [684874714] [2022-07-22 01:31:27,728 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:31:27,728 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:31:27,736 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:31:27,736 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [999371023] [2022-07-22 01:31:27,736 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 01:31:27,737 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:31:27,737 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:31:27,745 INFO L229 MonitoredProcess]: Starting monitored process 190 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:31:27,746 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (190)] Waiting until timeout for monitored process [2022-07-22 01:31:28,007 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 01:31:28,008 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:31:28,011 INFO L263 TraceCheckSpWp]: Trace formula consists of 851 conjuncts, 25 conjunts are in the unsatisfiable core [2022-07-22 01:31:28,013 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:31:28,338 INFO L134 CoverageAnalysis]: Checked inductivity of 10481 backedges. 4813 proven. 168 refuted. 0 times theorem prover too weak. 5500 trivial. 0 not checked. [2022-07-22 01:31:28,338 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:31:32,228 INFO L134 CoverageAnalysis]: Checked inductivity of 10481 backedges. 413 proven. 2317 refuted. 0 times theorem prover too weak. 7751 trivial. 0 not checked. [2022-07-22 01:31:32,229 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:31:32,229 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [684874714] [2022-07-22 01:31:32,229 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:31:32,229 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [999371023] [2022-07-22 01:31:32,229 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [999371023] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:31:32,229 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:31:32,229 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 22] total 25 [2022-07-22 01:31:32,229 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [580542120] [2022-07-22 01:31:32,229 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:31:32,230 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:31:32,230 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:31:32,230 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-07-22 01:31:32,230 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=99, Invalid=501, Unknown=0, NotChecked=0, Total=600 [2022-07-22 01:31:32,230 INFO L87 Difference]: Start difference. First operand 1936 states and 3452 transitions. cyclomatic complexity: 1547 Second operand has 25 states, 22 states have (on average 3.0454545454545454) internal successors, (67), 22 states have internal predecessors, (67), 15 states have call successors, (30), 2 states have call predecessors, (30), 11 states have return successors, (36), 13 states have call predecessors, (36), 15 states have call successors, (36) [2022-07-22 01:31:34,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:31:34,077 INFO L93 Difference]: Finished difference Result 2555 states and 4384 transitions. [2022-07-22 01:31:34,078 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-07-22 01:31:34,079 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2555 states and 4384 transitions. [2022-07-22 01:31:34,091 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 109 [2022-07-22 01:31:34,106 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2555 states to 2541 states and 4356 transitions. [2022-07-22 01:31:34,106 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 501 [2022-07-22 01:31:34,107 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 501 [2022-07-22 01:31:34,107 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2541 states and 4356 transitions. [2022-07-22 01:31:34,107 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:31:34,107 INFO L369 hiAutomatonCegarLoop]: Abstraction has 2541 states and 4356 transitions. [2022-07-22 01:31:34,108 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2541 states and 4356 transitions. [2022-07-22 01:31:34,135 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2541 to 2035. [2022-07-22 01:31:34,136 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2035 states, 1236 states have (on average 1.1011326860841424) internal successors, (1361), 1230 states have internal predecessors, (1361), 620 states have call successors, (620), 291 states have call predecessors, (620), 179 states have return successors, (1610), 513 states have call predecessors, (1610), 620 states have call successors, (1610) [2022-07-22 01:31:34,143 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2035 states to 2035 states and 3591 transitions. [2022-07-22 01:31:34,143 INFO L392 hiAutomatonCegarLoop]: Abstraction has 2035 states and 3591 transitions. [2022-07-22 01:31:34,143 INFO L374 stractBuchiCegarLoop]: Abstraction has 2035 states and 3591 transitions. [2022-07-22 01:31:34,143 INFO L287 stractBuchiCegarLoop]: ======== Iteration 48 ============ [2022-07-22 01:31:34,143 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 2035 states and 3591 transitions. [2022-07-22 01:31:34,148 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 91 [2022-07-22 01:31:34,148 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:31:34,148 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:31:34,150 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [69, 69, 38, 38, 38, 38, 31, 11, 10, 7, 7, 7, 6, 6, 6, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 1, 1, 1, 1] [2022-07-22 01:31:34,150 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [64, 64, 49, 49, 49, 49, 15, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:31:34,150 INFO L752 eck$LassoCheckResult]: Stem: 285518#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 285490#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; 285491#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 285517#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; 285538#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 286807#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 286806#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; 286798#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 286805#factENTRY ~n := #in~n; 286802#L25 assume ~n <= 0;#res := 1; 286803#factFINAL assume true; 286797#factEXIT >#68#return; 285531#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 285532#factENTRY ~n := #in~n; 286831#L25 assume ~n <= 0;#res := 1; 286829#factFINAL assume true; 286830#factEXIT >#70#return; 286897#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 286898#factENTRY ~n := #in~n; 286901#L25 assume ~n <= 0;#res := 1; 286900#factFINAL assume true; 286896#factEXIT >#72#return; 285510#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; 285511#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 285513#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 287226#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 287225#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; 287223#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 287224#factENTRY ~n := #in~n; 287234#L25 assume !(~n <= 0); 287231#L26 call #t~ret0 := fact(~n - 1);< 287232#factENTRY ~n := #in~n; 287235#L25 assume ~n <= 0;#res := 1; 287233#factFINAL assume true; 287230#factEXIT >#66#return; 287229#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 287228#factFINAL assume true; 287222#factEXIT >#74#return; 287219#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 287220#factENTRY ~n := #in~n; 287227#L25 assume ~n <= 0;#res := 1; 287221#factFINAL assume true; 287218#factEXIT >#76#return; 287073#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 287213#factENTRY ~n := #in~n; 287214#L25 assume !(~n <= 0); 287205#L26 call #t~ret0 := fact(~n - 1);< 287207#factENTRY ~n := #in~n; 287210#L25 assume ~n <= 0;#res := 1; 287209#factFINAL assume true; 287203#factEXIT >#66#return; 287199#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 287200#factFINAL assume true; 287072#factEXIT >#78#return; 287070#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; 287068#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 287066#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 287063#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 287061#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; 286962#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 286966#factENTRY ~n := #in~n; 287052#L25 assume !(~n <= 0); 286976#L26 call #t~ret0 := fact(~n - 1);< 287053#factENTRY ~n := #in~n; 287015#L25 assume !(~n <= 0); 286990#L26 call #t~ret0 := fact(~n - 1);< 287001#factENTRY ~n := #in~n; 287005#L25 assume ~n <= 0;#res := 1; 287003#factFINAL assume true; 286999#factEXIT >#66#return; 286998#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286995#factFINAL assume true; 286985#factEXIT >#66#return; 286984#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286981#factFINAL assume true; 286978#factEXIT >#74#return; 286948#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 286967#factENTRY ~n := #in~n; 287014#L25 assume ~n <= 0;#res := 1; 287051#factFINAL assume true; 287050#factEXIT >#76#return; 286961#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 286982#factENTRY ~n := #in~n; 287057#L25 assume !(~n <= 0); 286992#L26 call #t~ret0 := fact(~n - 1);< 286994#factENTRY ~n := #in~n; 287015#L25 assume !(~n <= 0); 286990#L26 call #t~ret0 := fact(~n - 1);< 287001#factENTRY ~n := #in~n; 287005#L25 assume ~n <= 0;#res := 1; 287003#factFINAL assume true; 286999#factEXIT >#66#return; 286998#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286995#factFINAL assume true; 286985#factEXIT >#66#return; 286984#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286981#factFINAL assume true; 286978#factEXIT >#78#return; 286946#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; 286945#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 286944#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 286943#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 286942#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 285505#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 285506#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 286958#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; 285481#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 285482#factENTRY ~n := #in~n; 286817#L25 assume !(~n <= 0); 286815#L26 call #t~ret0 := fact(~n - 1);< 286822#factENTRY ~n := #in~n; 286823#L25 assume ~n <= 0;#res := 1; 286814#factFINAL assume true; 286816#factEXIT >#66#return; 286804#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286799#factFINAL assume true; 286801#factEXIT >#68#return; 286851#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 286850#factENTRY ~n := #in~n; 286853#L25 assume ~n <= 0;#res := 1; 286885#factFINAL assume true; 286884#factEXIT >#70#return; 286877#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 286880#factENTRY ~n := #in~n; 286892#L25 assume !(~n <= 0); 286890#L26 call #t~ret0 := fact(~n - 1);< 286891#factENTRY ~n := #in~n; 286907#L25 assume ~n <= 0;#res := 1; 286906#factFINAL assume true; 286889#factEXIT >#66#return; 286886#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286883#factFINAL assume true; 286876#factEXIT >#72#return; 286879#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; 286868#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 286869#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 286862#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 286863#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; 286812#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 286820#factENTRY ~n := #in~n; 286821#L25 assume !(~n <= 0); 286809#L26 call #t~ret0 := fact(~n - 1);< 286813#factENTRY ~n := #in~n; 286818#L25 assume ~n <= 0;#res := 1; 286819#factFINAL assume true; 286808#factEXIT >#66#return; 286810#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286860#factFINAL assume true; 286859#factEXIT >#68#return; 286826#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 286848#factENTRY ~n := #in~n; 286845#L25 assume !(~n <= 0); 286835#L26 call #t~ret0 := fact(~n - 1);< 286839#factENTRY ~n := #in~n; 286846#L25 assume ~n <= 0;#res := 1; 286840#factFINAL assume true; 286834#factEXIT >#66#return; 286832#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286833#factFINAL assume true; 286825#factEXIT >#70#return; 285477#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 285478#factENTRY ~n := #in~n; 286905#L25 assume ~n <= 0;#res := 1; 286904#factFINAL assume true; 286902#factEXIT >#72#return; 286903#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; 286881#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 286882#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 286870#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 286871#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; 287268#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 287271#factENTRY ~n := #in~n; 287270#L25 assume !(~n <= 0); 287267#L26 call #t~ret0 := fact(~n - 1);< 287269#factENTRY ~n := #in~n; 287295#L25 assume !(~n <= 0); 287289#L26 call #t~ret0 := fact(~n - 1);< 287293#factENTRY ~n := #in~n; 287296#L25 assume ~n <= 0;#res := 1; 287294#factFINAL assume true; 287292#factEXIT >#66#return; 287291#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 287290#factFINAL assume true; 287288#factEXIT >#66#return; 287287#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 287286#factFINAL assume true; 287282#factEXIT >#74#return; 287274#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 287277#factENTRY ~n := #in~n; 287272#L25 assume !(~n <= 0); 287256#L26 call #t~ret0 := fact(~n - 1);< 287255#factENTRY ~n := #in~n; 287257#L25 assume ~n <= 0;#res := 1; 287328#factFINAL assume true; 287327#factEXIT >#66#return; 287326#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 287323#factFINAL assume true; 287279#factEXIT >#76#return; 287276#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 287277#factENTRY ~n := #in~n; 287272#L25 assume !(~n <= 0); 287256#L26 call #t~ret0 := fact(~n - 1);< 287255#factENTRY ~n := #in~n; 287257#L25 assume ~n <= 0;#res := 1; 287328#factFINAL assume true; 287327#factEXIT >#66#return; 287326#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 287323#factFINAL assume true; 287279#factEXIT >#78#return; 286766#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; 286765#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 286757#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 286756#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 286755#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 286754#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 286752#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 285519#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; 285520#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 285619#factENTRY ~n := #in~n; 285618#L25 assume !(~n <= 0); 285550#L26 call #t~ret0 := fact(~n - 1);< 285577#factENTRY ~n := #in~n; 285574#L25 assume !(~n <= 0); 285551#L26 call #t~ret0 := fact(~n - 1);< 285572#factENTRY ~n := #in~n; 285575#L25 assume ~n <= 0;#res := 1; 285573#factFINAL assume true; 285570#factEXIT >#66#return; 285571#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285617#factFINAL assume true; 285547#factEXIT >#66#return; 285546#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285545#factFINAL assume true; 285542#factEXIT >#68#return; 285529#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 285530#factENTRY ~n := #in~n; 285992#L25 assume ~n <= 0;#res := 1; 285988#factFINAL assume true; 285974#factEXIT >#70#return; 285969#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 286016#factENTRY ~n := #in~n; 286034#L25 assume !(~n <= 0); 286022#L26 call #t~ret0 := fact(~n - 1);< 286033#factENTRY ~n := #in~n; 286046#L25 assume !(~n <= 0); 286031#L26 call #t~ret0 := fact(~n - 1);< 286043#factENTRY ~n := #in~n; 286051#L25 assume ~n <= 0;#res := 1; 286048#factFINAL assume true; 286040#factEXIT >#66#return; 286039#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286036#factFINAL assume true; 286029#factEXIT >#66#return; 286026#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286020#factFINAL assume true; 286017#factEXIT >#72#return; 286018#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; 286124#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 286122#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 286119#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 286116#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; 285880#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 285892#factENTRY ~n := #in~n; 285922#L25 assume !(~n <= 0); 285813#L26 call #t~ret0 := fact(~n - 1);< 285861#factENTRY ~n := #in~n; 285875#L25 assume !(~n <= 0); 285849#L26 call #t~ret0 := fact(~n - 1);< 285870#factENTRY ~n := #in~n; 285876#L25 assume ~n <= 0;#res := 1; 285872#factFINAL assume true; 285866#factEXIT >#66#return; 285864#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285858#factFINAL assume true; 285848#factEXIT >#66#return; 285852#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285937#factFINAL assume true; 285932#factEXIT >#68#return; 285744#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 285756#factENTRY ~n := #in~n; 285822#L25 assume !(~n <= 0); 285799#L26 call #t~ret0 := fact(~n - 1);< 285821#factENTRY ~n := #in~n; 285909#L25 assume ~n <= 0;#res := 1; 285899#factFINAL assume true; 285895#factEXIT >#66#return; 285893#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285878#factFINAL assume true; 285877#factEXIT >#70#return; 285824#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 286068#factENTRY ~n := #in~n; 286146#L25 assume !(~n <= 0); 285758#L26 call #t~ret0 := fact(~n - 1);< 285907#factENTRY ~n := #in~n; 285909#L25 assume ~n <= 0;#res := 1; 285899#factFINAL assume true; 285895#factEXIT >#66#return; 285897#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286067#factFINAL assume true; 285823#factEXIT >#72#return; 285828#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; 286140#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 286137#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 286133#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 286134#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; 285887#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 285892#factENTRY ~n := #in~n; 285922#L25 assume !(~n <= 0); 285813#L26 call #t~ret0 := fact(~n - 1);< 285861#factENTRY ~n := #in~n; 285875#L25 assume !(~n <= 0); 285849#L26 call #t~ret0 := fact(~n - 1);< 285870#factENTRY ~n := #in~n; 285876#L25 assume ~n <= 0;#res := 1; 285872#factFINAL assume true; 285866#factEXIT >#66#return; 285864#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285858#factFINAL assume true; 285848#factEXIT >#66#return; 285852#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285937#factFINAL assume true; 285932#factEXIT >#68#return; 285734#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 285756#factENTRY ~n := #in~n; 285822#L25 assume !(~n <= 0); 285799#L26 call #t~ret0 := fact(~n - 1);< 285821#factENTRY ~n := #in~n; 285874#L25 assume !(~n <= 0); 285795#L26 call #t~ret0 := fact(~n - 1);< 285869#factENTRY ~n := #in~n; 285876#L25 assume ~n <= 0;#res := 1; 285872#factFINAL assume true; 285866#factEXIT >#66#return; 285864#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285858#factFINAL assume true; 285848#factEXIT >#66#return; 285854#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285939#factFINAL assume true; 285925#factEXIT >#70#return; 285709#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 285728#factENTRY ~n := #in~n; 285757#L25 assume ~n <= 0;#res := 1; 285727#factFINAL assume true; 285707#factEXIT >#72#return; 285719#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; 286107#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 286106#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 286105#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 286103#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; 286102#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 286152#factENTRY ~n := #in~n; 286225#L25 assume !(~n <= 0); 285687#L26 call #t~ret0 := fact(~n - 1);< 286170#factENTRY ~n := #in~n; 286200#L25 assume !(~n <= 0); 285697#L26 call #t~ret0 := fact(~n - 1);< 286223#factENTRY ~n := #in~n; 286200#L25 assume !(~n <= 0); 285697#L26 call #t~ret0 := fact(~n - 1);< 286223#factENTRY ~n := #in~n; 286232#L25 assume ~n <= 0;#res := 1; 286230#factFINAL assume true; 286219#factEXIT >#66#return; 286216#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286213#factFINAL assume true; 286188#factEXIT >#66#return; 286191#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286177#factFINAL assume true; 286180#factEXIT >#66#return; 286165#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286149#factFINAL assume true; 286151#factEXIT >#74#return; 285465#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 286217#factENTRY ~n := #in~n; 286214#L25 assume !(~n <= 0); 286178#L26 call #t~ret0 := fact(~n - 1);< 286201#factENTRY ~n := #in~n; 286202#L25 assume !(~n <= 0); 286190#L26 call #t~ret0 := fact(~n - 1);< 286221#factENTRY ~n := #in~n; 286228#L25 assume !(~n <= 0); 286220#L26 call #t~ret0 := fact(~n - 1);< 286222#factENTRY ~n := #in~n; 286232#L25 assume ~n <= 0;#res := 1; 286230#factFINAL assume true; 286219#factEXIT >#66#return; 286216#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286213#factFINAL assume true; 286188#factEXIT >#66#return; 286191#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286177#factFINAL assume true; 286180#factEXIT >#66#return; 286165#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286149#factFINAL assume true; 286151#factEXIT >#76#return; 285466#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 285608#factENTRY ~n := #in~n; 286550#L25 assume !(~n <= 0); 286547#L26 call #t~ret0 := fact(~n - 1);< 286548#factENTRY ~n := #in~n; 286552#L25 assume ~n <= 0;#res := 1; 286549#factFINAL assume true; 286546#factEXIT >#66#return; 286545#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286541#factFINAL assume true; 285602#factEXIT >#78#return; 285492#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; 285493#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 285503#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 285525#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 285514#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 285515#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 286938#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 285620#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; 285479#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 285480#factENTRY ~n := #in~n; 285578#L25 assume !(~n <= 0); 285552#L26 call #t~ret0 := fact(~n - 1);< 285577#factENTRY ~n := #in~n; 285574#L25 assume !(~n <= 0); 285551#L26 call #t~ret0 := fact(~n - 1);< 285572#factENTRY ~n := #in~n; 285574#L25 assume !(~n <= 0); 285551#L26 call #t~ret0 := fact(~n - 1);< 285572#factENTRY ~n := #in~n; 285574#L25 assume !(~n <= 0); 285551#L26 call #t~ret0 := fact(~n - 1);< 285572#factENTRY ~n := #in~n; 285574#L25 assume !(~n <= 0); 285551#L26 call #t~ret0 := fact(~n - 1);< 285572#factENTRY ~n := #in~n; 285575#L25 assume ~n <= 0;#res := 1; 285573#factFINAL assume true; 285570#factEXIT >#66#return; 285571#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285617#factFINAL assume true; 285547#factEXIT >#66#return; 285553#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285612#factFINAL assume true; 285613#factEXIT >#66#return; 285615#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285614#factFINAL assume true; 285609#factEXIT >#66#return; 285567#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285557#factFINAL assume true; 285563#factEXIT >#66#return; 285611#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285994#factFINAL assume true; 285993#factEXIT >#68#return; 285975#L30-1 [2022-07-22 01:31:34,151 INFO L754 eck$LassoCheckResult]: Loop: 285975#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 285530#factENTRY ~n := #in~n; 285992#L25 assume ~n <= 0;#res := 1; 285988#factFINAL assume true; 285974#factEXIT >#70#return; 285979#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 285991#factENTRY ~n := #in~n; 286156#L25 assume !(~n <= 0); 286003#L26 call #t~ret0 := fact(~n - 1);< 286155#factENTRY ~n := #in~n; 286154#L25 assume !(~n <= 0); 286000#L26 call #t~ret0 := fact(~n - 1);< 286055#factENTRY ~n := #in~n; 286054#L25 assume !(~n <= 0); 286004#L26 call #t~ret0 := fact(~n - 1);< 286053#factENTRY ~n := #in~n; 286050#L25 assume !(~n <= 0); 286001#L26 call #t~ret0 := fact(~n - 1);< 286028#factENTRY ~n := #in~n; 286056#L25 assume !(~n <= 0); 286006#L26 call #t~ret0 := fact(~n - 1);< 286044#factENTRY ~n := #in~n; 286051#L25 assume ~n <= 0;#res := 1; 286048#factFINAL assume true; 286040#factEXIT >#66#return; 286039#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286036#factFINAL assume true; 286029#factEXIT >#66#return; 286032#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286027#factFINAL assume true; 286021#factEXIT >#66#return; 286024#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286236#factFINAL assume true; 286234#factEXIT >#66#return; 286007#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286208#factFINAL assume true; 285999#factEXIT >#66#return; 285998#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285995#factFINAL assume true; 285989#factEXIT >#72#return; 285987#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; 285986#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 285985#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 285984#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 285983#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; 285927#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 285930#factENTRY ~n := #in~n; 286047#L25 assume !(~n <= 0); 285948#L26 call #t~ret0 := fact(~n - 1);< 285954#factENTRY ~n := #in~n; 286099#L25 assume !(~n <= 0); 285788#L26 call #t~ret0 := fact(~n - 1);< 286097#factENTRY ~n := #in~n; 286096#L25 assume !(~n <= 0); 285783#L26 call #t~ret0 := fact(~n - 1);< 285845#factENTRY ~n := #in~n; 286077#L25 assume !(~n <= 0); 285782#L26 call #t~ret0 := fact(~n - 1);< 285836#factENTRY ~n := #in~n; 285874#L25 assume !(~n <= 0); 285795#L26 call #t~ret0 := fact(~n - 1);< 285869#factENTRY ~n := #in~n; 285876#L25 assume ~n <= 0;#res := 1; 285872#factFINAL assume true; 285866#factEXIT >#66#return; 285864#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285858#factFINAL assume true; 285848#factEXIT >#66#return; 285846#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285837#factFINAL assume true; 285812#factEXIT >#66#return; 285811#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285806#factFINAL assume true; 285781#factEXIT >#66#return; 285800#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285963#factFINAL assume true; 285961#factEXIT >#66#return; 285962#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285935#factFINAL assume true; 285934#factEXIT >#68#return; 285751#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 285756#factENTRY ~n := #in~n; 285822#L25 assume !(~n <= 0); 285799#L26 call #t~ret0 := fact(~n - 1);< 285821#factENTRY ~n := #in~n; 285909#L25 assume ~n <= 0;#res := 1; 285899#factFINAL assume true; 285895#factEXIT >#66#return; 285893#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285878#factFINAL assume true; 285877#factEXIT >#70#return; 285765#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 285776#factENTRY ~n := #in~n; 286212#L25 assume !(~n <= 0); 285796#L26 call #t~ret0 := fact(~n - 1);< 285803#factENTRY ~n := #in~n; 286095#L25 assume !(~n <= 0); 285817#L26 call #t~ret0 := fact(~n - 1);< 285908#factENTRY ~n := #in~n; 286093#L25 assume !(~n <= 0); 285850#L26 call #t~ret0 := fact(~n - 1);< 285856#factENTRY ~n := #in~n; 285873#L25 assume !(~n <= 0); 285867#L26 call #t~ret0 := fact(~n - 1);< 285868#factENTRY ~n := #in~n; 285876#L25 assume ~n <= 0;#res := 1; 285872#factFINAL assume true; 285866#factEXIT >#66#return; 285864#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285858#factFINAL assume true; 285848#factEXIT >#66#return; 285846#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285837#factFINAL assume true; 285812#factEXIT >#66#return; 285811#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285806#factFINAL assume true; 285781#factEXIT >#66#return; 285778#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285774#factFINAL assume true; 285759#factEXIT >#72#return; 285771#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; 285944#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 285942#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 285941#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 285940#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; 285928#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 285930#factENTRY ~n := #in~n; 286047#L25 assume !(~n <= 0); 285948#L26 call #t~ret0 := fact(~n - 1);< 285954#factENTRY ~n := #in~n; 286099#L25 assume !(~n <= 0); 285788#L26 call #t~ret0 := fact(~n - 1);< 286097#factENTRY ~n := #in~n; 286096#L25 assume !(~n <= 0); 285783#L26 call #t~ret0 := fact(~n - 1);< 285845#factENTRY ~n := #in~n; 286077#L25 assume !(~n <= 0); 285782#L26 call #t~ret0 := fact(~n - 1);< 285836#factENTRY ~n := #in~n; 285874#L25 assume !(~n <= 0); 285795#L26 call #t~ret0 := fact(~n - 1);< 285869#factENTRY ~n := #in~n; 285876#L25 assume ~n <= 0;#res := 1; 285872#factFINAL assume true; 285866#factEXIT >#66#return; 285864#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285858#factFINAL assume true; 285848#factEXIT >#66#return; 285846#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285837#factFINAL assume true; 285812#factEXIT >#66#return; 285811#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285806#factFINAL assume true; 285781#factEXIT >#66#return; 285800#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285963#factFINAL assume true; 285961#factEXIT >#66#return; 285962#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285935#factFINAL assume true; 285934#factEXIT >#68#return; 285733#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 285756#factENTRY ~n := #in~n; 285822#L25 assume !(~n <= 0); 285799#L26 call #t~ret0 := fact(~n - 1);< 285821#factENTRY ~n := #in~n; 285874#L25 assume !(~n <= 0); 285795#L26 call #t~ret0 := fact(~n - 1);< 285869#factENTRY ~n := #in~n; 285876#L25 assume ~n <= 0;#res := 1; 285872#factFINAL assume true; 285866#factEXIT >#66#return; 285864#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285858#factFINAL assume true; 285848#factEXIT >#66#return; 285854#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285939#factFINAL assume true; 285925#factEXIT >#70#return; 285754#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 285835#factENTRY ~n := #in~n; 286060#L25 assume !(~n <= 0); 285794#L26 call #t~ret0 := fact(~n - 1);< 285842#factENTRY ~n := #in~n; 285863#L25 assume !(~n <= 0); 285815#L26 call #t~ret0 := fact(~n - 1);< 285855#factENTRY ~n := #in~n; 285876#L25 assume ~n <= 0;#res := 1; 285872#factFINAL assume true; 285866#factEXIT >#66#return; 285864#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285858#factFINAL assume true; 285848#factEXIT >#66#return; 285852#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285937#factFINAL assume true; 285932#factEXIT >#72#return; 285827#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; 285958#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 285957#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 285956#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 285955#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; 285683#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 285930#factENTRY ~n := #in~n; 286047#L25 assume !(~n <= 0); 285948#L26 call #t~ret0 := fact(~n - 1);< 285954#factENTRY ~n := #in~n; 286099#L25 assume !(~n <= 0); 285788#L26 call #t~ret0 := fact(~n - 1);< 286097#factENTRY ~n := #in~n; 286096#L25 assume !(~n <= 0); 285783#L26 call #t~ret0 := fact(~n - 1);< 285845#factENTRY ~n := #in~n; 286077#L25 assume !(~n <= 0); 285782#L26 call #t~ret0 := fact(~n - 1);< 285836#factENTRY ~n := #in~n; 285874#L25 assume !(~n <= 0); 285795#L26 call #t~ret0 := fact(~n - 1);< 285869#factENTRY ~n := #in~n; 285874#L25 assume !(~n <= 0); 285795#L26 call #t~ret0 := fact(~n - 1);< 285869#factENTRY ~n := #in~n; 285876#L25 assume ~n <= 0;#res := 1; 285872#factFINAL assume true; 285866#factEXIT >#66#return; 285864#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285858#factFINAL assume true; 285848#factEXIT >#66#return; 285846#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285837#factFINAL assume true; 285812#factEXIT >#66#return; 285811#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285806#factFINAL assume true; 285781#factEXIT >#66#return; 285800#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285963#factFINAL assume true; 285961#factEXIT >#66#return; 285950#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285959#factFINAL assume true; 285946#factEXIT >#66#return; 285945#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285943#factFINAL assume true; 285926#factEXIT >#68#return; 285741#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 285756#factENTRY ~n := #in~n; 285822#L25 assume !(~n <= 0); 285799#L26 call #t~ret0 := fact(~n - 1);< 285821#factENTRY ~n := #in~n; 285874#L25 assume !(~n <= 0); 285795#L26 call #t~ret0 := fact(~n - 1);< 285869#factENTRY ~n := #in~n; 285874#L25 assume !(~n <= 0); 285795#L26 call #t~ret0 := fact(~n - 1);< 285869#factENTRY ~n := #in~n; 285874#L25 assume !(~n <= 0); 285795#L26 call #t~ret0 := fact(~n - 1);< 285869#factENTRY ~n := #in~n; 285874#L25 assume !(~n <= 0); 285795#L26 call #t~ret0 := fact(~n - 1);< 285869#factENTRY ~n := #in~n; 285876#L25 assume ~n <= 0;#res := 1; 285872#factFINAL assume true; 285866#factEXIT >#66#return; 285864#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285858#factFINAL assume true; 285848#factEXIT >#66#return; 285846#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285837#factFINAL assume true; 285812#factEXIT >#66#return; 285811#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285806#factFINAL assume true; 285781#factEXIT >#66#return; 285800#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285963#factFINAL assume true; 285961#factEXIT >#66#return; 285952#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286211#factFINAL assume true; 285729#factEXIT >#70#return; 285711#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 285726#factENTRY ~n := #in~n; 285920#L25 assume ~n <= 0;#res := 1; 285727#factFINAL assume true; 285707#factEXIT >#72#return; 285706#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; 285704#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 285702#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 285700#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 285682#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; 285674#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 285677#factENTRY ~n := #in~n; 286182#L25 assume !(~n <= 0); 285696#L26 call #t~ret0 := fact(~n - 1);< 285699#factENTRY ~n := #in~n; 286238#L25 assume !(~n <= 0); 285692#L26 call #t~ret0 := fact(~n - 1);< 286181#factENTRY ~n := #in~n; 286198#L25 assume !(~n <= 0); 285688#L26 call #t~ret0 := fact(~n - 1);< 286205#factENTRY ~n := #in~n; 286206#L25 assume !(~n <= 0); 285691#L26 call #t~ret0 := fact(~n - 1);< 286193#factENTRY ~n := #in~n; 286200#L25 assume !(~n <= 0); 285697#L26 call #t~ret0 := fact(~n - 1);< 286223#factENTRY ~n := #in~n; 286232#L25 assume ~n <= 0;#res := 1; 286230#factFINAL assume true; 286219#factEXIT >#66#return; 286216#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286213#factFINAL assume true; 286188#factEXIT >#66#return; 286191#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286177#factFINAL assume true; 286180#factEXIT >#66#return; 286185#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286186#factFINAL assume true; 286167#factEXIT >#66#return; 285698#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286401#factFINAL assume true; 285686#factEXIT >#66#return; 285681#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285676#factFINAL assume true; 285672#factEXIT >#74#return; 285668#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 285671#factENTRY ~n := #in~n; 286174#L25 assume !(~n <= 0); 285690#L26 call #t~ret0 := fact(~n - 1);< 286171#factENTRY ~n := #in~n; 286206#L25 assume !(~n <= 0); 285691#L26 call #t~ret0 := fact(~n - 1);< 286193#factENTRY ~n := #in~n; 286200#L25 assume !(~n <= 0); 285697#L26 call #t~ret0 := fact(~n - 1);< 286223#factENTRY ~n := #in~n; 286232#L25 assume ~n <= 0;#res := 1; 286230#factFINAL assume true; 286219#factEXIT >#66#return; 286216#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286213#factFINAL assume true; 286188#factEXIT >#66#return; 286191#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286177#factFINAL assume true; 286180#factEXIT >#66#return; 286165#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286149#factFINAL assume true; 286151#factEXIT >#76#return; 285604#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 285608#factENTRY ~n := #in~n; 286550#L25 assume !(~n <= 0); 286547#L26 call #t~ret0 := fact(~n - 1);< 286548#factENTRY ~n := #in~n; 286552#L25 assume ~n <= 0;#res := 1; 286549#factFINAL assume true; 286546#factEXIT >#66#return; 286545#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 286541#factFINAL assume true; 285602#factEXIT >#78#return; 285607#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; 286957#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 286941#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 286940#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 286937#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 286935#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 286928#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 285592#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; 285566#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 285587#factENTRY ~n := #in~n; 285565#L25 assume !(~n <= 0); 285562#L26 call #t~ret0 := fact(~n - 1);< 285590#factENTRY ~n := #in~n; 285589#L25 assume !(~n <= 0); 285559#L26 call #t~ret0 := fact(~n - 1);< 285564#factENTRY ~n := #in~n; 285593#L25 assume !(~n <= 0); 285561#L26 call #t~ret0 := fact(~n - 1);< 285580#factENTRY ~n := #in~n; 285579#L25 assume !(~n <= 0); 285549#L26 call #t~ret0 := fact(~n - 1);< 285576#factENTRY ~n := #in~n; 285574#L25 assume !(~n <= 0); 285551#L26 call #t~ret0 := fact(~n - 1);< 285572#factENTRY ~n := #in~n; 285575#L25 assume ~n <= 0;#res := 1; 285573#factFINAL assume true; 285570#factEXIT >#66#return; 285571#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285617#factFINAL assume true; 285547#factEXIT >#66#return; 285553#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285612#factFINAL assume true; 285613#factEXIT >#66#return; 285615#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285614#factFINAL assume true; 285609#factEXIT >#66#return; 285567#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285557#factFINAL assume true; 285563#factEXIT >#66#return; 285611#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 285994#factFINAL assume true; 285993#factEXIT >#68#return; 285975#L30-1 [2022-07-22 01:31:34,151 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:31:34,151 INFO L85 PathProgramCache]: Analyzing trace with hash -974957523, now seen corresponding path program 35 times [2022-07-22 01:31:34,151 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:31:34,151 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2012096687] [2022-07-22 01:31:34,151 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:31:34,152 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:31:34,164 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:31:34,164 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1629441202] [2022-07-22 01:31:34,165 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-22 01:31:34,165 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:31:34,165 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:31:34,167 INFO L229 MonitoredProcess]: Starting monitored process 191 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:31:34,168 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (191)] Waiting until timeout for monitored process [2022-07-22 01:31:34,555 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 27 check-sat command(s) [2022-07-22 01:31:34,555 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:31:34,559 INFO L263 TraceCheckSpWp]: Trace formula consists of 929 conjuncts, 15 conjunts are in the unsatisfiable core [2022-07-22 01:31:34,561 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:31:34,836 INFO L134 CoverageAnalysis]: Checked inductivity of 11101 backedges. 4271 proven. 391 refuted. 0 times theorem prover too weak. 6439 trivial. 0 not checked. [2022-07-22 01:31:34,836 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:31:35,984 INFO L134 CoverageAnalysis]: Checked inductivity of 11101 backedges. 191 proven. 576 refuted. 0 times theorem prover too weak. 10334 trivial. 0 not checked. [2022-07-22 01:31:35,984 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:31:35,984 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2012096687] [2022-07-22 01:31:35,984 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:31:35,984 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1629441202] [2022-07-22 01:31:35,984 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1629441202] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:31:35,985 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:31:35,985 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 15] total 21 [2022-07-22 01:31:35,985 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [479078290] [2022-07-22 01:31:35,985 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:31:35,986 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:31:35,986 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:31:35,986 INFO L85 PathProgramCache]: Analyzing trace with hash 1665410501, now seen corresponding path program 33 times [2022-07-22 01:31:35,986 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:31:35,986 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [936031872] [2022-07-22 01:31:35,986 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:31:35,986 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:31:35,995 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:31:35,995 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1143300766] [2022-07-22 01:31:35,995 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 01:31:35,995 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:31:35,995 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:31:36,005 INFO L229 MonitoredProcess]: Starting monitored process 192 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:31:36,028 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (192)] Waiting until timeout for monitored process [2022-07-22 01:31:36,296 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 11 check-sat command(s) [2022-07-22 01:31:36,296 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:31:36,298 INFO L263 TraceCheckSpWp]: Trace formula consists of 354 conjuncts, 31 conjunts are in the unsatisfiable core [2022-07-22 01:31:36,301 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:31:37,187 INFO L134 CoverageAnalysis]: Checked inductivity of 10481 backedges. 2277 proven. 730 refuted. 0 times theorem prover too weak. 7474 trivial. 0 not checked. [2022-07-22 01:31:37,188 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:31:45,053 INFO L134 CoverageAnalysis]: Checked inductivity of 10481 backedges. 2277 proven. 780 refuted. 0 times theorem prover too weak. 7424 trivial. 0 not checked. [2022-07-22 01:31:45,053 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:31:45,053 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [936031872] [2022-07-22 01:31:45,053 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:31:45,053 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1143300766] [2022-07-22 01:31:45,053 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1143300766] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:31:45,053 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:31:45,053 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 29] total 34 [2022-07-22 01:31:45,054 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1365886282] [2022-07-22 01:31:45,054 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:31:45,054 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:31:45,054 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:31:45,054 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 35 interpolants. [2022-07-22 01:31:45,055 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=159, Invalid=1031, Unknown=0, NotChecked=0, Total=1190 [2022-07-22 01:31:45,055 INFO L87 Difference]: Start difference. First operand 2035 states and 3591 transitions. cyclomatic complexity: 1587 Second operand has 35 states, 30 states have (on average 2.933333333333333) internal successors, (88), 34 states have internal predecessors, (88), 20 states have call successors, (31), 1 states have call predecessors, (31), 13 states have return successors, (39), 15 states have call predecessors, (39), 20 states have call successors, (39) [2022-07-22 01:31:49,817 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:31:49,817 INFO L93 Difference]: Finished difference Result 2472 states and 4491 transitions. [2022-07-22 01:31:49,819 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2022-07-22 01:31:49,819 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2472 states and 4491 transitions. [2022-07-22 01:31:49,832 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 79 [2022-07-22 01:31:49,847 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2472 states to 2467 states and 4486 transitions. [2022-07-22 01:31:49,847 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 487 [2022-07-22 01:31:49,848 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 487 [2022-07-22 01:31:49,848 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2467 states and 4486 transitions. [2022-07-22 01:31:49,848 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:31:49,848 INFO L369 hiAutomatonCegarLoop]: Abstraction has 2467 states and 4486 transitions. [2022-07-22 01:31:49,849 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2467 states and 4486 transitions. [2022-07-22 01:31:49,875 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2467 to 2149. [2022-07-22 01:31:49,877 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2149 states, 1313 states have (on average 1.0997715156130998) internal successors, (1444), 1307 states have internal predecessors, (1444), 651 states have call successors, (651), 303 states have call predecessors, (651), 185 states have return successors, (1690), 538 states have call predecessors, (1690), 651 states have call successors, (1690) [2022-07-22 01:31:49,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2149 states to 2149 states and 3785 transitions. [2022-07-22 01:31:49,885 INFO L392 hiAutomatonCegarLoop]: Abstraction has 2149 states and 3785 transitions. [2022-07-22 01:31:49,885 INFO L374 stractBuchiCegarLoop]: Abstraction has 2149 states and 3785 transitions. [2022-07-22 01:31:49,885 INFO L287 stractBuchiCegarLoop]: ======== Iteration 49 ============ [2022-07-22 01:31:49,885 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 2149 states and 3785 transitions. [2022-07-22 01:31:49,891 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 79 [2022-07-22 01:31:49,891 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:31:49,891 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:31:49,893 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [70, 70, 39, 39, 39, 39, 31, 11, 10, 7, 7, 7, 6, 6, 6, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 1, 1, 1, 1] [2022-07-22 01:31:49,893 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [71, 71, 56, 56, 56, 56, 15, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:31:49,893 INFO L752 eck$LassoCheckResult]: Stem: 295212#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 295182#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; 295183#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 295211#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; 295198#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 295199#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 296634#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; 296628#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 296633#factENTRY ~n := #in~n; 296630#L25 assume ~n <= 0;#res := 1; 296627#factFINAL assume true; 296629#factEXIT >#68#return; 296702#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 296723#factENTRY ~n := #in~n; 296726#L25 assume ~n <= 0;#res := 1; 296725#factFINAL assume true; 296722#factEXIT >#70#return; 296719#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 296720#factENTRY ~n := #in~n; 296724#L25 assume ~n <= 0;#res := 1; 296721#factFINAL assume true; 296718#factEXIT >#72#return; 295203#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; 295204#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 296982#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 296981#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 296979#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; 296976#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 296977#factENTRY ~n := #in~n; 297021#L25 assume !(~n <= 0); 297013#L26 call #t~ret0 := fact(~n - 1);< 297014#factENTRY ~n := #in~n; 297019#L25 assume ~n <= 0;#res := 1; 297018#factFINAL assume true; 297012#factEXIT >#66#return; 297010#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 297006#factFINAL assume true; 296975#factEXIT >#74#return; 296972#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 296974#factENTRY ~n := #in~n; 296980#L25 assume ~n <= 0;#res := 1; 296978#factFINAL assume true; 296971#factEXIT >#76#return; 296867#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 296868#factENTRY ~n := #in~n; 296998#L25 assume !(~n <= 0); 296990#L26 call #t~ret0 := fact(~n - 1);< 296992#factENTRY ~n := #in~n; 296997#L25 assume ~n <= 0;#res := 1; 296995#factFINAL assume true; 296988#factEXIT >#66#return; 296991#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 297020#factFINAL assume true; 296866#factEXIT >#78#return; 296862#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; 296853#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 296854#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 296847#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 296848#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; 296751#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 296753#factENTRY ~n := #in~n; 296838#L25 assume !(~n <= 0); 296763#L26 call #t~ret0 := fact(~n - 1);< 296781#factENTRY ~n := #in~n; 296842#L25 assume !(~n <= 0); 296777#L26 call #t~ret0 := fact(~n - 1);< 296789#factENTRY ~n := #in~n; 296793#L25 assume ~n <= 0;#res := 1; 296791#factFINAL assume true; 296787#factEXIT >#66#return; 296786#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 296782#factFINAL assume true; 296772#factEXIT >#66#return; 296771#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 296769#factFINAL assume true; 296765#factEXIT >#74#return; 296532#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 296754#factENTRY ~n := #in~n; 296839#L25 assume ~n <= 0;#res := 1; 296837#factFINAL assume true; 296836#factEXIT >#76#return; 296748#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 296770#factENTRY ~n := #in~n; 296845#L25 assume !(~n <= 0); 296774#L26 call #t~ret0 := fact(~n - 1);< 296785#factENTRY ~n := #in~n; 296842#L25 assume !(~n <= 0); 296777#L26 call #t~ret0 := fact(~n - 1);< 296789#factENTRY ~n := #in~n; 296793#L25 assume ~n <= 0;#res := 1; 296791#factFINAL assume true; 296787#factEXIT >#66#return; 296786#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 296782#factFINAL assume true; 296772#factEXIT >#66#return; 296771#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 296769#factFINAL assume true; 296765#factEXIT >#78#return; 296529#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; 295195#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 295196#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 295236#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 295207#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 295208#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 295225#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 295226#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; 295169#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 295170#factENTRY ~n := #in~n; 296682#L25 assume !(~n <= 0); 296642#L26 call #t~ret0 := fact(~n - 1);< 296648#factENTRY ~n := #in~n; 296649#L25 assume ~n <= 0;#res := 1; 296641#factFINAL assume true; 296643#factEXIT >#66#return; 296631#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 296632#factFINAL assume true; 296624#factEXIT >#68#return; 295230#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 295231#factENTRY ~n := #in~n; 296657#L25 assume ~n <= 0;#res := 1; 296655#factFINAL assume true; 296656#factEXIT >#70#return; 296714#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 296717#factENTRY ~n := #in~n; 296736#L25 assume !(~n <= 0); 296734#L26 call #t~ret0 := fact(~n - 1);< 296735#factENTRY ~n := #in~n; 296738#L25 assume ~n <= 0;#res := 1; 296737#factFINAL assume true; 296733#factEXIT >#66#return; 296732#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 296731#factFINAL assume true; 296713#factEXIT >#72#return; 296711#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; 296708#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 296705#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 296703#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 296650#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; 296638#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 296647#factENTRY ~n := #in~n; 296644#L25 assume !(~n <= 0); 296636#L26 call #t~ret0 := fact(~n - 1);< 296640#factENTRY ~n := #in~n; 296645#L25 assume ~n <= 0;#res := 1; 296646#factFINAL assume true; 296635#factEXIT >#66#return; 296637#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 296681#factFINAL assume true; 296680#factEXIT >#68#return; 296652#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 296674#factENTRY ~n := #in~n; 296671#L25 assume !(~n <= 0); 296663#L26 call #t~ret0 := fact(~n - 1);< 296665#factENTRY ~n := #in~n; 296672#L25 assume ~n <= 0;#res := 1; 296666#factFINAL assume true; 296660#factEXIT >#66#return; 296658#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 296659#factFINAL assume true; 296651#factEXIT >#70#return; 296654#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 295164#factENTRY ~n := #in~n; 296730#L25 assume ~n <= 0;#res := 1; 296729#factFINAL assume true; 296727#factEXIT >#72#return; 296712#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; 296709#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 296710#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 296704#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 296700#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; 296701#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 297060#factENTRY ~n := #in~n; 297069#L25 assume !(~n <= 0); 297067#L26 call #t~ret0 := fact(~n - 1);< 297068#factENTRY ~n := #in~n; 297083#L25 assume !(~n <= 0); 297066#L26 call #t~ret0 := fact(~n - 1);< 297082#factENTRY ~n := #in~n; 297084#L25 assume ~n <= 0;#res := 1; 297106#factFINAL assume true; 297081#factEXIT >#66#return; 297080#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 297079#factFINAL assume true; 297065#factEXIT >#66#return; 297064#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 297062#factFINAL assume true; 297058#factEXIT >#74#return; 297054#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 297027#factENTRY ~n := #in~n; 297101#L25 assume !(~n <= 0); 297099#L26 call #t~ret0 := fact(~n - 1);< 297100#factENTRY ~n := #in~n; 297103#L25 assume ~n <= 0;#res := 1; 297102#factFINAL assume true; 297098#factEXIT >#66#return; 297097#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 297077#factFINAL assume true; 297071#factEXIT >#76#return; 297072#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 297027#factENTRY ~n := #in~n; 297101#L25 assume !(~n <= 0); 297099#L26 call #t~ret0 := fact(~n - 1);< 297100#factENTRY ~n := #in~n; 297103#L25 assume ~n <= 0;#res := 1; 297102#factFINAL assume true; 297098#factEXIT >#66#return; 297097#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 297077#factFINAL assume true; 297071#factEXIT >#78#return; 295257#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; 295809#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 295808#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 295807#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 295806#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 295200#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 295202#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 295692#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; 295264#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 295302#factENTRY ~n := #in~n; 295301#L25 assume !(~n <= 0); 295282#L26 call #t~ret0 := fact(~n - 1);< 295300#factENTRY ~n := #in~n; 295297#L25 assume !(~n <= 0); 295279#L26 call #t~ret0 := fact(~n - 1);< 295295#factENTRY ~n := #in~n; 295298#L25 assume ~n <= 0;#res := 1; 295296#factFINAL assume true; 295293#factEXIT >#66#return; 295294#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295709#factFINAL assume true; 295702#factEXIT >#66#return; 295701#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295697#factFINAL assume true; 295686#factEXIT >#68#return; 295667#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 295229#factENTRY ~n := #in~n; 295687#L25 assume ~n <= 0;#res := 1; 295674#factFINAL assume true; 295664#factEXIT >#70#return; 295656#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 295663#factENTRY ~n := #in~n; 295712#L25 assume !(~n <= 0); 295682#L26 call #t~ret0 := fact(~n - 1);< 295711#factENTRY ~n := #in~n; 295730#L25 assume !(~n <= 0); 295704#L26 call #t~ret0 := fact(~n - 1);< 295717#factENTRY ~n := #in~n; 295721#L25 assume ~n <= 0;#res := 1; 295720#factFINAL assume true; 295715#factEXIT >#66#return; 295714#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295710#factFINAL assume true; 295703#factEXIT >#66#return; 295706#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295777#factFINAL assume true; 295775#factEXIT >#72#return; 295773#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; 295771#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 295769#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 295767#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 295764#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; 295508#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 295613#factENTRY ~n := #in~n; 295612#L25 assume !(~n <= 0); 295535#L26 call #t~ret0 := fact(~n - 1);< 295574#factENTRY ~n := #in~n; 295573#L25 assume !(~n <= 0); 295556#L26 call #t~ret0 := fact(~n - 1);< 295571#factENTRY ~n := #in~n; 295585#L25 assume ~n <= 0;#res := 1; 295579#factFINAL assume true; 295567#factEXIT >#66#return; 295565#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295562#factFINAL assume true; 295554#factEXIT >#66#return; 295558#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295765#factFINAL assume true; 295761#factEXIT >#68#return; 295490#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 295496#factENTRY ~n := #in~n; 295615#L25 assume !(~n <= 0); 295540#L26 call #t~ret0 := fact(~n - 1);< 295564#factENTRY ~n := #in~n; 295643#L25 assume ~n <= 0;#res := 1; 295631#factFINAL assume true; 295627#factEXIT >#66#return; 295626#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295622#factFINAL assume true; 295601#factEXIT >#70#return; 295605#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 295758#factENTRY ~n := #in~n; 295766#L25 assume !(~n <= 0); 295498#L26 call #t~ret0 := fact(~n - 1);< 295640#factENTRY ~n := #in~n; 295643#L25 assume ~n <= 0;#res := 1; 295631#factFINAL assume true; 295627#factEXIT >#66#return; 295629#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295759#factFINAL assume true; 295749#factEXIT >#72#return; 295754#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; 295935#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 295933#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 295931#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 295929#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; 295504#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 295613#factENTRY ~n := #in~n; 295612#L25 assume !(~n <= 0); 295535#L26 call #t~ret0 := fact(~n - 1);< 295574#factENTRY ~n := #in~n; 295573#L25 assume !(~n <= 0); 295556#L26 call #t~ret0 := fact(~n - 1);< 295571#factENTRY ~n := #in~n; 295585#L25 assume ~n <= 0;#res := 1; 295579#factFINAL assume true; 295567#factEXIT >#66#return; 295565#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295562#factFINAL assume true; 295554#factEXIT >#66#return; 295558#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295765#factFINAL assume true; 295761#factEXIT >#68#return; 295485#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 295496#factENTRY ~n := #in~n; 295615#L25 assume !(~n <= 0); 295540#L26 call #t~ret0 := fact(~n - 1);< 295564#factENTRY ~n := #in~n; 295617#L25 assume !(~n <= 0); 295527#L26 call #t~ret0 := fact(~n - 1);< 295570#factENTRY ~n := #in~n; 295585#L25 assume ~n <= 0;#res := 1; 295579#factFINAL assume true; 295567#factEXIT >#66#return; 295565#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295562#factFINAL assume true; 295554#factEXIT >#66#return; 295560#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295763#factFINAL assume true; 295760#factEXIT >#70#return; 295449#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 295464#factENTRY ~n := #in~n; 295497#L25 assume ~n <= 0;#res := 1; 295466#factFINAL assume true; 295444#factEXIT >#72#return; 295460#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; 295928#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 295927#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 295925#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 295641#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; 295380#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 295414#factENTRY ~n := #in~n; 295738#L25 assume !(~n <= 0); 295147#L26 call #t~ret0 := fact(~n - 1);< 295431#factENTRY ~n := #in~n; 295623#L25 assume !(~n <= 0); 295145#L26 call #t~ret0 := fact(~n - 1);< 295598#factENTRY ~n := #in~n; 295623#L25 assume !(~n <= 0); 295145#L26 call #t~ret0 := fact(~n - 1);< 295598#factENTRY ~n := #in~n; 295621#L25 assume ~n <= 0;#res := 1; 295620#factFINAL assume true; 295595#factEXIT >#66#return; 295593#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295586#factFINAL assume true; 295580#factEXIT >#66#return; 295576#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295575#factFINAL assume true; 295427#factEXIT >#66#return; 295421#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295413#factFINAL assume true; 295376#factEXIT >#74#return; 295381#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 295600#factENTRY ~n := #in~n; 295594#L25 assume !(~n <= 0); 295428#L26 call #t~ret0 := fact(~n - 1);< 295587#factENTRY ~n := #in~n; 295625#L25 assume !(~n <= 0); 295582#L26 call #t~ret0 := fact(~n - 1);< 295599#factENTRY ~n := #in~n; 295624#L25 assume !(~n <= 0); 295596#L26 call #t~ret0 := fact(~n - 1);< 295597#factENTRY ~n := #in~n; 295621#L25 assume ~n <= 0;#res := 1; 295620#factFINAL assume true; 295595#factEXIT >#66#return; 295593#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295586#factFINAL assume true; 295580#factEXIT >#66#return; 295576#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295575#factFINAL assume true; 295427#factEXIT >#66#return; 295421#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295413#factFINAL assume true; 295376#factEXIT >#76#return; 295319#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 295374#factENTRY ~n := #in~n; 295566#L25 assume !(~n <= 0); 295425#L26 call #t~ret0 := fact(~n - 1);< 295426#factENTRY ~n := #in~n; 295546#L25 assume ~n <= 0;#res := 1; 295522#factFINAL assume true; 295424#factEXIT >#66#return; 295420#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295412#factFINAL assume true; 295318#factEXIT >#78#return; 295323#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; 296317#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 296315#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 296306#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 296304#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 296303#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 296302#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 295698#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; 295266#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 295676#factENTRY ~n := #in~n; 295713#L25 assume !(~n <= 0); 295273#L26 call #t~ret0 := fact(~n - 1);< 295300#factENTRY ~n := #in~n; 295297#L25 assume !(~n <= 0); 295279#L26 call #t~ret0 := fact(~n - 1);< 295295#factENTRY ~n := #in~n; 295297#L25 assume !(~n <= 0); 295279#L26 call #t~ret0 := fact(~n - 1);< 295295#factENTRY ~n := #in~n; 295297#L25 assume !(~n <= 0); 295279#L26 call #t~ret0 := fact(~n - 1);< 295295#factENTRY ~n := #in~n; 295297#L25 assume !(~n <= 0); 295279#L26 call #t~ret0 := fact(~n - 1);< 295295#factENTRY ~n := #in~n; 295297#L25 assume !(~n <= 0); 295279#L26 call #t~ret0 := fact(~n - 1);< 295295#factENTRY ~n := #in~n; 295298#L25 assume ~n <= 0;#res := 1; 295296#factFINAL assume true; 295293#factEXIT >#66#return; 295294#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295709#factFINAL assume true; 295702#factEXIT >#66#return; 295699#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295693#factFINAL assume true; 295690#factEXIT >#66#return; 295691#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295740#factFINAL assume true; 295735#factEXIT >#66#return; 295736#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295785#factFINAL assume true; 295270#factEXIT >#66#return; 295283#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295287#factFINAL assume true; 295288#factEXIT >#66#return; 295269#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295267#factFINAL assume true; 295268#factEXIT >#68#return; 295666#L30-1 [2022-07-22 01:31:49,894 INFO L754 eck$LassoCheckResult]: Loop: 295666#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 295229#factENTRY ~n := #in~n; 295687#L25 assume ~n <= 0;#res := 1; 295674#factFINAL assume true; 295664#factEXIT >#70#return; 295671#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 295963#factENTRY ~n := #in~n; 295962#L25 assume !(~n <= 0); 295958#L26 call #t~ret0 := fact(~n - 1);< 295961#factENTRY ~n := #in~n; 295960#L25 assume !(~n <= 0); 295695#L26 call #t~ret0 := fact(~n - 1);< 295955#factENTRY ~n := #in~n; 295953#L25 assume !(~n <= 0); 295678#L26 call #t~ret0 := fact(~n - 1);< 295696#factENTRY ~n := #in~n; 295726#L25 assume !(~n <= 0); 295683#L26 call #t~ret0 := fact(~n - 1);< 295708#factENTRY ~n := #in~n; 295722#L25 assume !(~n <= 0); 295681#L26 call #t~ret0 := fact(~n - 1);< 295718#factENTRY ~n := #in~n; 295721#L25 assume ~n <= 0;#res := 1; 295720#factFINAL assume true; 295715#factEXIT >#66#return; 295714#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295710#factFINAL assume true; 295703#factEXIT >#66#return; 295700#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295694#factFINAL assume true; 295677#factEXIT >#66#return; 295684#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 296598#factFINAL assume true; 296597#factEXIT >#66#return; 296301#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 296623#factFINAL assume true; 296300#factEXIT >#66#return; 296298#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 296297#factFINAL assume true; 296293#factEXIT >#72#return; 296292#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; 296291#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 296289#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 296287#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 296285#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; 295795#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 295801#factENTRY ~n := #in~n; 295959#L25 assume !(~n <= 0); 295905#L26 call #t~ret0 := fact(~n - 1);< 295907#factENTRY ~n := #in~n; 295906#L25 assume !(~n <= 0); 295893#L26 call #t~ret0 := fact(~n - 1);< 295897#factENTRY ~n := #in~n; 295903#L25 assume !(~n <= 0); 295843#L26 call #t~ret0 := fact(~n - 1);< 295861#factENTRY ~n := #in~n; 295915#L25 assume !(~n <= 0); 295533#L26 call #t~ret0 := fact(~n - 1);< 295780#factENTRY ~n := #in~n; 295778#L25 assume !(~n <= 0); 295529#L26 call #t~ret0 := fact(~n - 1);< 295552#factENTRY ~n := #in~n; 295617#L25 assume !(~n <= 0); 295527#L26 call #t~ret0 := fact(~n - 1);< 295570#factENTRY ~n := #in~n; 295585#L25 assume ~n <= 0;#res := 1; 295579#factFINAL assume true; 295567#factEXIT >#66#return; 295565#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295562#factFINAL assume true; 295554#factEXIT >#66#return; 295553#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295547#factFINAL assume true; 295523#factEXIT >#66#return; 295543#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295854#factFINAL assume true; 295842#factEXIT >#66#return; 295849#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295900#factFINAL assume true; 295891#factEXIT >#66#return; 295894#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295964#factFINAL assume true; 295956#factEXIT >#66#return; 295954#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295802#factFINAL assume true; 295787#factEXIT >#68#return; 295477#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 295496#factENTRY ~n := #in~n; 295615#L25 assume !(~n <= 0); 295540#L26 call #t~ret0 := fact(~n - 1);< 295564#factENTRY ~n := #in~n; 295643#L25 assume ~n <= 0;#res := 1; 295631#factFINAL assume true; 295627#factEXIT >#66#return; 295626#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295622#factFINAL assume true; 295601#factEXIT >#70#return; 295602#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 295804#factENTRY ~n := #in~n; 295914#L25 assume !(~n <= 0); 295847#L26 call #t~ret0 := fact(~n - 1);< 295861#factENTRY ~n := #in~n; 295915#L25 assume !(~n <= 0); 295533#L26 call #t~ret0 := fact(~n - 1);< 295780#factENTRY ~n := #in~n; 295778#L25 assume !(~n <= 0); 295529#L26 call #t~ret0 := fact(~n - 1);< 295552#factENTRY ~n := #in~n; 295617#L25 assume !(~n <= 0); 295527#L26 call #t~ret0 := fact(~n - 1);< 295570#factENTRY ~n := #in~n; 295617#L25 assume !(~n <= 0); 295527#L26 call #t~ret0 := fact(~n - 1);< 295570#factENTRY ~n := #in~n; 295585#L25 assume ~n <= 0;#res := 1; 295579#factFINAL assume true; 295567#factEXIT >#66#return; 295565#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295562#factFINAL assume true; 295554#factEXIT >#66#return; 295553#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295547#factFINAL assume true; 295523#factEXIT >#66#return; 295543#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295854#factFINAL assume true; 295842#factEXIT >#66#return; 295849#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295900#factFINAL assume true; 295891#factEXIT >#66#return; 295889#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295866#factFINAL assume true; 295863#factEXIT >#72#return; 295800#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; 296135#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 296134#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 296133#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 296132#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; 295794#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 295801#factENTRY ~n := #in~n; 295959#L25 assume !(~n <= 0); 295905#L26 call #t~ret0 := fact(~n - 1);< 295907#factENTRY ~n := #in~n; 295906#L25 assume !(~n <= 0); 295893#L26 call #t~ret0 := fact(~n - 1);< 295897#factENTRY ~n := #in~n; 295903#L25 assume !(~n <= 0); 295843#L26 call #t~ret0 := fact(~n - 1);< 295861#factENTRY ~n := #in~n; 295915#L25 assume !(~n <= 0); 295533#L26 call #t~ret0 := fact(~n - 1);< 295780#factENTRY ~n := #in~n; 295778#L25 assume !(~n <= 0); 295529#L26 call #t~ret0 := fact(~n - 1);< 295552#factENTRY ~n := #in~n; 295617#L25 assume !(~n <= 0); 295527#L26 call #t~ret0 := fact(~n - 1);< 295570#factENTRY ~n := #in~n; 295585#L25 assume ~n <= 0;#res := 1; 295579#factFINAL assume true; 295567#factEXIT >#66#return; 295565#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295562#factFINAL assume true; 295554#factEXIT >#66#return; 295553#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295547#factFINAL assume true; 295523#factEXIT >#66#return; 295543#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295854#factFINAL assume true; 295842#factEXIT >#66#return; 295849#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295900#factFINAL assume true; 295891#factEXIT >#66#return; 295894#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295964#factFINAL assume true; 295956#factEXIT >#66#return; 295954#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295802#factFINAL assume true; 295787#factEXIT >#68#return; 295479#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 295496#factENTRY ~n := #in~n; 295615#L25 assume !(~n <= 0); 295540#L26 call #t~ret0 := fact(~n - 1);< 295564#factENTRY ~n := #in~n; 295617#L25 assume !(~n <= 0); 295527#L26 call #t~ret0 := fact(~n - 1);< 295570#factENTRY ~n := #in~n; 295585#L25 assume ~n <= 0;#res := 1; 295579#factFINAL assume true; 295567#factEXIT >#66#return; 295565#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295562#factFINAL assume true; 295554#factEXIT >#66#return; 295560#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295763#factFINAL assume true; 295760#factEXIT >#70#return; 295492#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 295803#factENTRY ~n := #in~n; 296109#L25 assume !(~n <= 0); 295530#L26 call #t~ret0 := fact(~n - 1);< 295552#factENTRY ~n := #in~n; 295617#L25 assume !(~n <= 0); 295527#L26 call #t~ret0 := fact(~n - 1);< 295570#factENTRY ~n := #in~n; 295585#L25 assume ~n <= 0;#res := 1; 295579#factFINAL assume true; 295567#factEXIT >#66#return; 295565#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295562#factFINAL assume true; 295554#factEXIT >#66#return; 295558#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295765#factFINAL assume true; 295761#factEXIT >#72#return; 295752#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; 296611#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 296609#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 296607#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 295916#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; 295798#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 295801#factENTRY ~n := #in~n; 295959#L25 assume !(~n <= 0); 295905#L26 call #t~ret0 := fact(~n - 1);< 295907#factENTRY ~n := #in~n; 295906#L25 assume !(~n <= 0); 295893#L26 call #t~ret0 := fact(~n - 1);< 295897#factENTRY ~n := #in~n; 295903#L25 assume !(~n <= 0); 295843#L26 call #t~ret0 := fact(~n - 1);< 295861#factENTRY ~n := #in~n; 295915#L25 assume !(~n <= 0); 295533#L26 call #t~ret0 := fact(~n - 1);< 295780#factENTRY ~n := #in~n; 295778#L25 assume !(~n <= 0); 295529#L26 call #t~ret0 := fact(~n - 1);< 295552#factENTRY ~n := #in~n; 295617#L25 assume !(~n <= 0); 295527#L26 call #t~ret0 := fact(~n - 1);< 295570#factENTRY ~n := #in~n; 295585#L25 assume ~n <= 0;#res := 1; 295579#factFINAL assume true; 295567#factEXIT >#66#return; 295565#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295562#factFINAL assume true; 295554#factEXIT >#66#return; 295553#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295547#factFINAL assume true; 295523#factEXIT >#66#return; 295543#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295854#factFINAL assume true; 295842#factEXIT >#66#return; 295849#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295900#factFINAL assume true; 295891#factEXIT >#66#return; 295894#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295964#factFINAL assume true; 295956#factEXIT >#66#return; 295954#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295802#factFINAL assume true; 295787#factEXIT >#68#return; 295470#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 295496#factENTRY ~n := #in~n; 295615#L25 assume !(~n <= 0); 295540#L26 call #t~ret0 := fact(~n - 1);< 295564#factENTRY ~n := #in~n; 295617#L25 assume !(~n <= 0); 295527#L26 call #t~ret0 := fact(~n - 1);< 295570#factENTRY ~n := #in~n; 295617#L25 assume !(~n <= 0); 295527#L26 call #t~ret0 := fact(~n - 1);< 295570#factENTRY ~n := #in~n; 295617#L25 assume !(~n <= 0); 295527#L26 call #t~ret0 := fact(~n - 1);< 295570#factENTRY ~n := #in~n; 295617#L25 assume !(~n <= 0); 295527#L26 call #t~ret0 := fact(~n - 1);< 295570#factENTRY ~n := #in~n; 295585#L25 assume ~n <= 0;#res := 1; 295579#factFINAL assume true; 295567#factEXIT >#66#return; 295565#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295562#factFINAL assume true; 295554#factEXIT >#66#return; 295553#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295547#factFINAL assume true; 295523#factEXIT >#66#return; 295543#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295854#factFINAL assume true; 295842#factEXIT >#66#return; 295849#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295900#factFINAL assume true; 295891#factEXIT >#66#return; 295896#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295786#factFINAL assume true; 295784#factEXIT >#70#return; 295446#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 295520#factENTRY ~n := #in~n; 295654#L25 assume ~n <= 0;#res := 1; 295466#factFINAL assume true; 295444#factEXIT >#72#return; 295457#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; 296619#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 296617#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 296614#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 296599#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; 295825#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 295829#factENTRY ~n := #in~n; 295826#L25 assume !(~n <= 0); 295819#L26 call #t~ret0 := fact(~n - 1);< 295823#factENTRY ~n := #in~n; 295821#L25 assume !(~n <= 0); 295140#L26 call #t~ret0 := fact(~n - 1);< 295817#factENTRY ~n := #in~n; 295815#L25 assume !(~n <= 0); 295141#L26 call #t~ret0 := fact(~n - 1);< 295814#factENTRY ~n := #in~n; 295813#L25 assume !(~n <= 0); 295148#L26 call #t~ret0 := fact(~n - 1);< 295812#factENTRY ~n := #in~n; 295811#L25 assume !(~n <= 0); 295146#L26 call #t~ret0 := fact(~n - 1);< 295443#factENTRY ~n := #in~n; 295623#L25 assume !(~n <= 0); 295145#L26 call #t~ret0 := fact(~n - 1);< 295598#factENTRY ~n := #in~n; 295621#L25 assume ~n <= 0;#res := 1; 295620#factFINAL assume true; 295595#factEXIT >#66#return; 295593#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295586#factFINAL assume true; 295580#factEXIT >#66#return; 295576#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295575#factFINAL assume true; 295427#factEXIT >#66#return; 295430#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295437#factFINAL assume true; 295432#factEXIT >#66#return; 295217#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295165#factFINAL assume true; 295139#factEXIT >#66#return; 295151#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 296622#factFINAL assume true; 296620#factEXIT >#66#return; 296621#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 296615#factFINAL assume true; 296616#factEXIT >#74#return; 295379#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 295416#factENTRY ~n := #in~n; 295440#L25 assume !(~n <= 0); 295150#L26 call #t~ret0 := fact(~n - 1);< 295435#factENTRY ~n := #in~n; 295811#L25 assume !(~n <= 0); 295146#L26 call #t~ret0 := fact(~n - 1);< 295443#factENTRY ~n := #in~n; 295623#L25 assume !(~n <= 0); 295145#L26 call #t~ret0 := fact(~n - 1);< 295598#factENTRY ~n := #in~n; 295623#L25 assume !(~n <= 0); 295145#L26 call #t~ret0 := fact(~n - 1);< 295598#factENTRY ~n := #in~n; 295623#L25 assume !(~n <= 0); 295145#L26 call #t~ret0 := fact(~n - 1);< 295598#factENTRY ~n := #in~n; 295621#L25 assume ~n <= 0;#res := 1; 295620#factFINAL assume true; 295595#factEXIT >#66#return; 295593#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295586#factFINAL assume true; 295580#factEXIT >#66#return; 295576#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295575#factFINAL assume true; 295427#factEXIT >#66#return; 295430#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295437#factFINAL assume true; 295432#factEXIT >#66#return; 295217#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295165#factFINAL assume true; 295139#factEXIT >#66#return; 295152#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 296618#factFINAL assume true; 296613#factEXIT >#76#return; 295321#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 295374#factENTRY ~n := #in~n; 295566#L25 assume !(~n <= 0); 295425#L26 call #t~ret0 := fact(~n - 1);< 295426#factENTRY ~n := #in~n; 295546#L25 assume ~n <= 0;#res := 1; 295522#factFINAL assume true; 295424#factEXIT >#66#return; 295420#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295412#factFINAL assume true; 295318#factEXIT >#78#return; 295184#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; 295185#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 295375#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 295373#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 295346#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 295343#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 295340#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 295213#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; 295214#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 295291#factENTRY ~n := #in~n; 295292#L25 assume !(~n <= 0); 295285#L26 call #t~ret0 := fact(~n - 1);< 295286#factENTRY ~n := #in~n; 295610#L25 assume !(~n <= 0); 295280#L26 call #t~ret0 := fact(~n - 1);< 295289#factENTRY ~n := #in~n; 295334#L25 assume !(~n <= 0); 295275#L26 call #t~ret0 := fact(~n - 1);< 295327#factENTRY ~n := #in~n; 295326#L25 assume !(~n <= 0); 295277#L26 call #t~ret0 := fact(~n - 1);< 295305#factENTRY ~n := #in~n; 295303#L25 assume !(~n <= 0); 295271#L26 call #t~ret0 := fact(~n - 1);< 295299#factENTRY ~n := #in~n; 295297#L25 assume !(~n <= 0); 295279#L26 call #t~ret0 := fact(~n - 1);< 295295#factENTRY ~n := #in~n; 295298#L25 assume ~n <= 0;#res := 1; 295296#factFINAL assume true; 295293#factEXIT >#66#return; 295294#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295709#factFINAL assume true; 295702#factEXIT >#66#return; 295699#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295693#factFINAL assume true; 295690#factEXIT >#66#return; 295691#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295740#factFINAL assume true; 295735#factEXIT >#66#return; 295736#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295785#factFINAL assume true; 295270#factEXIT >#66#return; 295283#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295287#factFINAL assume true; 295288#factEXIT >#66#return; 295269#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 295267#factFINAL assume true; 295268#factEXIT >#68#return; 295666#L30-1 [2022-07-22 01:31:49,894 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:31:49,894 INFO L85 PathProgramCache]: Analyzing trace with hash -8953243, now seen corresponding path program 36 times [2022-07-22 01:31:49,894 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:31:49,894 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [44689518] [2022-07-22 01:31:49,895 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:31:49,895 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:31:49,908 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:31:49,909 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1605451895] [2022-07-22 01:31:49,909 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-22 01:31:49,909 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:31:49,909 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:31:49,912 INFO L229 MonitoredProcess]: Starting monitored process 193 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:31:49,913 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (193)] Waiting until timeout for monitored process [2022-07-22 01:31:50,270 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 19 check-sat command(s) [2022-07-22 01:31:50,270 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:31:50,274 INFO L263 TraceCheckSpWp]: Trace formula consists of 721 conjuncts, 24 conjunts are in the unsatisfiable core [2022-07-22 01:31:50,277 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:31:50,769 INFO L134 CoverageAnalysis]: Checked inductivity of 11453 backedges. 1672 proven. 250 refuted. 0 times theorem prover too weak. 9531 trivial. 0 not checked. [2022-07-22 01:31:50,769 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:31:53,830 INFO L134 CoverageAnalysis]: Checked inductivity of 11453 backedges. 1672 proven. 263 refuted. 0 times theorem prover too weak. 9518 trivial. 0 not checked. [2022-07-22 01:31:53,830 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:31:53,830 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [44689518] [2022-07-22 01:31:53,830 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:31:53,830 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1605451895] [2022-07-22 01:31:53,830 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1605451895] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:31:53,830 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:31:53,831 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 22] total 25 [2022-07-22 01:31:53,831 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [692714486] [2022-07-22 01:31:53,831 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:31:53,831 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:31:53,831 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:31:53,831 INFO L85 PathProgramCache]: Analyzing trace with hash -688047475, now seen corresponding path program 34 times [2022-07-22 01:31:53,832 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:31:53,832 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1147929447] [2022-07-22 01:31:53,832 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:31:53,832 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:31:53,841 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:31:53,841 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [939361919] [2022-07-22 01:31:53,841 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-07-22 01:31:53,841 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:31:53,841 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:31:53,849 INFO L229 MonitoredProcess]: Starting monitored process 194 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:31:53,851 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (194)] Waiting until timeout for monitored process [2022-07-22 01:31:54,235 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-07-22 01:31:54,235 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:31:54,239 INFO L263 TraceCheckSpWp]: Trace formula consists of 935 conjuncts, 34 conjunts are in the unsatisfiable core [2022-07-22 01:31:54,241 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:31:55,119 INFO L134 CoverageAnalysis]: Checked inductivity of 13085 backedges. 7244 proven. 722 refuted. 0 times theorem prover too weak. 5119 trivial. 0 not checked. [2022-07-22 01:31:55,119 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:32:01,659 INFO L134 CoverageAnalysis]: Checked inductivity of 13085 backedges. 638 proven. 2467 refuted. 0 times theorem prover too weak. 9980 trivial. 0 not checked. [2022-07-22 01:32:01,659 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:32:01,659 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1147929447] [2022-07-22 01:32:01,659 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:32:01,660 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [939361919] [2022-07-22 01:32:01,660 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [939361919] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:32:01,660 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:32:01,660 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 25] total 32 [2022-07-22 01:32:01,660 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [35697822] [2022-07-22 01:32:01,660 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:32:01,660 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:32:01,660 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:32:01,661 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2022-07-22 01:32:01,661 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=132, Invalid=860, Unknown=0, NotChecked=0, Total=992 [2022-07-22 01:32:01,662 INFO L87 Difference]: Start difference. First operand 2149 states and 3785 transitions. cyclomatic complexity: 1669 Second operand has 32 states, 26 states have (on average 3.0) internal successors, (78), 30 states have internal predecessors, (78), 20 states have call successors, (38), 2 states have call predecessors, (38), 11 states have return successors, (43), 16 states have call predecessors, (43), 20 states have call successors, (43) [2022-07-22 01:32:10,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:32:10,097 INFO L93 Difference]: Finished difference Result 2562 states and 4502 transitions. [2022-07-22 01:32:10,099 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 50 states. [2022-07-22 01:32:10,099 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2562 states and 4502 transitions. [2022-07-22 01:32:10,112 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 122 [2022-07-22 01:32:10,129 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2562 states to 2558 states and 4497 transitions. [2022-07-22 01:32:10,130 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 468 [2022-07-22 01:32:10,130 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 468 [2022-07-22 01:32:10,130 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2558 states and 4497 transitions. [2022-07-22 01:32:10,130 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:32:10,130 INFO L369 hiAutomatonCegarLoop]: Abstraction has 2558 states and 4497 transitions. [2022-07-22 01:32:10,131 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2558 states and 4497 transitions. [2022-07-22 01:32:10,159 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2558 to 2201. [2022-07-22 01:32:10,161 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2201 states, 1342 states have (on average 1.098360655737705) internal successors, (1474), 1335 states have internal predecessors, (1474), 674 states have call successors, (674), 308 states have call predecessors, (674), 185 states have return successors, (1751), 557 states have call predecessors, (1751), 674 states have call successors, (1751) [2022-07-22 01:32:10,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2201 states to 2201 states and 3899 transitions. [2022-07-22 01:32:10,169 INFO L392 hiAutomatonCegarLoop]: Abstraction has 2201 states and 3899 transitions. [2022-07-22 01:32:10,169 INFO L374 stractBuchiCegarLoop]: Abstraction has 2201 states and 3899 transitions. [2022-07-22 01:32:10,169 INFO L287 stractBuchiCegarLoop]: ======== Iteration 50 ============ [2022-07-22 01:32:10,169 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 2201 states and 3899 transitions. [2022-07-22 01:32:10,174 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 91 [2022-07-22 01:32:10,174 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:32:10,175 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:32:10,177 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [70, 70, 39, 39, 39, 39, 31, 11, 10, 7, 7, 7, 6, 6, 6, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 1, 1, 1, 1] [2022-07-22 01:32:10,177 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [106, 106, 85, 85, 85, 85, 21, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:32:10,178 INFO L752 eck$LassoCheckResult]: Stem: 305428#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 305397#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; 305398#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 305427#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; 305415#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 305416#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 306991#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; 305373#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 305374#factENTRY ~n := #in~n; 306994#L25 assume ~n <= 0;#res := 1; 306993#factFINAL assume true; 306992#factEXIT >#68#return; 305443#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 305444#factENTRY ~n := #in~n; 306882#L25 assume ~n <= 0;#res := 1; 306883#factFINAL assume true; 306967#factEXIT >#70#return; 306964#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 306965#factENTRY ~n := #in~n; 306968#L25 assume ~n <= 0;#res := 1; 306966#factFINAL assume true; 306963#factEXIT >#72#return; 306961#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; 305425#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 305426#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 307267#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 307265#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; 307262#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 307263#factENTRY ~n := #in~n; 307279#L25 assume !(~n <= 0); 307276#L26 call #t~ret0 := fact(~n - 1);< 307277#factENTRY ~n := #in~n; 307281#L25 assume ~n <= 0;#res := 1; 307280#factFINAL assume true; 307275#factEXIT >#66#return; 307273#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 307271#factFINAL assume true; 307261#factEXIT >#74#return; 307232#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 307233#factENTRY ~n := #in~n; 307244#L25 assume ~n <= 0;#res := 1; 307238#factFINAL assume true; 307231#factEXIT >#76#return; 307127#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 307235#factENTRY ~n := #in~n; 307250#L25 assume !(~n <= 0); 307242#L26 call #t~ret0 := fact(~n - 1);< 307243#factENTRY ~n := #in~n; 307254#L25 assume ~n <= 0;#res := 1; 307246#factFINAL assume true; 307240#factEXIT >#66#return; 307239#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 307234#factFINAL assume true; 307126#factEXIT >#78#return; 307116#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; 307124#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 307122#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 307120#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 307119#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; 306858#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 307023#factENTRY ~n := #in~n; 307016#L25 assume !(~n <= 0); 307017#L26 call #t~ret0 := fact(~n - 1);< 307055#factENTRY ~n := #in~n; 307065#L25 assume !(~n <= 0); 307038#L26 call #t~ret0 := fact(~n - 1);< 307048#factENTRY ~n := #in~n; 307052#L25 assume ~n <= 0;#res := 1; 307050#factFINAL assume true; 307046#factEXIT >#66#return; 307045#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 307041#factFINAL assume true; 307031#factEXIT >#66#return; 307030#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 307028#factFINAL assume true; 307022#factEXIT >#74#return; 307005#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 307012#factENTRY ~n := #in~n; 307027#L25 assume ~n <= 0;#res := 1; 307013#factFINAL assume true; 307004#factEXIT >#76#return; 306856#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 307072#factENTRY ~n := #in~n; 307064#L25 assume !(~n <= 0); 307033#L26 call #t~ret0 := fact(~n - 1);< 307044#factENTRY ~n := #in~n; 307065#L25 assume !(~n <= 0); 307038#L26 call #t~ret0 := fact(~n - 1);< 307048#factENTRY ~n := #in~n; 307052#L25 assume ~n <= 0;#res := 1; 307050#factFINAL assume true; 307046#factEXIT >#66#return; 307045#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 307041#factFINAL assume true; 307031#factEXIT >#66#return; 307030#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 307028#factFINAL assume true; 307022#factEXIT >#78#return; 306852#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; 306847#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 305449#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 305450#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 305420#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 305421#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 305437#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 305438#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; 306971#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 306973#factENTRY ~n := #in~n; 307001#L25 assume !(~n <= 0); 306998#L26 call #t~ret0 := fact(~n - 1);< 306999#factENTRY ~n := #in~n; 307002#L25 assume ~n <= 0;#res := 1; 307000#factFINAL assume true; 306997#factEXIT >#66#return; 306996#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306995#factFINAL assume true; 306970#factEXIT >#68#return; 306902#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 306901#factENTRY ~n := #in~n; 306904#L25 assume ~n <= 0;#res := 1; 306960#factFINAL assume true; 306959#factEXIT >#70#return; 306953#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 306956#factENTRY ~n := #in~n; 306977#L25 assume !(~n <= 0); 306975#L26 call #t~ret0 := fact(~n - 1);< 306976#factENTRY ~n := #in~n; 306983#L25 assume ~n <= 0;#res := 1; 306982#factFINAL assume true; 306974#factEXIT >#66#return; 306969#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306958#factFINAL assume true; 306952#factEXIT >#72#return; 306948#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; 306949#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 306925#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 306926#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 306922#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; 306912#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 306913#factENTRY ~n := #in~n; 306920#L25 assume !(~n <= 0); 306917#L26 call #t~ret0 := fact(~n - 1);< 306918#factENTRY ~n := #in~n; 306921#L25 assume ~n <= 0;#res := 1; 306919#factFINAL assume true; 306916#factEXIT >#66#return; 306915#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306914#factFINAL assume true; 306910#factEXIT >#68#return; 306878#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 306899#factENTRY ~n := #in~n; 306896#L25 assume !(~n <= 0); 306886#L26 call #t~ret0 := fact(~n - 1);< 306890#factENTRY ~n := #in~n; 306897#L25 assume ~n <= 0;#res := 1; 306891#factFINAL assume true; 306885#factEXIT >#66#return; 306884#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306881#factFINAL assume true; 306877#factEXIT >#70#return; 306880#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 305370#factENTRY ~n := #in~n; 306981#L25 assume ~n <= 0;#res := 1; 306980#factFINAL assume true; 306978#factEXIT >#72#return; 305423#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; 305424#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 307315#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 306946#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 306947#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; 307305#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 307306#factENTRY ~n := #in~n; 307316#L25 assume !(~n <= 0); 307312#L26 call #t~ret0 := fact(~n - 1);< 307314#factENTRY ~n := #in~n; 307322#L25 assume !(~n <= 0); 307313#L26 call #t~ret0 := fact(~n - 1);< 307320#factENTRY ~n := #in~n; 307323#L25 assume ~n <= 0;#res := 1; 307321#factFINAL assume true; 307319#factEXIT >#66#return; 307318#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 307317#factFINAL assume true; 307311#factEXIT >#66#return; 307310#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 307309#factFINAL assume true; 307304#factEXIT >#74#return; 307285#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 307294#factENTRY ~n := #in~n; 307341#L25 assume !(~n <= 0); 307339#L26 call #t~ret0 := fact(~n - 1);< 307340#factENTRY ~n := #in~n; 307324#L25 assume ~n <= 0;#res := 1; 307345#factFINAL assume true; 307338#factEXIT >#66#return; 307302#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 307303#factFINAL assume true; 307282#factEXIT >#76#return; 307283#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 307294#factENTRY ~n := #in~n; 307341#L25 assume !(~n <= 0); 307339#L26 call #t~ret0 := fact(~n - 1);< 307340#factENTRY ~n := #in~n; 307324#L25 assume ~n <= 0;#res := 1; 307345#factFINAL assume true; 307338#factEXIT >#66#return; 307302#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 307303#factFINAL assume true; 307282#factEXIT >#78#return; 305485#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; 305486#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 305455#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 305454#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 305422#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 305417#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 305419#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 306102#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; 305457#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 305521#factENTRY ~n := #in~n; 306112#L25 assume !(~n <= 0); 305468#L26 call #t~ret0 := fact(~n - 1);< 305512#factENTRY ~n := #in~n; 305509#L25 assume !(~n <= 0); 305466#L26 call #t~ret0 := fact(~n - 1);< 305507#factENTRY ~n := #in~n; 305510#L25 assume ~n <= 0;#res := 1; 305508#factFINAL assume true; 305505#factEXIT >#66#return; 305506#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306111#factFINAL assume true; 306107#factEXIT >#66#return; 306108#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306089#factFINAL assume true; 306088#factEXIT >#68#return; 306020#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 305442#factENTRY ~n := #in~n; 306203#L25 assume ~n <= 0;#res := 1; 306202#factFINAL assume true; 306018#factEXIT >#70#return; 306009#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 306012#factENTRY ~n := #in~n; 306138#L25 assume !(~n <= 0); 306116#L26 call #t~ret0 := fact(~n - 1);< 306137#factENTRY ~n := #in~n; 306146#L25 assume !(~n <= 0); 306131#L26 call #t~ret0 := fact(~n - 1);< 306143#factENTRY ~n := #in~n; 306155#L25 assume ~n <= 0;#res := 1; 306154#factFINAL assume true; 306140#factEXIT >#66#return; 306139#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306136#factFINAL assume true; 306130#factEXIT >#66#return; 306133#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306016#factFINAL assume true; 306008#factEXIT >#72#return; 306011#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; 306836#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 306835#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 306834#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 306833#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; 305772#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 305943#factENTRY ~n := #in~n; 306004#L25 assume !(~n <= 0); 305804#L26 call #t~ret0 := fact(~n - 1);< 305847#factENTRY ~n := #in~n; 305864#L25 assume !(~n <= 0); 305843#L26 call #t~ret0 := fact(~n - 1);< 305863#factENTRY ~n := #in~n; 305878#L25 assume ~n <= 0;#res := 1; 305875#factFINAL assume true; 305859#factEXIT >#66#return; 305858#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305853#factFINAL assume true; 305839#factEXIT >#66#return; 305844#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305942#factFINAL assume true; 305764#factEXIT >#68#return; 305686#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 305703#factENTRY ~n := #in~n; 305821#L25 assume !(~n <= 0); 305811#L26 call #t~ret0 := fact(~n - 1);< 305819#factENTRY ~n := #in~n; 306035#L25 assume ~n <= 0;#res := 1; 305964#factFINAL assume true; 305957#factEXIT >#66#return; 305956#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305929#factFINAL assume true; 305924#factEXIT >#70#return; 305928#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 305944#factENTRY ~n := #in~n; 306068#L25 assume !(~n <= 0); 305959#L26 call #t~ret0 := fact(~n - 1);< 305973#factENTRY ~n := #in~n; 306035#L25 assume ~n <= 0;#res := 1; 305964#factFINAL assume true; 305957#factEXIT >#66#return; 305961#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306053#factFINAL assume true; 306043#factEXIT >#72#return; 306046#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; 306830#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 306828#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 306805#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 306804#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; 305770#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 305943#factENTRY ~n := #in~n; 306004#L25 assume !(~n <= 0); 305804#L26 call #t~ret0 := fact(~n - 1);< 305847#factENTRY ~n := #in~n; 305864#L25 assume !(~n <= 0); 305843#L26 call #t~ret0 := fact(~n - 1);< 305863#factENTRY ~n := #in~n; 305878#L25 assume ~n <= 0;#res := 1; 305875#factFINAL assume true; 305859#factEXIT >#66#return; 305858#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305853#factFINAL assume true; 305839#factEXIT >#66#return; 305844#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305942#factFINAL assume true; 305764#factEXIT >#68#return; 305684#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 305703#factENTRY ~n := #in~n; 305821#L25 assume !(~n <= 0); 305811#L26 call #t~ret0 := fact(~n - 1);< 305819#factENTRY ~n := #in~n; 305906#L25 assume !(~n <= 0); 305813#L26 call #t~ret0 := fact(~n - 1);< 305905#factENTRY ~n := #in~n; 305878#L25 assume ~n <= 0;#res := 1; 305875#factFINAL assume true; 305859#factEXIT >#66#return; 305858#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305853#factFINAL assume true; 305839#factEXIT >#66#return; 305845#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306034#factFINAL assume true; 305947#factEXIT >#70#return; 305649#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 305664#factENTRY ~n := #in~n; 306067#L25 assume ~n <= 0;#res := 1; 305663#factFINAL assume true; 305641#factEXIT >#72#return; 305657#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; 306221#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 306222#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 305940#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 305941#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; 305748#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 305851#factENTRY ~n := #in~n; 305850#L25 assume !(~n <= 0); 305386#L26 call #t~ret0 := fact(~n - 1);< 305750#factENTRY ~n := #in~n; 305822#L25 assume !(~n <= 0); 305376#L26 call #t~ret0 := fact(~n - 1);< 305789#factENTRY ~n := #in~n; 305822#L25 assume !(~n <= 0); 305376#L26 call #t~ret0 := fact(~n - 1);< 305789#factENTRY ~n := #in~n; 305820#L25 assume ~n <= 0;#res := 1; 305794#factFINAL assume true; 305787#factEXIT >#66#return; 305784#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305779#factFINAL assume true; 305758#factEXIT >#66#return; 305756#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305747#factFINAL assume true; 305739#factEXIT >#66#return; 305742#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305879#factFINAL assume true; 305865#factEXIT >#74#return; 305780#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 305792#factENTRY ~n := #in~n; 305785#L25 assume !(~n <= 0); 305740#L26 call #t~ret0 := fact(~n - 1);< 305781#factENTRY ~n := #in~n; 305856#L25 assume !(~n <= 0); 305759#L26 call #t~ret0 := fact(~n - 1);< 305790#factENTRY ~n := #in~n; 305857#L25 assume !(~n <= 0); 305788#L26 call #t~ret0 := fact(~n - 1);< 305791#factENTRY ~n := #in~n; 305820#L25 assume ~n <= 0;#res := 1; 305794#factFINAL assume true; 305787#factEXIT >#66#return; 305784#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305779#factFINAL assume true; 305758#factEXIT >#66#return; 305756#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305747#factFINAL assume true; 305739#factEXIT >#66#return; 305742#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305879#factFINAL assume true; 305865#factEXIT >#76#return; 305551#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 306307#factENTRY ~n := #in~n; 306317#L25 assume !(~n <= 0); 306315#L26 call #t~ret0 := fact(~n - 1);< 306316#factENTRY ~n := #in~n; 306319#L25 assume ~n <= 0;#res := 1; 306318#factFINAL assume true; 306314#factEXIT >#66#return; 306313#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306310#factFINAL assume true; 305550#factEXIT >#78#return; 305399#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; 305400#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 305413#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 306821#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 306818#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 306817#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 306816#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 305429#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; 305430#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 305515#factENTRY ~n := #in~n; 305513#L25 assume !(~n <= 0); 305470#L26 call #t~ret0 := fact(~n - 1);< 305512#factENTRY ~n := #in~n; 305509#L25 assume !(~n <= 0); 305466#L26 call #t~ret0 := fact(~n - 1);< 305507#factENTRY ~n := #in~n; 305509#L25 assume !(~n <= 0); 305466#L26 call #t~ret0 := fact(~n - 1);< 305507#factENTRY ~n := #in~n; 305509#L25 assume !(~n <= 0); 305466#L26 call #t~ret0 := fact(~n - 1);< 305507#factENTRY ~n := #in~n; 305509#L25 assume !(~n <= 0); 305466#L26 call #t~ret0 := fact(~n - 1);< 305507#factENTRY ~n := #in~n; 305509#L25 assume !(~n <= 0); 305466#L26 call #t~ret0 := fact(~n - 1);< 305507#factENTRY ~n := #in~n; 305510#L25 assume ~n <= 0;#res := 1; 305508#factFINAL assume true; 305505#factEXIT >#66#return; 305506#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306111#factFINAL assume true; 306107#factEXIT >#66#return; 306106#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306099#factFINAL assume true; 306097#factEXIT >#66#return; 306098#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306105#factFINAL assume true; 306104#factEXIT >#66#return; 306103#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306101#factFINAL assume true; 306096#factEXIT >#66#return; 305476#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305482#factFINAL assume true; 305462#factEXIT >#66#return; 305477#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306148#factFINAL assume true; 306147#factEXIT >#68#return; 306021#L30-1 [2022-07-22 01:32:10,178 INFO L754 eck$LassoCheckResult]: Loop: 306021#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 305442#factENTRY ~n := #in~n; 306203#L25 assume ~n <= 0;#res := 1; 306202#factFINAL assume true; 306018#factEXIT >#70#return; 306024#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 306029#factENTRY ~n := #in~n; 306175#L25 assume !(~n <= 0); 306170#L26 call #t~ret0 := fact(~n - 1);< 306172#factENTRY ~n := #in~n; 306171#L25 assume !(~n <= 0); 306164#L26 call #t~ret0 := fact(~n - 1);< 306169#factENTRY ~n := #in~n; 306165#L25 assume !(~n <= 0); 306120#L26 call #t~ret0 := fact(~n - 1);< 306163#factENTRY ~n := #in~n; 306158#L25 assume !(~n <= 0); 306115#L26 call #t~ret0 := fact(~n - 1);< 306126#factENTRY ~n := #in~n; 306145#L25 assume !(~n <= 0); 306118#L26 call #t~ret0 := fact(~n - 1);< 306144#factENTRY ~n := #in~n; 306155#L25 assume ~n <= 0;#res := 1; 306154#factFINAL assume true; 306140#factEXIT >#66#return; 306139#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306136#factFINAL assume true; 306130#factEXIT >#66#return; 306128#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306124#factFINAL assume true; 306114#factEXIT >#66#return; 306121#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306211#factFINAL assume true; 306208#factEXIT >#66#return; 306209#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306862#factFINAL assume true; 306214#factEXIT >#66#return; 306190#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306183#factFINAL assume true; 306027#factEXIT >#72#return; 306028#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; 306070#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 306069#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 306066#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 306065#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; 305976#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 305980#factENTRY ~n := #in~n; 306215#L25 assume !(~n <= 0); 306058#L26 call #t~ret0 := fact(~n - 1);< 306064#factENTRY ~n := #in~n; 306201#L25 assume !(~n <= 0); 305903#L26 call #t~ret0 := fact(~n - 1);< 306074#factENTRY ~n := #in~n; 306869#L25 assume !(~n <= 0); 305886#L26 call #t~ret0 := fact(~n - 1);< 305895#factENTRY ~n := #in~n; 306872#L25 assume !(~n <= 0); 305799#L26 call #t~ret0 := fact(~n - 1);< 305902#factENTRY ~n := #in~n; 306871#L25 assume !(~n <= 0); 305801#L26 call #t~ret0 := fact(~n - 1);< 305836#factENTRY ~n := #in~n; 305906#L25 assume !(~n <= 0); 305813#L26 call #t~ret0 := fact(~n - 1);< 305905#factENTRY ~n := #in~n; 305878#L25 assume ~n <= 0;#res := 1; 305875#factFINAL assume true; 305859#factEXIT >#66#return; 305858#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305853#factFINAL assume true; 305839#factEXIT >#66#return; 305838#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305831#factFINAL assume true; 305795#factEXIT >#66#return; 305817#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305898#factFINAL assume true; 305885#factEXIT >#66#return; 305893#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306150#factFINAL assume true; 306072#factEXIT >#66#return; 306062#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306179#factFINAL assume true; 306057#factEXIT >#66#return; 306056#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306055#factFINAL assume true; 305975#factEXIT >#68#return; 305925#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 305930#factENTRY ~n := #in~n; 305963#L25 assume !(~n <= 0); 305840#L26 call #t~ret0 := fact(~n - 1);< 305962#factENTRY ~n := #in~n; 306035#L25 assume ~n <= 0;#res := 1; 305964#factFINAL assume true; 305957#factEXIT >#66#return; 305956#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305929#factFINAL assume true; 305924#factEXIT >#70#return; 305714#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 305883#factENTRY ~n := #in~n; 306875#L25 assume !(~n <= 0); 305887#L26 call #t~ret0 := fact(~n - 1);< 305895#factENTRY ~n := #in~n; 306872#L25 assume !(~n <= 0); 305799#L26 call #t~ret0 := fact(~n - 1);< 305902#factENTRY ~n := #in~n; 306871#L25 assume !(~n <= 0); 305801#L26 call #t~ret0 := fact(~n - 1);< 305836#factENTRY ~n := #in~n; 305906#L25 assume !(~n <= 0); 305813#L26 call #t~ret0 := fact(~n - 1);< 305905#factENTRY ~n := #in~n; 305906#L25 assume !(~n <= 0); 305813#L26 call #t~ret0 := fact(~n - 1);< 305905#factENTRY ~n := #in~n; 305906#L25 assume !(~n <= 0); 305813#L26 call #t~ret0 := fact(~n - 1);< 305905#factENTRY ~n := #in~n; 305878#L25 assume ~n <= 0;#res := 1; 305875#factFINAL assume true; 305859#factEXIT >#66#return; 305858#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305853#factFINAL assume true; 305839#factEXIT >#66#return; 305838#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305831#factFINAL assume true; 305795#factEXIT >#66#return; 305817#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305898#factFINAL assume true; 305885#factEXIT >#66#return; 305893#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306150#factFINAL assume true; 306072#factEXIT >#66#return; 306062#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306179#factFINAL assume true; 306057#factEXIT >#66#return; 306056#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306055#factFINAL assume true; 305975#factEXIT >#72#return; 305728#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; 306809#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 306808#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 306807#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 306001#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; 305978#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 305980#factENTRY ~n := #in~n; 306215#L25 assume !(~n <= 0); 306058#L26 call #t~ret0 := fact(~n - 1);< 306064#factENTRY ~n := #in~n; 306201#L25 assume !(~n <= 0); 305903#L26 call #t~ret0 := fact(~n - 1);< 306074#factENTRY ~n := #in~n; 306869#L25 assume !(~n <= 0); 305886#L26 call #t~ret0 := fact(~n - 1);< 305895#factENTRY ~n := #in~n; 306872#L25 assume !(~n <= 0); 305799#L26 call #t~ret0 := fact(~n - 1);< 305902#factENTRY ~n := #in~n; 306871#L25 assume !(~n <= 0); 305801#L26 call #t~ret0 := fact(~n - 1);< 305836#factENTRY ~n := #in~n; 305906#L25 assume !(~n <= 0); 305813#L26 call #t~ret0 := fact(~n - 1);< 305905#factENTRY ~n := #in~n; 305878#L25 assume ~n <= 0;#res := 1; 305875#factFINAL assume true; 305859#factEXIT >#66#return; 305858#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305853#factFINAL assume true; 305839#factEXIT >#66#return; 305838#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305831#factFINAL assume true; 305795#factEXIT >#66#return; 305817#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305898#factFINAL assume true; 305885#factEXIT >#66#return; 305893#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306150#factFINAL assume true; 306072#factEXIT >#66#return; 306062#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306179#factFINAL assume true; 306057#factEXIT >#66#return; 306056#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306055#factFINAL assume true; 305975#factEXIT >#68#return; 305926#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 305930#factENTRY ~n := #in~n; 305963#L25 assume !(~n <= 0); 305840#L26 call #t~ret0 := fact(~n - 1);< 305962#factENTRY ~n := #in~n; 306220#L25 assume !(~n <= 0); 305860#L26 call #t~ret0 := fact(~n - 1);< 305862#factENTRY ~n := #in~n; 305878#L25 assume ~n <= 0;#res := 1; 305875#factFINAL assume true; 305859#factEXIT >#66#return; 305858#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305853#factFINAL assume true; 305839#factEXIT >#66#return; 305845#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306034#factFINAL assume true; 305947#factEXIT >#70#return; 305716#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 305883#factENTRY ~n := #in~n; 306875#L25 assume !(~n <= 0); 305887#L26 call #t~ret0 := fact(~n - 1);< 305895#factENTRY ~n := #in~n; 306872#L25 assume !(~n <= 0); 305799#L26 call #t~ret0 := fact(~n - 1);< 305902#factENTRY ~n := #in~n; 306871#L25 assume !(~n <= 0); 305801#L26 call #t~ret0 := fact(~n - 1);< 305836#factENTRY ~n := #in~n; 305906#L25 assume !(~n <= 0); 305813#L26 call #t~ret0 := fact(~n - 1);< 305905#factENTRY ~n := #in~n; 305906#L25 assume !(~n <= 0); 305813#L26 call #t~ret0 := fact(~n - 1);< 305905#factENTRY ~n := #in~n; 305906#L25 assume !(~n <= 0); 305813#L26 call #t~ret0 := fact(~n - 1);< 305905#factENTRY ~n := #in~n; 305878#L25 assume ~n <= 0;#res := 1; 305875#factFINAL assume true; 305859#factEXIT >#66#return; 305858#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305853#factFINAL assume true; 305839#factEXIT >#66#return; 305838#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305831#factFINAL assume true; 305795#factEXIT >#66#return; 305817#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305898#factFINAL assume true; 305885#factEXIT >#66#return; 305893#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306150#factFINAL assume true; 306072#factEXIT >#66#return; 306062#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306179#factFINAL assume true; 306057#factEXIT >#66#return; 306056#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306055#factFINAL assume true; 305975#factEXIT >#72#return; 305724#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; 306876#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 306864#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 306863#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 306213#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; 305977#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 305980#factENTRY ~n := #in~n; 306215#L25 assume !(~n <= 0); 306058#L26 call #t~ret0 := fact(~n - 1);< 306064#factENTRY ~n := #in~n; 306201#L25 assume !(~n <= 0); 305903#L26 call #t~ret0 := fact(~n - 1);< 306074#factENTRY ~n := #in~n; 306869#L25 assume !(~n <= 0); 305886#L26 call #t~ret0 := fact(~n - 1);< 305895#factENTRY ~n := #in~n; 306872#L25 assume !(~n <= 0); 305799#L26 call #t~ret0 := fact(~n - 1);< 305902#factENTRY ~n := #in~n; 306871#L25 assume !(~n <= 0); 305801#L26 call #t~ret0 := fact(~n - 1);< 305836#factENTRY ~n := #in~n; 305906#L25 assume !(~n <= 0); 305813#L26 call #t~ret0 := fact(~n - 1);< 305905#factENTRY ~n := #in~n; 305878#L25 assume ~n <= 0;#res := 1; 305875#factFINAL assume true; 305859#factEXIT >#66#return; 305858#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305853#factFINAL assume true; 305839#factEXIT >#66#return; 305838#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305831#factFINAL assume true; 305795#factEXIT >#66#return; 305817#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305898#factFINAL assume true; 305885#factEXIT >#66#return; 305893#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306150#factFINAL assume true; 306072#factEXIT >#66#return; 306062#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306179#factFINAL assume true; 306057#factEXIT >#66#return; 306056#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306055#factFINAL assume true; 305975#factEXIT >#68#return; 305671#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 305703#factENTRY ~n := #in~n; 305821#L25 assume !(~n <= 0); 305811#L26 call #t~ret0 := fact(~n - 1);< 305819#factENTRY ~n := #in~n; 305906#L25 assume !(~n <= 0); 305813#L26 call #t~ret0 := fact(~n - 1);< 305905#factENTRY ~n := #in~n; 305906#L25 assume !(~n <= 0); 305813#L26 call #t~ret0 := fact(~n - 1);< 305905#factENTRY ~n := #in~n; 305878#L25 assume ~n <= 0;#res := 1; 305875#factFINAL assume true; 305859#factEXIT >#66#return; 305858#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305853#factFINAL assume true; 305839#factEXIT >#66#return; 305838#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305831#factFINAL assume true; 305795#factEXIT >#66#return; 305793#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305786#factFINAL assume true; 305783#factEXIT >#70#return; 305698#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 305984#factENTRY ~n := #in~n; 306225#L25 assume !(~n <= 0); 305810#L26 call #t~ret0 := fact(~n - 1);< 305902#factENTRY ~n := #in~n; 306871#L25 assume !(~n <= 0); 305801#L26 call #t~ret0 := fact(~n - 1);< 305836#factENTRY ~n := #in~n; 305906#L25 assume !(~n <= 0); 305813#L26 call #t~ret0 := fact(~n - 1);< 305905#factENTRY ~n := #in~n; 305878#L25 assume ~n <= 0;#res := 1; 305875#factFINAL assume true; 305859#factEXIT >#66#return; 305858#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305853#factFINAL assume true; 305839#factEXIT >#66#return; 305838#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305831#factFINAL assume true; 305795#factEXIT >#66#return; 305818#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305876#factFINAL assume true; 305866#factEXIT >#72#return; 305869#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; 306177#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 306176#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 306174#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 306173#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; 305979#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 305980#factENTRY ~n := #in~n; 306215#L25 assume !(~n <= 0); 306058#L26 call #t~ret0 := fact(~n - 1);< 306064#factENTRY ~n := #in~n; 306201#L25 assume !(~n <= 0); 305903#L26 call #t~ret0 := fact(~n - 1);< 306074#factENTRY ~n := #in~n; 306869#L25 assume !(~n <= 0); 305886#L26 call #t~ret0 := fact(~n - 1);< 305895#factENTRY ~n := #in~n; 306872#L25 assume !(~n <= 0); 305799#L26 call #t~ret0 := fact(~n - 1);< 305902#factENTRY ~n := #in~n; 306871#L25 assume !(~n <= 0); 305801#L26 call #t~ret0 := fact(~n - 1);< 305836#factENTRY ~n := #in~n; 305906#L25 assume !(~n <= 0); 305813#L26 call #t~ret0 := fact(~n - 1);< 305905#factENTRY ~n := #in~n; 305878#L25 assume ~n <= 0;#res := 1; 305875#factFINAL assume true; 305859#factEXIT >#66#return; 305858#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305853#factFINAL assume true; 305839#factEXIT >#66#return; 305838#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305831#factFINAL assume true; 305795#factEXIT >#66#return; 305817#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305898#factFINAL assume true; 305885#factEXIT >#66#return; 305893#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306150#factFINAL assume true; 306072#factEXIT >#66#return; 306062#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306179#factFINAL assume true; 306057#factEXIT >#66#return; 306056#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306055#factFINAL assume true; 305975#factEXIT >#68#return; 305675#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 305703#factENTRY ~n := #in~n; 305821#L25 assume !(~n <= 0); 305811#L26 call #t~ret0 := fact(~n - 1);< 305819#factENTRY ~n := #in~n; 305906#L25 assume !(~n <= 0); 305813#L26 call #t~ret0 := fact(~n - 1);< 305905#factENTRY ~n := #in~n; 305906#L25 assume !(~n <= 0); 305813#L26 call #t~ret0 := fact(~n - 1);< 305905#factENTRY ~n := #in~n; 305878#L25 assume ~n <= 0;#res := 1; 305875#factFINAL assume true; 305859#factEXIT >#66#return; 305858#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305853#factFINAL assume true; 305839#factEXIT >#66#return; 305838#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305831#factFINAL assume true; 305795#factEXIT >#66#return; 305793#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305786#factFINAL assume true; 305783#factEXIT >#70#return; 305699#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 305983#factENTRY ~n := #in~n; 306135#L25 assume !(~n <= 0); 305808#L26 call #t~ret0 := fact(~n - 1);< 305836#factENTRY ~n := #in~n; 305906#L25 assume !(~n <= 0); 305813#L26 call #t~ret0 := fact(~n - 1);< 305905#factENTRY ~n := #in~n; 305878#L25 assume ~n <= 0;#res := 1; 305875#factFINAL assume true; 305859#factEXIT >#66#return; 305858#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305853#factFINAL assume true; 305839#factEXIT >#66#return; 305844#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305942#factFINAL assume true; 305764#factEXIT >#72#return; 305775#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; 306162#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 306161#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 306160#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 306159#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; 305624#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 305980#factENTRY ~n := #in~n; 306215#L25 assume !(~n <= 0); 306058#L26 call #t~ret0 := fact(~n - 1);< 306064#factENTRY ~n := #in~n; 306201#L25 assume !(~n <= 0); 305903#L26 call #t~ret0 := fact(~n - 1);< 306074#factENTRY ~n := #in~n; 306869#L25 assume !(~n <= 0); 305886#L26 call #t~ret0 := fact(~n - 1);< 305895#factENTRY ~n := #in~n; 306872#L25 assume !(~n <= 0); 305799#L26 call #t~ret0 := fact(~n - 1);< 305902#factENTRY ~n := #in~n; 306871#L25 assume !(~n <= 0); 305801#L26 call #t~ret0 := fact(~n - 1);< 305836#factENTRY ~n := #in~n; 305906#L25 assume !(~n <= 0); 305813#L26 call #t~ret0 := fact(~n - 1);< 305905#factENTRY ~n := #in~n; 305878#L25 assume ~n <= 0;#res := 1; 305875#factFINAL assume true; 305859#factEXIT >#66#return; 305858#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305853#factFINAL assume true; 305839#factEXIT >#66#return; 305838#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305831#factFINAL assume true; 305795#factEXIT >#66#return; 305817#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305898#factFINAL assume true; 305885#factEXIT >#66#return; 305893#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306150#factFINAL assume true; 306072#factEXIT >#66#return; 306062#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306179#factFINAL assume true; 306057#factEXIT >#66#return; 306056#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306055#factFINAL assume true; 305975#factEXIT >#68#return; 305685#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 305703#factENTRY ~n := #in~n; 305821#L25 assume !(~n <= 0); 305811#L26 call #t~ret0 := fact(~n - 1);< 305819#factENTRY ~n := #in~n; 305906#L25 assume !(~n <= 0); 305813#L26 call #t~ret0 := fact(~n - 1);< 305905#factENTRY ~n := #in~n; 305906#L25 assume !(~n <= 0); 305813#L26 call #t~ret0 := fact(~n - 1);< 305905#factENTRY ~n := #in~n; 305906#L25 assume !(~n <= 0); 305813#L26 call #t~ret0 := fact(~n - 1);< 305905#factENTRY ~n := #in~n; 305906#L25 assume !(~n <= 0); 305813#L26 call #t~ret0 := fact(~n - 1);< 305905#factENTRY ~n := #in~n; 305878#L25 assume ~n <= 0;#res := 1; 305875#factFINAL assume true; 305859#factEXIT >#66#return; 305858#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305853#factFINAL assume true; 305839#factEXIT >#66#return; 305838#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305831#factFINAL assume true; 305795#factEXIT >#66#return; 305817#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305898#factFINAL assume true; 305885#factEXIT >#66#return; 305893#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306150#factFINAL assume true; 306072#factEXIT >#66#return; 306063#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306212#factFINAL assume true; 305985#factEXIT >#70#return; 305642#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 305982#factENTRY ~n := #in~n; 306153#L25 assume ~n <= 0;#res := 1; 305663#factFINAL assume true; 305641#factEXIT >#72#return; 305653#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; 306232#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 306231#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 306230#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 305623#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; 305619#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 305620#factENTRY ~n := #in~n; 305950#L25 assume !(~n <= 0); 305383#L26 call #t~ret0 := fact(~n - 1);< 305391#factENTRY ~n := #in~n; 305392#L25 assume !(~n <= 0); 305387#L26 call #t~ret0 := fact(~n - 1);< 305640#factENTRY ~n := #in~n; 305837#L25 assume !(~n <= 0); 305382#L26 call #t~ret0 := fact(~n - 1);< 305707#factENTRY ~n := #in~n; 305849#L25 assume !(~n <= 0); 305377#L26 call #t~ret0 := fact(~n - 1);< 305743#factENTRY ~n := #in~n; 305852#L25 assume !(~n <= 0); 305378#L26 call #t~ret0 := fact(~n - 1);< 305744#factENTRY ~n := #in~n; 305822#L25 assume !(~n <= 0); 305376#L26 call #t~ret0 := fact(~n - 1);< 305789#factENTRY ~n := #in~n; 305820#L25 assume ~n <= 0;#res := 1; 305794#factFINAL assume true; 305787#factEXIT >#66#return; 305784#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305779#factFINAL assume true; 305758#factEXIT >#66#return; 305756#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305747#factFINAL assume true; 305739#factEXIT >#66#return; 305735#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305731#factFINAL assume true; 305704#factEXIT >#66#return; 305662#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305639#factFINAL assume true; 305636#factEXIT >#66#return; 305434#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305375#factFINAL assume true; 305388#factEXIT >#66#return; 305626#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305621#factFINAL assume true; 305618#factEXIT >#74#return; 305612#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 305617#factENTRY ~n := #in~n; 305736#L25 assume !(~n <= 0); 305380#L26 call #t~ret0 := fact(~n - 1);< 305732#factENTRY ~n := #in~n; 305852#L25 assume !(~n <= 0); 305378#L26 call #t~ret0 := fact(~n - 1);< 305744#factENTRY ~n := #in~n; 305822#L25 assume !(~n <= 0); 305376#L26 call #t~ret0 := fact(~n - 1);< 305789#factENTRY ~n := #in~n; 305822#L25 assume !(~n <= 0); 305376#L26 call #t~ret0 := fact(~n - 1);< 305789#factENTRY ~n := #in~n; 305822#L25 assume !(~n <= 0); 305376#L26 call #t~ret0 := fact(~n - 1);< 305789#factENTRY ~n := #in~n; 305822#L25 assume !(~n <= 0); 305376#L26 call #t~ret0 := fact(~n - 1);< 305789#factENTRY ~n := #in~n; 305820#L25 assume ~n <= 0;#res := 1; 305794#factFINAL assume true; 305787#factEXIT >#66#return; 305784#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305779#factFINAL assume true; 305758#factEXIT >#66#return; 305756#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305747#factFINAL assume true; 305739#factEXIT >#66#return; 305735#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305731#factFINAL assume true; 305704#factEXIT >#66#return; 305662#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305639#factFINAL assume true; 305636#factEXIT >#66#return; 305434#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305375#factFINAL assume true; 305388#factEXIT >#66#return; 305626#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305621#factFINAL assume true; 305618#factEXIT >#76#return; 305553#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 306307#factENTRY ~n := #in~n; 306317#L25 assume !(~n <= 0); 306315#L26 call #t~ret0 := fact(~n - 1);< 306316#factENTRY ~n := #in~n; 306319#L25 assume ~n <= 0;#res := 1; 306318#factFINAL assume true; 306314#factEXIT >#66#return; 306313#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306310#factFINAL assume true; 305550#factEXIT >#78#return; 305549#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; 305547#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 305545#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 305543#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 305541#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 305539#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 305537#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 305535#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; 305478#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 305487#factENTRY ~n := #in~n; 305488#L25 assume !(~n <= 0); 305471#L26 call #t~ret0 := fact(~n - 1);< 305479#factENTRY ~n := #in~n; 305534#L25 assume !(~n <= 0); 305464#L26 call #t~ret0 := fact(~n - 1);< 305483#factENTRY ~n := #in~n; 305529#L25 assume !(~n <= 0); 305475#L26 call #t~ret0 := fact(~n - 1);< 305525#factENTRY ~n := #in~n; 305523#L25 assume !(~n <= 0); 305473#L26 call #t~ret0 := fact(~n - 1);< 306100#factENTRY ~n := #in~n; 306110#L25 assume !(~n <= 0); 305463#L26 call #t~ret0 := fact(~n - 1);< 305511#factENTRY ~n := #in~n; 305509#L25 assume !(~n <= 0); 305466#L26 call #t~ret0 := fact(~n - 1);< 305507#factENTRY ~n := #in~n; 305510#L25 assume ~n <= 0;#res := 1; 305508#factFINAL assume true; 305505#factEXIT >#66#return; 305506#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306111#factFINAL assume true; 306107#factEXIT >#66#return; 306106#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306099#factFINAL assume true; 306097#factEXIT >#66#return; 306098#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306105#factFINAL assume true; 306104#factEXIT >#66#return; 306103#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306101#factFINAL assume true; 306096#factEXIT >#66#return; 305476#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 305482#factFINAL assume true; 305462#factEXIT >#66#return; 305477#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 306148#factFINAL assume true; 306147#factEXIT >#68#return; 306021#L30-1 [2022-07-22 01:32:10,179 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:32:10,179 INFO L85 PathProgramCache]: Analyzing trace with hash -8953243, now seen corresponding path program 37 times [2022-07-22 01:32:10,179 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:32:10,180 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1232380141] [2022-07-22 01:32:10,180 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:32:10,180 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:32:10,191 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:32:10,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1165033303] [2022-07-22 01:32:10,192 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-22 01:32:10,192 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:32:10,192 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:32:10,195 INFO L229 MonitoredProcess]: Starting monitored process 195 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:32:10,196 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (195)] Waiting until timeout for monitored process [2022-07-22 01:32:10,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:32:10,533 INFO L263 TraceCheckSpWp]: Trace formula consists of 1033 conjuncts, 10 conjunts are in the unsatisfiable core [2022-07-22 01:32:10,536 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:32:10,708 INFO L134 CoverageAnalysis]: Checked inductivity of 11453 backedges. 4450 proven. 120 refuted. 0 times theorem prover too weak. 6883 trivial. 0 not checked. [2022-07-22 01:32:10,709 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:32:11,445 INFO L134 CoverageAnalysis]: Checked inductivity of 11453 backedges. 106 proven. 184 refuted. 0 times theorem prover too weak. 11163 trivial. 0 not checked. [2022-07-22 01:32:11,445 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:32:11,445 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1232380141] [2022-07-22 01:32:11,445 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:32:11,446 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1165033303] [2022-07-22 01:32:11,446 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1165033303] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:32:11,446 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:32:11,446 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 15 [2022-07-22 01:32:11,446 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [996942922] [2022-07-22 01:32:11,446 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:32:11,447 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:32:11,447 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:32:11,447 INFO L85 PathProgramCache]: Analyzing trace with hash -260308233, now seen corresponding path program 35 times [2022-07-22 01:32:11,447 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:32:11,447 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [558377251] [2022-07-22 01:32:11,448 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:32:11,448 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:32:11,461 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:32:11,461 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [807105132] [2022-07-22 01:32:11,461 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-07-22 01:32:11,461 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:32:11,462 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:32:11,464 INFO L229 MonitoredProcess]: Starting monitored process 196 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:32:11,465 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (196)] Waiting until timeout for monitored process [2022-07-22 01:32:11,804 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 21 check-sat command(s) [2022-07-22 01:32:11,805 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:32:11,808 INFO L263 TraceCheckSpWp]: Trace formula consists of 419 conjuncts, 31 conjunts are in the unsatisfiable core [2022-07-22 01:32:11,813 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:32:12,479 INFO L134 CoverageAnalysis]: Checked inductivity of 29545 backedges. 10616 proven. 350 refuted. 0 times theorem prover too weak. 18579 trivial. 0 not checked. [2022-07-22 01:32:12,479 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:32:21,538 INFO L134 CoverageAnalysis]: Checked inductivity of 29545 backedges. 568 proven. 5644 refuted. 0 times theorem prover too weak. 23333 trivial. 0 not checked. [2022-07-22 01:32:21,538 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:32:21,538 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [558377251] [2022-07-22 01:32:21,538 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:32:21,538 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [807105132] [2022-07-22 01:32:21,538 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [807105132] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:32:21,538 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:32:21,539 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 30] total 33 [2022-07-22 01:32:21,539 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [36274650] [2022-07-22 01:32:21,539 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:32:21,539 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:32:21,539 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:32:21,540 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-07-22 01:32:21,540 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=151, Unknown=0, NotChecked=0, Total=210 [2022-07-22 01:32:21,540 INFO L87 Difference]: Start difference. First operand 2201 states and 3899 transitions. cyclomatic complexity: 1731 Second operand has 15 states, 15 states have (on average 5.666666666666667) internal successors, (85), 15 states have internal predecessors, (85), 12 states have call successors, (43), 2 states have call predecessors, (43), 2 states have return successors, (43), 12 states have call predecessors, (43), 12 states have call successors, (43) [2022-07-22 01:32:22,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:32:22,496 INFO L93 Difference]: Finished difference Result 2777 states and 4949 transitions. [2022-07-22 01:32:22,500 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-07-22 01:32:22,501 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2777 states and 4949 transitions. [2022-07-22 01:32:22,515 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 106 [2022-07-22 01:32:22,531 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2777 states to 2469 states and 4500 transitions. [2022-07-22 01:32:22,531 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 405 [2022-07-22 01:32:22,532 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 405 [2022-07-22 01:32:22,532 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2469 states and 4500 transitions. [2022-07-22 01:32:22,532 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:32:22,532 INFO L369 hiAutomatonCegarLoop]: Abstraction has 2469 states and 4500 transitions. [2022-07-22 01:32:22,533 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2469 states and 4500 transitions. [2022-07-22 01:32:22,564 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2469 to 2174. [2022-07-22 01:32:22,566 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2174 states, 1329 states have (on average 1.0963130173062452) internal successors, (1457), 1319 states have internal predecessors, (1457), 665 states have call successors, (665), 303 states have call predecessors, (665), 180 states have return successors, (1742), 551 states have call predecessors, (1742), 665 states have call successors, (1742) [2022-07-22 01:32:22,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2174 states to 2174 states and 3864 transitions. [2022-07-22 01:32:22,574 INFO L392 hiAutomatonCegarLoop]: Abstraction has 2174 states and 3864 transitions. [2022-07-22 01:32:22,574 INFO L374 stractBuchiCegarLoop]: Abstraction has 2174 states and 3864 transitions. [2022-07-22 01:32:22,574 INFO L287 stractBuchiCegarLoop]: ======== Iteration 51 ============ [2022-07-22 01:32:22,574 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 2174 states and 3864 transitions. [2022-07-22 01:32:22,579 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 91 [2022-07-22 01:32:22,580 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:32:22,580 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:32:22,582 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [84, 84, 47, 47, 47, 47, 37, 13, 12, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 3, 3, 1, 1, 1, 1] [2022-07-22 01:32:22,582 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [105, 105, 84, 84, 84, 84, 21, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:32:22,582 INFO L752 eck$LassoCheckResult]: Stem: 317109#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 317081#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; 317082#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 317108#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; 317096#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 317097#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 318677#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; 317035#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 317036#factENTRY ~n := #in~n; 318680#L25 assume ~n <= 0;#res := 1; 318679#factFINAL assume true; 318678#factEXIT >#68#return; 317122#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 317123#factENTRY ~n := #in~n; 318577#L25 assume ~n <= 0;#res := 1; 318575#factFINAL assume true; 318576#factEXIT >#70#return; 318682#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 318686#factENTRY ~n := #in~n; 318688#L25 assume ~n <= 0;#res := 1; 318687#factFINAL assume true; 318685#factEXIT >#72#return; 318683#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; 317101#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 317102#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 318971#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 318969#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; 318966#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 318967#factENTRY ~n := #in~n; 318976#L25 assume !(~n <= 0); 318973#L26 call #t~ret0 := fact(~n - 1);< 318974#factENTRY ~n := #in~n; 318977#L25 assume ~n <= 0;#res := 1; 318975#factFINAL assume true; 318972#factEXIT >#66#return; 318970#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318968#factFINAL assume true; 318965#factEXIT >#74#return; 318949#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 318950#factENTRY ~n := #in~n; 318961#L25 assume ~n <= 0;#res := 1; 318955#factFINAL assume true; 318948#factEXIT >#76#return; 318922#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 318953#factENTRY ~n := #in~n; 318963#L25 assume !(~n <= 0); 318957#L26 call #t~ret0 := fact(~n - 1);< 318959#factENTRY ~n := #in~n; 318964#L25 assume ~n <= 0;#res := 1; 318962#factFINAL assume true; 318956#factEXIT >#66#return; 318954#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318952#factFINAL assume true; 318921#factEXIT >#78#return; 318920#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; 318919#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 318918#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 318917#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 318916#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; 318702#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 318817#factENTRY ~n := #in~n; 318831#L25 assume !(~n <= 0); 318832#L26 call #t~ret0 := fact(~n - 1);< 318842#factENTRY ~n := #in~n; 318890#L25 assume !(~n <= 0); 318856#L26 call #t~ret0 := fact(~n - 1);< 318874#factENTRY ~n := #in~n; 318880#L25 assume ~n <= 0;#res := 1; 318878#factFINAL assume true; 318871#factEXIT >#66#return; 318870#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318869#factFINAL assume true; 318863#factEXIT >#66#return; 318866#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318816#factFINAL assume true; 318802#factEXIT >#74#return; 318807#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 318827#factENTRY ~n := #in~n; 318839#L25 assume ~n <= 0;#res := 1; 318828#factFINAL assume true; 318829#factEXIT >#76#return; 318805#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 318818#factENTRY ~n := #in~n; 318897#L25 assume !(~n <= 0); 318850#L26 call #t~ret0 := fact(~n - 1);< 318868#factENTRY ~n := #in~n; 318890#L25 assume !(~n <= 0); 318856#L26 call #t~ret0 := fact(~n - 1);< 318874#factENTRY ~n := #in~n; 318880#L25 assume ~n <= 0;#res := 1; 318878#factFINAL assume true; 318871#factEXIT >#66#return; 318870#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318869#factFINAL assume true; 318863#factEXIT >#66#return; 318866#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318816#factFINAL assume true; 318802#factEXIT >#78#return; 318809#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; 318843#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 318704#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 318703#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 318701#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; 318696#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 318699#factENTRY ~n := #in~n; 318721#L25 assume !(~n <= 0); 318714#L26 call #t~ret0 := fact(~n - 1);< 318720#factENTRY ~n := #in~n; 318764#L25 assume !(~n <= 0); 318733#L26 call #t~ret0 := fact(~n - 1);< 318743#factENTRY ~n := #in~n; 318747#L25 assume ~n <= 0;#res := 1; 318745#factFINAL assume true; 318741#factEXIT >#66#return; 318740#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318737#factFINAL assume true; 318727#factEXIT >#66#return; 318726#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318724#factFINAL assume true; 318723#factEXIT >#74#return; 318487#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 318700#factENTRY ~n := #in~n; 318788#L25 assume ~n <= 0;#res := 1; 318722#factFINAL assume true; 318782#factEXIT >#76#return; 318695#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 318757#factENTRY ~n := #in~n; 318758#L25 assume !(~n <= 0); 318728#L26 call #t~ret0 := fact(~n - 1);< 318736#factENTRY ~n := #in~n; 318764#L25 assume !(~n <= 0); 318733#L26 call #t~ret0 := fact(~n - 1);< 318743#factENTRY ~n := #in~n; 318747#L25 assume ~n <= 0;#res := 1; 318745#factFINAL assume true; 318741#factEXIT >#66#return; 318740#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318737#factFINAL assume true; 318727#factEXIT >#66#return; 318726#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318724#factFINAL assume true; 318723#factEXIT >#78#return; 317083#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; 317084#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 317094#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 318466#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 318463#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 318464#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 317117#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 317118#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; 318570#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 318667#factENTRY ~n := #in~n; 318674#L25 assume !(~n <= 0); 318671#L26 call #t~ret0 := fact(~n - 1);< 318672#factENTRY ~n := #in~n; 318675#L25 assume ~n <= 0;#res := 1; 318673#factFINAL assume true; 318670#factEXIT >#66#return; 318669#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318668#factFINAL assume true; 318665#factEXIT >#68#return; 318597#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 318596#factENTRY ~n := #in~n; 318599#L25 assume ~n <= 0;#res := 1; 318664#factFINAL assume true; 318663#factEXIT >#70#return; 318645#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 318647#factENTRY ~n := #in~n; 318654#L25 assume !(~n <= 0); 318651#L26 call #t~ret0 := fact(~n - 1);< 318652#factENTRY ~n := #in~n; 318655#L25 assume ~n <= 0;#res := 1; 318653#factFINAL assume true; 318650#factEXIT >#66#return; 318649#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318648#factFINAL assume true; 318643#factEXIT >#72#return; 318640#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; 318641#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 318618#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 318619#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 318615#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; 318604#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 318606#factENTRY ~n := #in~n; 318613#L25 assume !(~n <= 0); 318610#L26 call #t~ret0 := fact(~n - 1);< 318611#factENTRY ~n := #in~n; 318614#L25 assume ~n <= 0;#res := 1; 318612#factFINAL assume true; 318609#factEXIT >#66#return; 318608#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318607#factFINAL assume true; 318603#factEXIT >#68#return; 318572#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 318594#factENTRY ~n := #in~n; 318591#L25 assume !(~n <= 0); 318582#L26 call #t~ret0 := fact(~n - 1);< 318585#factENTRY ~n := #in~n; 318592#L25 assume ~n <= 0;#res := 1; 318586#factFINAL assume true; 318580#factEXIT >#66#return; 318578#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318579#factFINAL assume true; 318571#factEXIT >#70#return; 317018#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 317019#factENTRY ~n := #in~n; 318692#L25 assume ~n <= 0;#res := 1; 318691#factFINAL assume true; 318689#factEXIT >#72#return; 317103#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; 317104#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 318676#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 318642#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 318639#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; 318622#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 318623#factENTRY ~n := #in~n; 318630#L25 assume !(~n <= 0); 318581#L26 call #t~ret0 := fact(~n - 1);< 318628#factENTRY ~n := #in~n; 318635#L25 assume !(~n <= 0); 318627#L26 call #t~ret0 := fact(~n - 1);< 318633#factENTRY ~n := #in~n; 318636#L25 assume ~n <= 0;#res := 1; 318634#factFINAL assume true; 318632#factEXIT >#66#return; 318631#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318629#factFINAL assume true; 318626#factEXIT >#66#return; 318625#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318624#factFINAL assume true; 318620#factEXIT >#74#return; 318589#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 318595#factENTRY ~n := #in~n; 318593#L25 assume !(~n <= 0); 318583#L26 call #t~ret0 := fact(~n - 1);< 318585#factENTRY ~n := #in~n; 318592#L25 assume ~n <= 0;#res := 1; 318586#factFINAL assume true; 318580#factEXIT >#66#return; 318584#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318602#factFINAL assume true; 318600#factEXIT >#76#return; 318588#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 318595#factENTRY ~n := #in~n; 318593#L25 assume !(~n <= 0); 318583#L26 call #t~ret0 := fact(~n - 1);< 318585#factENTRY ~n := #in~n; 318592#L25 assume ~n <= 0;#res := 1; 318586#factFINAL assume true; 318580#factEXIT >#66#return; 318584#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318602#factFINAL assume true; 318600#factEXIT >#78#return; 318601#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; 319104#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 319103#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 319101#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 319100#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; 317140#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 318706#factENTRY ~n := #in~n; 319013#L25 assume !(~n <= 0); 318983#L26 call #t~ret0 := fact(~n - 1);< 318996#factENTRY ~n := #in~n; 319045#L25 assume !(~n <= 0); 318985#L26 call #t~ret0 := fact(~n - 1);< 319030#factENTRY ~n := #in~n; 319034#L25 assume ~n <= 0;#res := 1; 319032#factFINAL assume true; 319028#factEXIT >#66#return; 319027#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 319026#factFINAL assume true; 319019#factEXIT >#66#return; 319018#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 319016#factFINAL assume true; 319015#factEXIT >#74#return; 319004#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 318708#factENTRY ~n := #in~n; 319005#L25 assume ~n <= 0;#res := 1; 319014#factFINAL assume true; 319086#factEXIT >#76#return; 317145#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 319052#factENTRY ~n := #in~n; 319037#L25 assume !(~n <= 0); 318980#L26 call #t~ret0 := fact(~n - 1);< 319025#factENTRY ~n := #in~n; 319045#L25 assume !(~n <= 0); 318985#L26 call #t~ret0 := fact(~n - 1);< 319030#factENTRY ~n := #in~n; 319034#L25 assume ~n <= 0;#res := 1; 319032#factFINAL assume true; 319028#factEXIT >#66#return; 319027#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 319026#factFINAL assume true; 319019#factEXIT >#66#return; 319018#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 319016#factFINAL assume true; 319015#factEXIT >#78#return; 317149#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; 317134#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 317133#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 317132#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 317107#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 317098#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 317100#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 317110#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; 317111#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 317212#factENTRY ~n := #in~n; 318418#L25 assume !(~n <= 0); 317171#L26 call #t~ret0 := fact(~n - 1);< 317190#factENTRY ~n := #in~n; 317187#L25 assume !(~n <= 0); 317166#L26 call #t~ret0 := fact(~n - 1);< 317185#factENTRY ~n := #in~n; 317188#L25 assume ~n <= 0;#res := 1; 317186#factFINAL assume true; 317183#factEXIT >#66#return; 317184#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318419#factFINAL assume true; 318414#factEXIT >#66#return; 318412#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318410#factFINAL assume true; 318407#factEXIT >#68#return; 317120#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 317121#factENTRY ~n := #in~n; 318358#L25 assume ~n <= 0;#res := 1; 318357#factFINAL assume true; 318289#factEXIT >#70#return; 318295#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 318389#factENTRY ~n := #in~n; 318382#L25 assume !(~n <= 0); 318353#L26 call #t~ret0 := fact(~n - 1);< 318379#factENTRY ~n := #in~n; 318394#L25 assume !(~n <= 0); 318371#L26 call #t~ret0 := fact(~n - 1);< 318386#factENTRY ~n := #in~n; 318392#L25 assume ~n <= 0;#res := 1; 318390#factFINAL assume true; 318384#factEXIT >#66#return; 318381#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318378#factFINAL assume true; 318370#factEXIT >#66#return; 318373#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318459#factFINAL assume true; 318457#factEXIT >#72#return; 318458#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; 318528#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 318526#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 318524#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 318523#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; 318137#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 318147#factENTRY ~n := #in~n; 318393#L25 assume !(~n <= 0); 317784#L26 call #t~ret0 := fact(~n - 1);< 318236#factENTRY ~n := #in~n; 318250#L25 assume !(~n <= 0); 318229#L26 call #t~ret0 := fact(~n - 1);< 318249#factENTRY ~n := #in~n; 318260#L25 assume ~n <= 0;#res := 1; 318257#factFINAL assume true; 318244#factEXIT >#66#return; 318243#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318239#factFINAL assume true; 318228#factEXIT >#66#return; 318227#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318150#factFINAL assume true; 318133#factEXIT >#68#return; 317899#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 318132#factENTRY ~n := #in~n; 318185#L25 assume !(~n <= 0); 317795#L26 call #t~ret0 := fact(~n - 1);< 317907#factENTRY ~n := #in~n; 317853#L25 assume ~n <= 0;#res := 1; 317849#factFINAL assume true; 317808#factEXIT >#66#return; 317812#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318360#factFINAL assume true; 318271#factEXIT >#70#return; 318171#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 318181#factENTRY ~n := #in~n; 318184#L25 assume !(~n <= 0); 317768#L26 call #t~ret0 := fact(~n - 1);< 317813#factENTRY ~n := #in~n; 317853#L25 assume ~n <= 0;#res := 1; 317849#factFINAL assume true; 317808#factEXIT >#66#return; 317811#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318179#factFINAL assume true; 318170#factEXIT >#72#return; 318173#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; 318563#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 318562#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 318561#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 318560#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; 318139#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 318147#factENTRY ~n := #in~n; 318393#L25 assume !(~n <= 0); 317784#L26 call #t~ret0 := fact(~n - 1);< 318236#factENTRY ~n := #in~n; 318250#L25 assume !(~n <= 0); 318229#L26 call #t~ret0 := fact(~n - 1);< 318249#factENTRY ~n := #in~n; 318260#L25 assume ~n <= 0;#res := 1; 318257#factFINAL assume true; 318244#factEXIT >#66#return; 318243#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318239#factFINAL assume true; 318228#factEXIT >#66#return; 318227#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318150#factFINAL assume true; 318133#factEXIT >#68#return; 317880#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 318132#factENTRY ~n := #in~n; 318185#L25 assume !(~n <= 0); 317795#L26 call #t~ret0 := fact(~n - 1);< 317907#factENTRY ~n := #in~n; 318252#L25 assume !(~n <= 0); 317778#L26 call #t~ret0 := fact(~n - 1);< 318247#factENTRY ~n := #in~n; 318260#L25 assume ~n <= 0;#res := 1; 318257#factFINAL assume true; 318244#factEXIT >#66#return; 318243#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318239#factFINAL assume true; 318228#factEXIT >#66#return; 318233#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318222#factFINAL assume true; 318124#factEXIT >#70#return; 317746#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 317763#factENTRY ~n := #in~n; 317767#L25 assume ~n <= 0;#res := 1; 317764#factFINAL assume true; 317743#factEXIT >#72#return; 317757#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; 318565#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 318543#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 318541#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 317364#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; 317247#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 317264#factENTRY ~n := #in~n; 317359#L25 assume !(~n <= 0); 317278#L26 call #t~ret0 := fact(~n - 1);< 317357#factENTRY ~n := #in~n; 317353#L25 assume !(~n <= 0); 317277#L26 call #t~ret0 := fact(~n - 1);< 317346#factENTRY ~n := #in~n; 317353#L25 assume !(~n <= 0); 317277#L26 call #t~ret0 := fact(~n - 1);< 317346#factENTRY ~n := #in~n; 317349#L25 assume ~n <= 0;#res := 1; 317348#factFINAL assume true; 317342#factEXIT >#66#return; 317339#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317333#factFINAL assume true; 317321#factEXIT >#66#return; 317320#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317304#factFINAL assume true; 317273#factEXIT >#66#return; 317271#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317263#factFINAL assume true; 317246#factEXIT >#74#return; 317250#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 317347#factENTRY ~n := #in~n; 317340#L25 assume !(~n <= 0); 317279#L26 call #t~ret0 := fact(~n - 1);< 317334#factENTRY ~n := #in~n; 317352#L25 assume !(~n <= 0); 317322#L26 call #t~ret0 := fact(~n - 1);< 317344#factENTRY ~n := #in~n; 317350#L25 assume !(~n <= 0); 317343#L26 call #t~ret0 := fact(~n - 1);< 317345#factENTRY ~n := #in~n; 317349#L25 assume ~n <= 0;#res := 1; 317348#factFINAL assume true; 317342#factEXIT >#66#return; 317339#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317333#factFINAL assume true; 317321#factEXIT >#66#return; 317320#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317304#factFINAL assume true; 317273#factEXIT >#66#return; 317271#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317263#factFINAL assume true; 317246#factEXIT >#76#return; 317087#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 317130#factENTRY ~n := #in~n; 317932#L25 assume !(~n <= 0); 317021#L26 call #t~ret0 := fact(~n - 1);< 317075#factENTRY ~n := #in~n; 317076#L25 assume ~n <= 0;#res := 1; 317116#factFINAL assume true; 317020#factEXIT >#66#return; 317022#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318512#factFINAL assume true; 317206#factEXIT >#78#return; 317207#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; 318472#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 317128#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 317129#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 317105#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 317106#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 318462#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 318469#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; 317156#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 317193#factENTRY ~n := #in~n; 317191#L25 assume !(~n <= 0); 317169#L26 call #t~ret0 := fact(~n - 1);< 317190#factENTRY ~n := #in~n; 317187#L25 assume !(~n <= 0); 317166#L26 call #t~ret0 := fact(~n - 1);< 317185#factENTRY ~n := #in~n; 317187#L25 assume !(~n <= 0); 317166#L26 call #t~ret0 := fact(~n - 1);< 317185#factENTRY ~n := #in~n; 317187#L25 assume !(~n <= 0); 317166#L26 call #t~ret0 := fact(~n - 1);< 317185#factENTRY ~n := #in~n; 317187#L25 assume !(~n <= 0); 317166#L26 call #t~ret0 := fact(~n - 1);< 317185#factENTRY ~n := #in~n; 317187#L25 assume !(~n <= 0); 317166#L26 call #t~ret0 := fact(~n - 1);< 317185#factENTRY ~n := #in~n; 317188#L25 assume ~n <= 0;#res := 1; 317186#factFINAL assume true; 317183#factEXIT >#66#return; 317184#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318419#factFINAL assume true; 318414#factEXIT >#66#return; 318415#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317175#factFINAL assume true; 317165#factEXIT >#66#return; 317172#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317182#factFINAL assume true; 318306#factEXIT >#66#return; 318307#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318350#factFINAL assume true; 318347#factEXIT >#66#return; 318342#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318343#factFINAL assume true; 318341#factEXIT >#66#return; 318339#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318329#factFINAL assume true; 318326#factEXIT >#68#return; 318290#L30-1 [2022-07-22 01:32:22,583 INFO L754 eck$LassoCheckResult]: Loop: 318290#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 317121#factENTRY ~n := #in~n; 318358#L25 assume ~n <= 0;#res := 1; 318357#factFINAL assume true; 318289#factEXIT >#70#return; 318284#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 318288#factENTRY ~n := #in~n; 318377#L25 assume !(~n <= 0); 318345#L26 call #t~ret0 := fact(~n - 1);< 318369#factENTRY ~n := #in~n; 318367#L25 assume !(~n <= 0); 318335#L26 call #t~ret0 := fact(~n - 1);< 318346#factENTRY ~n := #in~n; 318423#L25 assume !(~n <= 0); 318333#L26 call #t~ret0 := fact(~n - 1);< 318356#factENTRY ~n := #in~n; 318396#L25 assume !(~n <= 0); 318336#L26 call #t~ret0 := fact(~n - 1);< 318375#factENTRY ~n := #in~n; 318397#L25 assume !(~n <= 0); 318331#L26 call #t~ret0 := fact(~n - 1);< 318387#factENTRY ~n := #in~n; 318392#L25 assume ~n <= 0;#res := 1; 318390#factFINAL assume true; 318384#factEXIT >#66#return; 318381#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318378#factFINAL assume true; 318370#factEXIT >#66#return; 318366#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318363#factFINAL assume true; 318352#factEXIT >#66#return; 318351#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318344#factFINAL assume true; 318330#factEXIT >#66#return; 318337#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318376#factFINAL assume true; 318368#factEXIT >#66#return; 318365#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318361#factFINAL assume true; 318282#factEXIT >#72#return; 318287#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; 318325#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 318324#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 318322#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 318321#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; 317982#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 317990#factENTRY ~n := #in~n; 317988#L25 assume !(~n <= 0); 317976#L26 call #t~ret0 := fact(~n - 1);< 317978#factENTRY ~n := #in~n; 318012#L25 assume !(~n <= 0); 317824#L26 call #t~ret0 := fact(~n - 1);< 317877#factENTRY ~n := #in~n; 318311#L25 assume !(~n <= 0); 317826#L26 call #t~ret0 := fact(~n - 1);< 318310#factENTRY ~n := #in~n; 318308#L25 assume !(~n <= 0); 317786#L26 call #t~ret0 := fact(~n - 1);< 317831#factENTRY ~n := #in~n; 318255#L25 assume !(~n <= 0); 317794#L26 call #t~ret0 := fact(~n - 1);< 317801#factENTRY ~n := #in~n; 318252#L25 assume !(~n <= 0); 317778#L26 call #t~ret0 := fact(~n - 1);< 318247#factENTRY ~n := #in~n; 318260#L25 assume ~n <= 0;#res := 1; 318257#factFINAL assume true; 318244#factEXIT >#66#return; 318243#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318239#factFINAL assume true; 318228#factEXIT >#66#return; 318232#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318505#factFINAL assume true; 317776#factEXIT >#66#return; 317798#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317919#factFINAL assume true; 317911#factEXIT >#66#return; 317910#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317872#factFINAL assume true; 317819#factEXIT >#66#return; 317827#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317981#factFINAL assume true; 317974#factEXIT >#66#return; 317977#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318241#factFINAL assume true; 318158#factEXIT >#68#return; 317851#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 318223#factENTRY ~n := #in~n; 318514#L25 assume !(~n <= 0); 317810#L26 call #t~ret0 := fact(~n - 1);< 317852#factENTRY ~n := #in~n; 317853#L25 assume ~n <= 0;#res := 1; 317849#factFINAL assume true; 317808#factEXIT >#66#return; 317812#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318360#factFINAL assume true; 318271#factEXIT >#70#return; 318160#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 318272#factENTRY ~n := #in~n; 318317#L25 assume !(~n <= 0); 317821#L26 call #t~ret0 := fact(~n - 1);< 318310#factENTRY ~n := #in~n; 318308#L25 assume !(~n <= 0); 317786#L26 call #t~ret0 := fact(~n - 1);< 317831#factENTRY ~n := #in~n; 318255#L25 assume !(~n <= 0); 317794#L26 call #t~ret0 := fact(~n - 1);< 317801#factENTRY ~n := #in~n; 318252#L25 assume !(~n <= 0); 317778#L26 call #t~ret0 := fact(~n - 1);< 318247#factENTRY ~n := #in~n; 318252#L25 assume !(~n <= 0); 317778#L26 call #t~ret0 := fact(~n - 1);< 318247#factENTRY ~n := #in~n; 318260#L25 assume ~n <= 0;#res := 1; 318257#factFINAL assume true; 318244#factEXIT >#66#return; 318243#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318239#factFINAL assume true; 318228#factEXIT >#66#return; 318232#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318505#factFINAL assume true; 317776#factEXIT >#66#return; 317798#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317919#factFINAL assume true; 317911#factEXIT >#66#return; 317910#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317872#factFINAL assume true; 317819#factEXIT >#66#return; 317828#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318211#factFINAL assume true; 318210#factEXIT >#72#return; 318163#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; 318303#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 318302#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 318300#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 318299#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; 317985#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 317990#factENTRY ~n := #in~n; 317988#L25 assume !(~n <= 0); 317976#L26 call #t~ret0 := fact(~n - 1);< 317978#factENTRY ~n := #in~n; 318012#L25 assume !(~n <= 0); 317824#L26 call #t~ret0 := fact(~n - 1);< 317877#factENTRY ~n := #in~n; 318311#L25 assume !(~n <= 0); 317826#L26 call #t~ret0 := fact(~n - 1);< 318310#factENTRY ~n := #in~n; 318308#L25 assume !(~n <= 0); 317786#L26 call #t~ret0 := fact(~n - 1);< 317831#factENTRY ~n := #in~n; 318255#L25 assume !(~n <= 0); 317794#L26 call #t~ret0 := fact(~n - 1);< 317801#factENTRY ~n := #in~n; 318252#L25 assume !(~n <= 0); 317778#L26 call #t~ret0 := fact(~n - 1);< 318247#factENTRY ~n := #in~n; 318260#L25 assume ~n <= 0;#res := 1; 318257#factFINAL assume true; 318244#factEXIT >#66#return; 318243#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318239#factFINAL assume true; 318228#factEXIT >#66#return; 318232#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318505#factFINAL assume true; 317776#factEXIT >#66#return; 317798#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317919#factFINAL assume true; 317911#factEXIT >#66#return; 317910#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317872#factFINAL assume true; 317819#factEXIT >#66#return; 317827#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317981#factFINAL assume true; 317974#factEXIT >#66#return; 317977#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318241#factFINAL assume true; 318158#factEXIT >#68#return; 317850#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 318223#factENTRY ~n := #in~n; 318514#L25 assume !(~n <= 0); 317810#L26 call #t~ret0 := fact(~n - 1);< 317852#factENTRY ~n := #in~n; 318253#L25 assume !(~n <= 0); 318245#L26 call #t~ret0 := fact(~n - 1);< 318246#factENTRY ~n := #in~n; 318260#L25 assume ~n <= 0;#res := 1; 318257#factFINAL assume true; 318244#factEXIT >#66#return; 318243#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318239#factFINAL assume true; 318228#factEXIT >#66#return; 318233#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318222#factFINAL assume true; 318124#factEXIT >#70#return; 318131#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 318272#factENTRY ~n := #in~n; 318317#L25 assume !(~n <= 0); 317821#L26 call #t~ret0 := fact(~n - 1);< 318310#factENTRY ~n := #in~n; 318308#L25 assume !(~n <= 0); 317786#L26 call #t~ret0 := fact(~n - 1);< 317831#factENTRY ~n := #in~n; 318255#L25 assume !(~n <= 0); 317794#L26 call #t~ret0 := fact(~n - 1);< 317801#factENTRY ~n := #in~n; 318252#L25 assume !(~n <= 0); 317778#L26 call #t~ret0 := fact(~n - 1);< 318247#factENTRY ~n := #in~n; 318252#L25 assume !(~n <= 0); 317778#L26 call #t~ret0 := fact(~n - 1);< 318247#factENTRY ~n := #in~n; 318260#L25 assume ~n <= 0;#res := 1; 318257#factFINAL assume true; 318244#factEXIT >#66#return; 318243#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318239#factFINAL assume true; 318228#factEXIT >#66#return; 318232#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318505#factFINAL assume true; 317776#factEXIT >#66#return; 317798#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317919#factFINAL assume true; 317911#factEXIT >#66#return; 317910#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317872#factFINAL assume true; 317819#factEXIT >#66#return; 317828#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318211#factFINAL assume true; 318210#factEXIT >#72#return; 318145#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; 318548#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 318546#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 318544#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 318542#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; 317983#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 317990#factENTRY ~n := #in~n; 317988#L25 assume !(~n <= 0); 317976#L26 call #t~ret0 := fact(~n - 1);< 317978#factENTRY ~n := #in~n; 318012#L25 assume !(~n <= 0); 317824#L26 call #t~ret0 := fact(~n - 1);< 317877#factENTRY ~n := #in~n; 318311#L25 assume !(~n <= 0); 317826#L26 call #t~ret0 := fact(~n - 1);< 318310#factENTRY ~n := #in~n; 318308#L25 assume !(~n <= 0); 317786#L26 call #t~ret0 := fact(~n - 1);< 317831#factENTRY ~n := #in~n; 318255#L25 assume !(~n <= 0); 317794#L26 call #t~ret0 := fact(~n - 1);< 317801#factENTRY ~n := #in~n; 318252#L25 assume !(~n <= 0); 317778#L26 call #t~ret0 := fact(~n - 1);< 318247#factENTRY ~n := #in~n; 318260#L25 assume ~n <= 0;#res := 1; 318257#factFINAL assume true; 318244#factEXIT >#66#return; 318243#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318239#factFINAL assume true; 318228#factEXIT >#66#return; 318232#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318505#factFINAL assume true; 317776#factEXIT >#66#return; 317798#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317919#factFINAL assume true; 317911#factEXIT >#66#return; 317910#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317872#factFINAL assume true; 317819#factEXIT >#66#return; 317827#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317981#factFINAL assume true; 317974#factEXIT >#66#return; 317977#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318241#factFINAL assume true; 318158#factEXIT >#68#return; 317894#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 318132#factENTRY ~n := #in~n; 318185#L25 assume !(~n <= 0); 317795#L26 call #t~ret0 := fact(~n - 1);< 317907#factENTRY ~n := #in~n; 318252#L25 assume !(~n <= 0); 317778#L26 call #t~ret0 := fact(~n - 1);< 318247#factENTRY ~n := #in~n; 318252#L25 assume !(~n <= 0); 317778#L26 call #t~ret0 := fact(~n - 1);< 318247#factENTRY ~n := #in~n; 318252#L25 assume !(~n <= 0); 317778#L26 call #t~ret0 := fact(~n - 1);< 318247#factENTRY ~n := #in~n; 318260#L25 assume ~n <= 0;#res := 1; 318257#factFINAL assume true; 318244#factEXIT >#66#return; 318243#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318239#factFINAL assume true; 318228#factEXIT >#66#return; 318232#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318505#factFINAL assume true; 317776#factEXIT >#66#return; 317798#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317919#factFINAL assume true; 317911#factEXIT >#66#return; 317916#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318242#factFINAL assume true; 318186#factEXIT >#70#return; 318156#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 318212#factENTRY ~n := #in~n; 318323#L25 assume !(~n <= 0); 317788#L26 call #t~ret0 := fact(~n - 1);< 317831#factENTRY ~n := #in~n; 318255#L25 assume !(~n <= 0); 317794#L26 call #t~ret0 := fact(~n - 1);< 317801#factENTRY ~n := #in~n; 318252#L25 assume !(~n <= 0); 317778#L26 call #t~ret0 := fact(~n - 1);< 318247#factENTRY ~n := #in~n; 318260#L25 assume ~n <= 0;#res := 1; 318257#factFINAL assume true; 318244#factEXIT >#66#return; 318243#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318239#factFINAL assume true; 318228#factEXIT >#66#return; 318232#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318505#factFINAL assume true; 317776#factEXIT >#66#return; 317799#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318436#factFINAL assume true; 318432#factEXIT >#72#return; 318429#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; 318218#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 318215#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 318214#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 318213#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; 317986#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 317990#factENTRY ~n := #in~n; 317988#L25 assume !(~n <= 0); 317976#L26 call #t~ret0 := fact(~n - 1);< 317978#factENTRY ~n := #in~n; 318012#L25 assume !(~n <= 0); 317824#L26 call #t~ret0 := fact(~n - 1);< 317877#factENTRY ~n := #in~n; 318311#L25 assume !(~n <= 0); 317826#L26 call #t~ret0 := fact(~n - 1);< 318310#factENTRY ~n := #in~n; 318308#L25 assume !(~n <= 0); 317786#L26 call #t~ret0 := fact(~n - 1);< 317831#factENTRY ~n := #in~n; 318255#L25 assume !(~n <= 0); 317794#L26 call #t~ret0 := fact(~n - 1);< 317801#factENTRY ~n := #in~n; 318252#L25 assume !(~n <= 0); 317778#L26 call #t~ret0 := fact(~n - 1);< 318247#factENTRY ~n := #in~n; 318260#L25 assume ~n <= 0;#res := 1; 318257#factFINAL assume true; 318244#factEXIT >#66#return; 318243#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318239#factFINAL assume true; 318228#factEXIT >#66#return; 318232#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318505#factFINAL assume true; 317776#factEXIT >#66#return; 317798#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317919#factFINAL assume true; 317911#factEXIT >#66#return; 317910#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317872#factFINAL assume true; 317819#factEXIT >#66#return; 317827#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317981#factFINAL assume true; 317974#factEXIT >#66#return; 317977#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318241#factFINAL assume true; 318158#factEXIT >#68#return; 317896#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 318132#factENTRY ~n := #in~n; 318185#L25 assume !(~n <= 0); 317795#L26 call #t~ret0 := fact(~n - 1);< 317907#factENTRY ~n := #in~n; 318252#L25 assume !(~n <= 0); 317778#L26 call #t~ret0 := fact(~n - 1);< 318247#factENTRY ~n := #in~n; 318252#L25 assume !(~n <= 0); 317778#L26 call #t~ret0 := fact(~n - 1);< 318247#factENTRY ~n := #in~n; 318252#L25 assume !(~n <= 0); 317778#L26 call #t~ret0 := fact(~n - 1);< 318247#factENTRY ~n := #in~n; 318260#L25 assume ~n <= 0;#res := 1; 318257#factFINAL assume true; 318244#factEXIT >#66#return; 318243#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318239#factFINAL assume true; 318228#factEXIT >#66#return; 318232#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318505#factFINAL assume true; 317776#factEXIT >#66#return; 317798#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317919#factFINAL assume true; 317911#factEXIT >#66#return; 317916#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318242#factFINAL assume true; 318186#factEXIT >#70#return; 318141#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 318202#factENTRY ~n := #in~n; 318238#L25 assume !(~n <= 0); 317780#L26 call #t~ret0 := fact(~n - 1);< 317801#factENTRY ~n := #in~n; 318252#L25 assume !(~n <= 0); 317778#L26 call #t~ret0 := fact(~n - 1);< 318247#factENTRY ~n := #in~n; 318260#L25 assume ~n <= 0;#res := 1; 318257#factFINAL assume true; 318244#factEXIT >#66#return; 318243#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318239#factFINAL assume true; 318228#factEXIT >#66#return; 318227#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318150#factFINAL assume true; 318133#factEXIT >#72#return; 318144#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; 318189#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 318168#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 318166#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 318165#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; 317984#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 317990#factENTRY ~n := #in~n; 317988#L25 assume !(~n <= 0); 317976#L26 call #t~ret0 := fact(~n - 1);< 317978#factENTRY ~n := #in~n; 318012#L25 assume !(~n <= 0); 317824#L26 call #t~ret0 := fact(~n - 1);< 317877#factENTRY ~n := #in~n; 318311#L25 assume !(~n <= 0); 317826#L26 call #t~ret0 := fact(~n - 1);< 318310#factENTRY ~n := #in~n; 318308#L25 assume !(~n <= 0); 317786#L26 call #t~ret0 := fact(~n - 1);< 317831#factENTRY ~n := #in~n; 318255#L25 assume !(~n <= 0); 317794#L26 call #t~ret0 := fact(~n - 1);< 317801#factENTRY ~n := #in~n; 318252#L25 assume !(~n <= 0); 317778#L26 call #t~ret0 := fact(~n - 1);< 318247#factENTRY ~n := #in~n; 318260#L25 assume ~n <= 0;#res := 1; 318257#factFINAL assume true; 318244#factEXIT >#66#return; 318243#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318239#factFINAL assume true; 318228#factEXIT >#66#return; 318232#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318505#factFINAL assume true; 317776#factEXIT >#66#return; 317798#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317919#factFINAL assume true; 317911#factEXIT >#66#return; 317910#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317872#factFINAL assume true; 317819#factEXIT >#66#return; 317827#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317981#factFINAL assume true; 317974#factEXIT >#66#return; 317977#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318241#factFINAL assume true; 318158#factEXIT >#68#return; 317879#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 318132#factENTRY ~n := #in~n; 318185#L25 assume !(~n <= 0); 317795#L26 call #t~ret0 := fact(~n - 1);< 317907#factENTRY ~n := #in~n; 318252#L25 assume !(~n <= 0); 317778#L26 call #t~ret0 := fact(~n - 1);< 318247#factENTRY ~n := #in~n; 318252#L25 assume !(~n <= 0); 317778#L26 call #t~ret0 := fact(~n - 1);< 318247#factENTRY ~n := #in~n; 318252#L25 assume !(~n <= 0); 317778#L26 call #t~ret0 := fact(~n - 1);< 318247#factENTRY ~n := #in~n; 318252#L25 assume !(~n <= 0); 317778#L26 call #t~ret0 := fact(~n - 1);< 318247#factENTRY ~n := #in~n; 318260#L25 assume ~n <= 0;#res := 1; 318257#factFINAL assume true; 318244#factEXIT >#66#return; 318243#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318239#factFINAL assume true; 318228#factEXIT >#66#return; 318232#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318505#factFINAL assume true; 317776#factEXIT >#66#return; 317798#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317919#factFINAL assume true; 317911#factEXIT >#66#return; 317910#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317872#factFINAL assume true; 317819#factEXIT >#66#return; 317829#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318237#factFINAL assume true; 318155#factEXIT >#70#return; 317751#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 318152#factENTRY ~n := #in~n; 318182#L25 assume ~n <= 0;#res := 1; 317764#factFINAL assume true; 317743#factEXIT >#72#return; 317761#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; 318431#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 318426#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 317408#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 317409#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; 317259#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 317260#factENTRY ~n := #in~n; 317318#L25 assume !(~n <= 0); 317302#L26 call #t~ret0 := fact(~n - 1);< 317317#factENTRY ~n := #in~n; 317361#L25 assume !(~n <= 0); 317293#L26 call #t~ret0 := fact(~n - 1);< 317303#factENTRY ~n := #in~n; 317358#L25 assume !(~n <= 0); 317295#L26 call #t~ret0 := fact(~n - 1);< 317356#factENTRY ~n := #in~n; 317355#L25 assume !(~n <= 0); 317280#L26 call #t~ret0 := fact(~n - 1);< 317354#factENTRY ~n := #in~n; 317351#L25 assume !(~n <= 0); 317276#L26 call #t~ret0 := fact(~n - 1);< 317306#factENTRY ~n := #in~n; 317353#L25 assume !(~n <= 0); 317277#L26 call #t~ret0 := fact(~n - 1);< 317346#factENTRY ~n := #in~n; 317349#L25 assume ~n <= 0;#res := 1; 317348#factFINAL assume true; 317342#factEXIT >#66#return; 317339#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317333#factFINAL assume true; 317321#factEXIT >#66#return; 317320#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317304#factFINAL assume true; 317273#factEXIT >#66#return; 317283#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317336#factFINAL assume true; 317335#factEXIT >#66#return; 317332#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317301#factFINAL assume true; 317291#factEXIT >#66#return; 317296#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317319#factFINAL assume true; 317316#factEXIT >#66#return; 317314#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317268#factFINAL assume true; 317258#factEXIT >#74#return; 317251#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 317257#factENTRY ~n := #in~n; 317299#L25 assume !(~n <= 0); 317275#L26 call #t~ret0 := fact(~n - 1);< 317298#factENTRY ~n := #in~n; 317351#L25 assume !(~n <= 0); 317276#L26 call #t~ret0 := fact(~n - 1);< 317306#factENTRY ~n := #in~n; 317353#L25 assume !(~n <= 0); 317277#L26 call #t~ret0 := fact(~n - 1);< 317346#factENTRY ~n := #in~n; 317353#L25 assume !(~n <= 0); 317277#L26 call #t~ret0 := fact(~n - 1);< 317346#factENTRY ~n := #in~n; 317353#L25 assume !(~n <= 0); 317277#L26 call #t~ret0 := fact(~n - 1);< 317346#factENTRY ~n := #in~n; 317349#L25 assume ~n <= 0;#res := 1; 317348#factFINAL assume true; 317342#factEXIT >#66#return; 317339#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317333#factFINAL assume true; 317321#factEXIT >#66#return; 317320#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317304#factFINAL assume true; 317273#factEXIT >#66#return; 317283#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317336#factFINAL assume true; 317335#factEXIT >#66#return; 317332#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317301#factFINAL assume true; 317291#factEXIT >#66#return; 317290#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317286#factFINAL assume true; 317255#factEXIT >#76#return; 317089#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 317130#factENTRY ~n := #in~n; 317932#L25 assume !(~n <= 0); 317021#L26 call #t~ret0 := fact(~n - 1);< 317075#factENTRY ~n := #in~n; 317076#L25 assume ~n <= 0;#res := 1; 317116#factFINAL assume true; 317020#factEXIT >#66#return; 317022#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318512#factFINAL assume true; 317206#factEXIT >#78#return; 317209#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; 317239#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 317237#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 317235#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 317233#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 317231#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 317229#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 317227#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; 317033#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 317034#factENTRY ~n := #in~n; 317222#L25 assume !(~n <= 0); 317214#L26 call #t~ret0 := fact(~n - 1);< 317219#factENTRY ~n := #in~n; 317213#L25 assume !(~n <= 0); 317178#L26 call #t~ret0 := fact(~n - 1);< 317218#factENTRY ~n := #in~n; 317217#L25 assume !(~n <= 0); 317176#L26 call #t~ret0 := fact(~n - 1);< 317179#factENTRY ~n := #in~n; 317367#L25 assume !(~n <= 0); 317167#L26 call #t~ret0 := fact(~n - 1);< 318421#factENTRY ~n := #in~n; 318420#L25 assume !(~n <= 0); 317170#L26 call #t~ret0 := fact(~n - 1);< 317189#factENTRY ~n := #in~n; 317187#L25 assume !(~n <= 0); 317166#L26 call #t~ret0 := fact(~n - 1);< 317185#factENTRY ~n := #in~n; 317188#L25 assume ~n <= 0;#res := 1; 317186#factFINAL assume true; 317183#factEXIT >#66#return; 317184#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318419#factFINAL assume true; 318414#factEXIT >#66#return; 318415#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317175#factFINAL assume true; 317165#factEXIT >#66#return; 317172#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 317182#factFINAL assume true; 318306#factEXIT >#66#return; 318307#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318350#factFINAL assume true; 318347#factEXIT >#66#return; 318342#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318343#factFINAL assume true; 318341#factEXIT >#66#return; 318339#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 318329#factFINAL assume true; 318326#factEXIT >#68#return; 318290#L30-1 [2022-07-22 01:32:22,583 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:32:22,583 INFO L85 PathProgramCache]: Analyzing trace with hash -865349499, now seen corresponding path program 38 times [2022-07-22 01:32:22,583 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:32:22,583 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1773035347] [2022-07-22 01:32:22,583 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:32:22,584 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:32:22,594 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:32:22,595 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [540923997] [2022-07-22 01:32:22,595 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-07-22 01:32:22,595 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:32:22,595 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:32:22,597 INFO L229 MonitoredProcess]: Starting monitored process 197 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:32:22,598 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (197)] Waiting until timeout for monitored process [2022-07-22 01:32:22,963 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-07-22 01:32:22,963 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:32:22,967 INFO L263 TraceCheckSpWp]: Trace formula consists of 1231 conjuncts, 13 conjunts are in the unsatisfiable core [2022-07-22 01:32:22,970 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:32:23,221 INFO L134 CoverageAnalysis]: Checked inductivity of 16535 backedges. 5736 proven. 9 refuted. 0 times theorem prover too weak. 10790 trivial. 0 not checked. [2022-07-22 01:32:23,221 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:32:24,561 INFO L134 CoverageAnalysis]: Checked inductivity of 16535 backedges. 360 proven. 763 refuted. 0 times theorem prover too weak. 15412 trivial. 0 not checked. [2022-07-22 01:32:24,561 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:32:24,562 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1773035347] [2022-07-22 01:32:24,562 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:32:24,562 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [540923997] [2022-07-22 01:32:24,562 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [540923997] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:32:24,562 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:32:24,562 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 13] total 14 [2022-07-22 01:32:24,562 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [765516277] [2022-07-22 01:32:24,562 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:32:24,563 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:32:24,563 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:32:24,563 INFO L85 PathProgramCache]: Analyzing trace with hash 1802804575, now seen corresponding path program 36 times [2022-07-22 01:32:24,563 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:32:24,563 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [206439372] [2022-07-22 01:32:24,563 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:32:24,563 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:32:24,574 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:32:24,574 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [584601025] [2022-07-22 01:32:24,575 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-07-22 01:32:24,575 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:32:24,575 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:32:24,581 INFO L229 MonitoredProcess]: Starting monitored process 198 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:32:24,582 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (198)] Waiting until timeout for monitored process [2022-07-22 01:32:24,929 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 23 check-sat command(s) [2022-07-22 01:32:24,929 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:32:24,932 INFO L263 TraceCheckSpWp]: Trace formula consists of 573 conjuncts, 33 conjunts are in the unsatisfiable core [2022-07-22 01:32:24,936 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:32:26,219 INFO L134 CoverageAnalysis]: Checked inductivity of 28957 backedges. 4821 proven. 867 refuted. 0 times theorem prover too weak. 23269 trivial. 0 not checked. [2022-07-22 01:32:26,219 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:32:39,669 INFO L134 CoverageAnalysis]: Checked inductivity of 28957 backedges. 4821 proven. 928 refuted. 0 times theorem prover too weak. 23208 trivial. 0 not checked. [2022-07-22 01:32:39,669 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:32:39,670 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [206439372] [2022-07-22 01:32:39,670 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:32:39,670 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [584601025] [2022-07-22 01:32:39,670 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [584601025] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:32:39,670 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:32:39,670 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 31] total 34 [2022-07-22 01:32:39,670 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1946790066] [2022-07-22 01:32:39,670 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:32:39,671 INFO L769 eck$LassoCheckResult]: loop already infeasible [2022-07-22 01:32:39,671 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-07-22 01:32:39,671 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-07-22 01:32:39,671 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=139, Unknown=0, NotChecked=0, Total=182 [2022-07-22 01:32:39,672 INFO L87 Difference]: Start difference. First operand 2174 states and 3864 transitions. cyclomatic complexity: 1722 Second operand has 14 states, 13 states have (on average 4.384615384615385) internal successors, (57), 14 states have internal predecessors, (57), 9 states have call successors, (27), 2 states have call predecessors, (27), 5 states have return successors, (28), 7 states have call predecessors, (28), 9 states have call successors, (28) [2022-07-22 01:32:40,961 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-07-22 01:32:40,961 INFO L93 Difference]: Finished difference Result 2071 states and 3535 transitions. [2022-07-22 01:32:40,963 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-07-22 01:32:40,963 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 2071 states and 3535 transitions. [2022-07-22 01:32:40,974 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 96 [2022-07-22 01:32:40,985 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 2071 states to 2058 states and 3515 transitions. [2022-07-22 01:32:40,985 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 379 [2022-07-22 01:32:40,985 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 382 [2022-07-22 01:32:40,985 INFO L73 IsDeterministic]: Start isDeterministic. Operand 2058 states and 3515 transitions. [2022-07-22 01:32:40,986 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2022-07-22 01:32:40,986 INFO L369 hiAutomatonCegarLoop]: Abstraction has 2058 states and 3515 transitions. [2022-07-22 01:32:40,986 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2058 states and 3515 transitions. [2022-07-22 01:32:41,009 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2058 to 1998. [2022-07-22 01:32:41,010 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1998 states, 1243 states have (on average 1.084473049074819) internal successors, (1348), 1230 states have internal predecessors, (1348), 577 states have call successors, (577), 294 states have call predecessors, (577), 178 states have return successors, (1499), 473 states have call predecessors, (1499), 577 states have call successors, (1499) [2022-07-22 01:32:41,017 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1998 states to 1998 states and 3424 transitions. [2022-07-22 01:32:41,017 INFO L392 hiAutomatonCegarLoop]: Abstraction has 1998 states and 3424 transitions. [2022-07-22 01:32:41,017 INFO L374 stractBuchiCegarLoop]: Abstraction has 1998 states and 3424 transitions. [2022-07-22 01:32:41,017 INFO L287 stractBuchiCegarLoop]: ======== Iteration 52 ============ [2022-07-22 01:32:41,017 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1998 states and 3424 transitions. [2022-07-22 01:32:41,022 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 91 [2022-07-22 01:32:41,022 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2022-07-22 01:32:41,022 INFO L119 BuchiIsEmpty]: Starting construction of run [2022-07-22 01:32:41,025 INFO L179 hiAutomatonCegarLoop]: Counterexample stem histogram [88, 88, 51, 51, 51, 51, 37, 13, 12, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 3, 3, 1, 1, 1, 1] [2022-07-22 01:32:41,025 INFO L180 hiAutomatonCegarLoop]: Counterexample loop histogram [103, 103, 82, 82, 82, 82, 21, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-07-22 01:32:41,025 INFO L752 eck$LassoCheckResult]: Stem: 328586#ULTIMATE.startENTRY assume { :begin_inline_ULTIMATE.init } true; 328559#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; 328560#L35 assume !(main_~x~0#1 < 0);main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; 328585#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; 328622#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 329286#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 329284#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; 329273#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 329274#factENTRY ~n := #in~n; 329277#L25 assume ~n <= 0;#res := 1; 329275#factFINAL assume true; 329272#factEXIT >#68#return; 329269#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 329270#factENTRY ~n := #in~n; 329278#L25 assume ~n <= 0;#res := 1; 329276#factFINAL assume true; 329268#factEXIT >#70#return; 329263#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 329264#factENTRY ~n := #in~n; 329282#L25 assume ~n <= 0;#res := 1; 329281#factFINAL assume true; 329262#factEXIT >#72#return; 329255#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; 329251#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 329244#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 329241#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 329235#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; 329231#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 329232#factENTRY ~n := #in~n; 329271#L25 assume !(~n <= 0); 329266#L26 call #t~ret0 := fact(~n - 1);< 329267#factENTRY ~n := #in~n; 329280#L25 assume ~n <= 0;#res := 1; 329279#factFINAL assume true; 329265#factEXIT >#66#return; 329261#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329260#factFINAL assume true; 329230#factEXIT >#74#return; 329212#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 329215#factENTRY ~n := #in~n; 329285#L25 assume ~n <= 0;#res := 1; 329283#factFINAL assume true; 329211#factEXIT >#76#return; 329163#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 329238#factENTRY ~n := #in~n; 329252#L25 assume !(~n <= 0); 329246#L26 call #t~ret0 := fact(~n - 1);< 329249#factENTRY ~n := #in~n; 329257#L25 assume ~n <= 0;#res := 1; 329253#factFINAL assume true; 329245#factEXIT >#66#return; 329242#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329237#factFINAL assume true; 329162#factEXIT >#78#return; 329161#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; 329156#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 329154#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 329153#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 329152#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; 329102#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 329127#factENTRY ~n := #in~n; 329129#L25 assume !(~n <= 0); 329118#L26 call #t~ret0 := fact(~n - 1);< 329203#factENTRY ~n := #in~n; 329199#L25 assume !(~n <= 0); 329145#L26 call #t~ret0 := fact(~n - 1);< 329198#factENTRY ~n := #in~n; 329177#L25 assume ~n <= 0;#res := 1; 329171#factFINAL assume true; 329157#factEXIT >#66#return; 329155#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329149#factFINAL assume true; 329139#factEXIT >#66#return; 329135#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329130#factFINAL assume true; 329126#factEXIT >#74#return; 329057#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 329113#factENTRY ~n := #in~n; 329128#L25 assume ~n <= 0;#res := 1; 329124#factFINAL assume true; 329121#factEXIT >#76#return; 329103#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 329111#factENTRY ~n := #in~n; 329236#L25 assume !(~n <= 0); 329144#L26 call #t~ret0 := fact(~n - 1);< 329184#factENTRY ~n := #in~n; 329199#L25 assume !(~n <= 0); 329145#L26 call #t~ret0 := fact(~n - 1);< 329198#factENTRY ~n := #in~n; 329177#L25 assume ~n <= 0;#res := 1; 329171#factFINAL assume true; 329157#factEXIT >#66#return; 329155#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329149#factFINAL assume true; 329139#factEXIT >#66#return; 329135#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329130#factFINAL assume true; 329126#factEXIT >#78#return; 329055#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; 329053#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 329052#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 329050#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 329047#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; 328991#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 329009#factENTRY ~n := #in~n; 329051#L25 assume !(~n <= 0); 329013#L26 call #t~ret0 := fact(~n - 1);< 329076#factENTRY ~n := #in~n; 329132#L25 assume !(~n <= 0); 329025#L26 call #t~ret0 := fact(~n - 1);< 329046#factENTRY ~n := #in~n; 329132#L25 assume !(~n <= 0); 329025#L26 call #t~ret0 := fact(~n - 1);< 329046#factENTRY ~n := #in~n; 329073#L25 assume ~n <= 0;#res := 1; 329071#factFINAL assume true; 329043#factEXIT >#66#return; 329040#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329037#factFINAL assume true; 329030#factEXIT >#66#return; 329034#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329114#factFINAL assume true; 329107#factEXIT >#66#return; 329108#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329296#factFINAL assume true; 328998#factEXIT >#74#return; 328999#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 329004#factENTRY ~n := #in~n; 329078#L25 assume ~n <= 0;#res := 1; 329049#factFINAL assume true; 329011#factEXIT >#76#return; 328987#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 329006#factENTRY ~n := #in~n; 329168#L25 assume !(~n <= 0); 329021#L26 call #t~ret0 := fact(~n - 1);< 329083#factENTRY ~n := #in~n; 329085#L25 assume !(~n <= 0); 329020#L26 call #t~ret0 := fact(~n - 1);< 329082#factENTRY ~n := #in~n; 329132#L25 assume !(~n <= 0); 329025#L26 call #t~ret0 := fact(~n - 1);< 329046#factENTRY ~n := #in~n; 329073#L25 assume ~n <= 0;#res := 1; 329071#factFINAL assume true; 329043#factEXIT >#66#return; 329040#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329037#factFINAL assume true; 329030#factEXIT >#66#return; 329034#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329114#factFINAL assume true; 329107#factEXIT >#66#return; 329108#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329296#factFINAL assume true; 328998#factEXIT >#78#return; 328985#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; 328984#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 328983#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 328982#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 328981#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 328980#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 328978#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 328979#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; 328962#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 328964#factENTRY ~n := #in~n; 328971#L25 assume !(~n <= 0); 328968#L26 call #t~ret0 := fact(~n - 1);< 328969#factENTRY ~n := #in~n; 328972#L25 assume ~n <= 0;#res := 1; 328970#factFINAL assume true; 328967#factEXIT >#66#return; 328966#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 328965#factFINAL assume true; 328961#factEXIT >#68#return; 328956#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 328957#factENTRY ~n := #in~n; 328959#L25 assume ~n <= 0;#res := 1; 328958#factFINAL assume true; 328954#factEXIT >#70#return; 328947#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 328950#factENTRY ~n := #in~n; 328977#L25 assume !(~n <= 0); 328975#L26 call #t~ret0 := fact(~n - 1);< 328976#factENTRY ~n := #in~n; 329288#L25 assume ~n <= 0;#res := 1; 329167#factFINAL assume true; 328974#factEXIT >#66#return; 328960#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 328953#factFINAL assume true; 328946#factEXIT >#72#return; 328949#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; 329941#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 329940#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 329939#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 329938#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; 328919#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 328921#factENTRY ~n := #in~n; 328928#L25 assume !(~n <= 0); 328925#L26 call #t~ret0 := fact(~n - 1);< 328926#factENTRY ~n := #in~n; 328929#L25 assume ~n <= 0;#res := 1; 328927#factFINAL assume true; 328924#factEXIT >#66#return; 328923#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 328922#factFINAL assume true; 328918#factEXIT >#68#return; 328895#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 328899#factENTRY ~n := #in~n; 328898#L25 assume !(~n <= 0); 328889#L26 call #t~ret0 := fact(~n - 1);< 328892#factENTRY ~n := #in~n; 328897#L25 assume ~n <= 0;#res := 1; 328893#factFINAL assume true; 328887#factEXIT >#66#return; 328891#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 328952#factFINAL assume true; 328951#factEXIT >#70#return; 328941#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 328943#factENTRY ~n := #in~n; 328945#L25 assume ~n <= 0;#res := 1; 328944#factFINAL assume true; 328939#factEXIT >#72#return; 328942#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; 329937#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 329936#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 329935#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 329934#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; 328901#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 328903#factENTRY ~n := #in~n; 328910#L25 assume !(~n <= 0); 328890#L26 call #t~ret0 := fact(~n - 1);< 328908#factENTRY ~n := #in~n; 328915#L25 assume !(~n <= 0); 328907#L26 call #t~ret0 := fact(~n - 1);< 328913#factENTRY ~n := #in~n; 328916#L25 assume ~n <= 0;#res := 1; 328914#factFINAL assume true; 328912#factEXIT >#66#return; 328911#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 328909#factFINAL assume true; 328906#factEXIT >#66#return; 328905#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 328904#factFINAL assume true; 328900#factEXIT >#74#return; 328879#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 328884#factENTRY ~n := #in~n; 328896#L25 assume !(~n <= 0); 328888#L26 call #t~ret0 := fact(~n - 1);< 328892#factENTRY ~n := #in~n; 328897#L25 assume ~n <= 0;#res := 1; 328893#factFINAL assume true; 328887#factEXIT >#66#return; 328886#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 328885#factFINAL assume true; 328878#factEXIT >#76#return; 328880#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 328884#factENTRY ~n := #in~n; 328896#L25 assume !(~n <= 0); 328888#L26 call #t~ret0 := fact(~n - 1);< 328892#factENTRY ~n := #in~n; 328897#L25 assume ~n <= 0;#res := 1; 328893#factFINAL assume true; 328887#factEXIT >#66#return; 328886#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 328885#factFINAL assume true; 328878#factEXIT >#78#return; 328883#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; 329933#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 329932#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 329931#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 329930#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; 328641#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 328647#factENTRY ~n := #in~n; 328698#L25 assume !(~n <= 0); 328651#L26 call #t~ret0 := fact(~n - 1);< 328697#factENTRY ~n := #in~n; 328686#L25 assume !(~n <= 0); 328654#L26 call #t~ret0 := fact(~n - 1);< 328670#factENTRY ~n := #in~n; 328686#L25 assume !(~n <= 0); 328654#L26 call #t~ret0 := fact(~n - 1);< 328670#factENTRY ~n := #in~n; 328675#L25 assume ~n <= 0;#res := 1; 328673#factFINAL assume true; 328665#factEXIT >#66#return; 328669#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 328726#factFINAL assume true; 328722#factEXIT >#66#return; 328723#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 328724#factFINAL assume true; 328719#factEXIT >#66#return; 328716#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 328713#factFINAL assume true; 328711#factEXIT >#74#return; 328707#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 328709#factENTRY ~n := #in~n; 328733#L25 assume ~n <= 0;#res := 1; 328699#factFINAL assume true; 328744#factEXIT >#76#return; 328644#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 328701#factENTRY ~n := #in~n; 328662#L25 assume !(~n <= 0); 328652#L26 call #t~ret0 := fact(~n - 1);< 328661#factENTRY ~n := #in~n; 328700#L25 assume !(~n <= 0); 328655#L26 call #t~ret0 := fact(~n - 1);< 328689#factENTRY ~n := #in~n; 328686#L25 assume !(~n <= 0); 328654#L26 call #t~ret0 := fact(~n - 1);< 328670#factENTRY ~n := #in~n; 328675#L25 assume ~n <= 0;#res := 1; 328673#factFINAL assume true; 328665#factEXIT >#66#return; 328669#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 328726#factFINAL assume true; 328722#factEXIT >#66#return; 328723#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 328724#factFINAL assume true; 328719#factEXIT >#66#return; 328716#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 328713#factFINAL assume true; 328711#factEXIT >#78#return; 328633#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; 329869#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 329868#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 329867#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 328581#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 328577#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 328578#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 329982#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; 328782#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 329861#factENTRY ~n := #in~n; 329917#L25 assume !(~n <= 0); 329316#L26 call #t~ret0 := fact(~n - 1);< 329335#factENTRY ~n := #in~n; 329332#L25 assume !(~n <= 0); 329312#L26 call #t~ret0 := fact(~n - 1);< 329330#factENTRY ~n := #in~n; 329333#L25 assume ~n <= 0;#res := 1; 329331#factFINAL assume true; 329328#factEXIT >#66#return; 329329#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329916#factFINAL assume true; 329914#factEXIT >#66#return; 329915#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329984#factFINAL assume true; 329860#factEXIT >#68#return; 329838#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 328615#factENTRY ~n := #in~n; 329848#L25 assume ~n <= 0;#res := 1; 329846#factFINAL assume true; 329836#factEXIT >#70#return; 329841#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 329859#factENTRY ~n := #in~n; 329971#L25 assume !(~n <= 0); 329873#L26 call #t~ret0 := fact(~n - 1);< 329970#factENTRY ~n := #in~n; 329978#L25 assume !(~n <= 0); 329966#L26 call #t~ret0 := fact(~n - 1);< 329977#factENTRY ~n := #in~n; 329983#L25 assume ~n <= 0;#res := 1; 329981#factFINAL assume true; 329973#factEXIT >#66#return; 329972#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329969#factFINAL assume true; 329964#factEXIT >#66#return; 329967#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329862#factFINAL assume true; 329857#factEXIT >#72#return; 329858#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; 330034#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 330032#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 330030#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 330028#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; 329518#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 329814#factENTRY ~n := #in~n; 329657#L25 assume !(~n <= 0); 329558#L26 call #t~ret0 := fact(~n - 1);< 329616#factENTRY ~n := #in~n; 329795#L25 assume !(~n <= 0); 329608#L26 call #t~ret0 := fact(~n - 1);< 329654#factENTRY ~n := #in~n; 329785#L25 assume ~n <= 0;#res := 1; 329783#factFINAL assume true; 329652#factEXIT >#66#return; 329646#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329624#factFINAL assume true; 329607#factEXIT >#66#return; 329613#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329852#factFINAL assume true; 329832#factEXIT >#68#return; 329436#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 329467#factENTRY ~n := #in~n; 329866#L25 assume !(~n <= 0); 329545#L26 call #t~ret0 := fact(~n - 1);< 329668#factENTRY ~n := #in~n; 329949#L25 assume ~n <= 0;#res := 1; 329877#factFINAL assume true; 329815#factEXIT >#66#return; 329813#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329811#factFINAL assume true; 329685#factEXIT >#70#return; 329688#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 329847#factENTRY ~n := #in~n; 330183#L25 assume !(~n <= 0); 329500#L26 call #t~ret0 := fact(~n - 1);< 329878#factENTRY ~n := #in~n; 329949#L25 assume ~n <= 0;#res := 1; 329877#factFINAL assume true; 329815#factEXIT >#66#return; 329818#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 330182#factFINAL assume true; 329773#factEXIT >#72#return; 329777#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; 330023#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 330022#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 330021#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 330020#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; 329514#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 329814#factENTRY ~n := #in~n; 329657#L25 assume !(~n <= 0); 329558#L26 call #t~ret0 := fact(~n - 1);< 329616#factENTRY ~n := #in~n; 329795#L25 assume !(~n <= 0); 329608#L26 call #t~ret0 := fact(~n - 1);< 329654#factENTRY ~n := #in~n; 329785#L25 assume ~n <= 0;#res := 1; 329783#factFINAL assume true; 329652#factEXIT >#66#return; 329646#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329624#factFINAL assume true; 329607#factEXIT >#66#return; 329613#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329852#factFINAL assume true; 329832#factEXIT >#68#return; 329454#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 329467#factENTRY ~n := #in~n; 329866#L25 assume !(~n <= 0); 329545#L26 call #t~ret0 := fact(~n - 1);< 329668#factENTRY ~n := #in~n; 329880#L25 assume !(~n <= 0); 329554#L26 call #t~ret0 := fact(~n - 1);< 329670#factENTRY ~n := #in~n; 329785#L25 assume ~n <= 0;#res := 1; 329783#factFINAL assume true; 329652#factEXIT >#66#return; 329646#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329624#factFINAL assume true; 329607#factEXIT >#66#return; 329612#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329908#factFINAL assume true; 329831#factEXIT >#70#return; 329418#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 329431#factENTRY ~n := #in~n; 329499#L25 assume ~n <= 0;#res := 1; 329497#factFINAL assume true; 329417#factEXIT >#72#return; 329425#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; 330019#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 330014#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 330013#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 329489#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; 329393#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 329402#factENTRY ~n := #in~n; 329737#L25 assume !(~n <= 0); 329470#L26 call #t~ret0 := fact(~n - 1);< 329735#factENTRY ~n := #in~n; 329676#L25 assume !(~n <= 0); 329479#L26 call #t~ret0 := fact(~n - 1);< 329651#factENTRY ~n := #in~n; 329676#L25 assume !(~n <= 0); 329479#L26 call #t~ret0 := fact(~n - 1);< 329651#factENTRY ~n := #in~n; 329675#L25 assume ~n <= 0;#res := 1; 329674#factFINAL assume true; 329647#factEXIT >#66#return; 329617#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329586#factFINAL assume true; 329576#factEXIT >#66#return; 329575#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329574#factFINAL assume true; 329530#factEXIT >#66#return; 329488#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329401#factFINAL assume true; 329388#factEXIT >#74#return; 329389#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 329403#factENTRY ~n := #in~n; 329618#L25 assume !(~n <= 0); 329532#L26 call #t~ret0 := fact(~n - 1);< 329587#factENTRY ~n := #in~n; 329727#L25 assume !(~n <= 0); 329577#L26 call #t~ret0 := fact(~n - 1);< 329649#factENTRY ~n := #in~n; 329734#L25 assume !(~n <= 0); 329648#L26 call #t~ret0 := fact(~n - 1);< 329650#factENTRY ~n := #in~n; 329675#L25 assume ~n <= 0;#res := 1; 329674#factFINAL assume true; 329647#factEXIT >#66#return; 329617#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329586#factFINAL assume true; 329576#factEXIT >#66#return; 329575#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329574#factFINAL assume true; 329530#factEXIT >#66#return; 329488#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329401#factFINAL assume true; 329388#factEXIT >#76#return; 329303#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 329387#factENTRY ~n := #in~n; 329673#L25 assume !(~n <= 0); 329644#L26 call #t~ret0 := fact(~n - 1);< 329645#factENTRY ~n := #in~n; 329672#L25 assume ~n <= 0;#res := 1; 329671#factFINAL assume true; 329643#factEXIT >#66#return; 329629#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329621#factFINAL assume true; 329302#factEXIT >#78#return; 328561#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; 328562#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 328573#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 328620#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 328580#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 328575#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 328576#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 328587#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; 328588#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 329338#factENTRY ~n := #in~n; 329336#L25 assume !(~n <= 0); 329323#L26 call #t~ret0 := fact(~n - 1);< 329335#factENTRY ~n := #in~n; 329332#L25 assume !(~n <= 0); 329312#L26 call #t~ret0 := fact(~n - 1);< 329330#factENTRY ~n := #in~n; 329332#L25 assume !(~n <= 0); 329312#L26 call #t~ret0 := fact(~n - 1);< 329330#factENTRY ~n := #in~n; 329332#L25 assume !(~n <= 0); 329312#L26 call #t~ret0 := fact(~n - 1);< 329330#factENTRY ~n := #in~n; 329332#L25 assume !(~n <= 0); 329312#L26 call #t~ret0 := fact(~n - 1);< 329330#factENTRY ~n := #in~n; 329332#L25 assume !(~n <= 0); 329312#L26 call #t~ret0 := fact(~n - 1);< 329330#factENTRY ~n := #in~n; 329333#L25 assume ~n <= 0;#res := 1; 329331#factFINAL assume true; 329328#factEXIT >#66#return; 329329#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329916#factFINAL assume true; 329914#factEXIT >#66#return; 329912#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329907#factFINAL assume true; 329905#factEXIT >#66#return; 329906#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329960#factFINAL assume true; 329958#factEXIT >#66#return; 329959#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329995#factFINAL assume true; 329994#factEXIT >#66#return; 329324#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329326#factFINAL assume true; 329310#factEXIT >#66#return; 329301#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 328874#factFINAL assume true; 328778#factEXIT >#68#return; 328784#L30-1 [2022-07-22 01:32:41,026 INFO L754 eck$LassoCheckResult]: Loop: 328784#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 328615#factENTRY ~n := #in~n; 329848#L25 assume ~n <= 0;#res := 1; 329846#factFINAL assume true; 329836#factEXIT >#70#return; 329710#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 329713#factENTRY ~n := #in~n; 329887#L25 assume !(~n <= 0); 329809#L26 call #t~ret0 := fact(~n - 1);< 329885#factENTRY ~n := #in~n; 330000#L25 assume !(~n <= 0); 329744#L26 call #t~ret0 := fact(~n - 1);< 329810#factENTRY ~n := #in~n; 329988#L25 assume !(~n <= 0); 329748#L26 call #t~ret0 := fact(~n - 1);< 329987#factENTRY ~n := #in~n; 329986#L25 assume !(~n <= 0); 329745#L26 call #t~ret0 := fact(~n - 1);< 329875#factENTRY ~n := #in~n; 329979#L25 assume !(~n <= 0); 329747#L26 call #t~ret0 := fact(~n - 1);< 329976#factENTRY ~n := #in~n; 329983#L25 assume ~n <= 0;#res := 1; 329981#factFINAL assume true; 329973#factEXIT >#66#return; 329972#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329969#factFINAL assume true; 329964#factEXIT >#66#return; 329963#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329962#factFINAL assume true; 329871#factEXIT >#66#return; 329870#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329808#factFINAL assume true; 329742#factEXIT >#66#return; 329749#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329904#factFINAL assume true; 329884#factEXIT >#66#return; 329883#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329881#factFINAL assume true; 329709#factEXIT >#72#return; 329712#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; 329830#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 329829#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 329828#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 329827#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; 329757#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 329762#factENTRY ~n := #in~n; 330164#L25 assume !(~n <= 0); 329789#L26 call #t~ret0 := fact(~n - 1);< 329794#factENTRY ~n := #in~n; 329801#L25 assume !(~n <= 0); 329787#L26 call #t~ret0 := fact(~n - 1);< 329800#factENTRY ~n := #in~n; 329996#L25 assume !(~n <= 0); 329631#L26 call #t~ret0 := fact(~n - 1);< 329948#factENTRY ~n := #in~n; 329947#L25 assume !(~n <= 0); 329560#L26 call #t~ret0 := fact(~n - 1);< 329640#factENTRY ~n := #in~n; 329876#L25 assume !(~n <= 0); 329553#L26 call #t~ret0 := fact(~n - 1);< 329585#factENTRY ~n := #in~n; 329880#L25 assume !(~n <= 0); 329554#L26 call #t~ret0 := fact(~n - 1);< 329670#factENTRY ~n := #in~n; 329785#L25 assume ~n <= 0;#res := 1; 329783#factFINAL assume true; 329652#factEXIT >#66#return; 329646#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329624#factFINAL assume true; 329607#factEXIT >#66#return; 329604#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329583#factFINAL assume true; 329543#factEXIT >#66#return; 329565#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329664#factFINAL assume true; 329630#factEXIT >#66#return; 329637#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329802#factFINAL assume true; 329797#factEXIT >#66#return; 329791#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329796#factFINAL assume true; 329786#factEXIT >#66#return; 329784#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329782#factFINAL assume true; 329756#factEXIT >#68#return; 329686#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 329821#factENTRY ~n := #in~n; 329820#L25 assume !(~n <= 0); 329610#L26 call #t~ret0 := fact(~n - 1);< 329819#factENTRY ~n := #in~n; 329949#L25 assume ~n <= 0;#res := 1; 329877#factFINAL assume true; 329815#factEXIT >#66#return; 329813#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329811#factFINAL assume true; 329685#factEXIT >#70#return; 329592#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 329606#factENTRY ~n := #in~n; 329999#L25 assume !(~n <= 0); 329634#L26 call #t~ret0 := fact(~n - 1);< 329948#factENTRY ~n := #in~n; 329947#L25 assume !(~n <= 0); 329560#L26 call #t~ret0 := fact(~n - 1);< 329640#factENTRY ~n := #in~n; 329876#L25 assume !(~n <= 0); 329553#L26 call #t~ret0 := fact(~n - 1);< 329585#factENTRY ~n := #in~n; 329880#L25 assume !(~n <= 0); 329554#L26 call #t~ret0 := fact(~n - 1);< 329670#factENTRY ~n := #in~n; 329785#L25 assume ~n <= 0;#res := 1; 329783#factFINAL assume true; 329652#factEXIT >#66#return; 329646#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329624#factFINAL assume true; 329607#factEXIT >#66#return; 329604#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329583#factFINAL assume true; 329543#factEXIT >#66#return; 329565#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329664#factFINAL assume true; 329630#factEXIT >#66#return; 329622#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329605#factFINAL assume true; 329589#factEXIT >#72#return; 329598#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; 329913#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 329911#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 329910#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 329909#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; 329760#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 329762#factENTRY ~n := #in~n; 330164#L25 assume !(~n <= 0); 329789#L26 call #t~ret0 := fact(~n - 1);< 329794#factENTRY ~n := #in~n; 329801#L25 assume !(~n <= 0); 329787#L26 call #t~ret0 := fact(~n - 1);< 329800#factENTRY ~n := #in~n; 329996#L25 assume !(~n <= 0); 329631#L26 call #t~ret0 := fact(~n - 1);< 329948#factENTRY ~n := #in~n; 329947#L25 assume !(~n <= 0); 329560#L26 call #t~ret0 := fact(~n - 1);< 329640#factENTRY ~n := #in~n; 329876#L25 assume !(~n <= 0); 329553#L26 call #t~ret0 := fact(~n - 1);< 329585#factENTRY ~n := #in~n; 329880#L25 assume !(~n <= 0); 329554#L26 call #t~ret0 := fact(~n - 1);< 329670#factENTRY ~n := #in~n; 329785#L25 assume ~n <= 0;#res := 1; 329783#factFINAL assume true; 329652#factEXIT >#66#return; 329646#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329624#factFINAL assume true; 329607#factEXIT >#66#return; 329604#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329583#factFINAL assume true; 329543#factEXIT >#66#return; 329565#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329664#factFINAL assume true; 329630#factEXIT >#66#return; 329637#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329802#factFINAL assume true; 329797#factEXIT >#66#return; 329791#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329796#factFINAL assume true; 329786#factEXIT >#66#return; 329784#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329782#factFINAL assume true; 329756#factEXIT >#68#return; 329687#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 329821#factENTRY ~n := #in~n; 329820#L25 assume !(~n <= 0); 329610#L26 call #t~ret0 := fact(~n - 1);< 329819#factENTRY ~n := #in~n; 329812#L25 assume !(~n <= 0); 329653#L26 call #t~ret0 := fact(~n - 1);< 329656#factENTRY ~n := #in~n; 329785#L25 assume ~n <= 0;#res := 1; 329783#factFINAL assume true; 329652#factEXIT >#66#return; 329646#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329624#factFINAL assume true; 329607#factEXIT >#66#return; 329612#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329908#factFINAL assume true; 329831#factEXIT >#70#return; 329595#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 329606#factENTRY ~n := #in~n; 329999#L25 assume !(~n <= 0); 329634#L26 call #t~ret0 := fact(~n - 1);< 329948#factENTRY ~n := #in~n; 329947#L25 assume !(~n <= 0); 329560#L26 call #t~ret0 := fact(~n - 1);< 329640#factENTRY ~n := #in~n; 329876#L25 assume !(~n <= 0); 329553#L26 call #t~ret0 := fact(~n - 1);< 329585#factENTRY ~n := #in~n; 329880#L25 assume !(~n <= 0); 329554#L26 call #t~ret0 := fact(~n - 1);< 329670#factENTRY ~n := #in~n; 329785#L25 assume ~n <= 0;#res := 1; 329783#factFINAL assume true; 329652#factEXIT >#66#return; 329646#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329624#factFINAL assume true; 329607#factEXIT >#66#return; 329604#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329583#factFINAL assume true; 329543#factEXIT >#66#return; 329565#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329664#factFINAL assume true; 329630#factEXIT >#66#return; 329622#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329605#factFINAL assume true; 329589#factEXIT >#72#return; 329522#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; 330445#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 330444#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 330442#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 330419#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; 329761#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 329762#factENTRY ~n := #in~n; 330164#L25 assume !(~n <= 0); 329789#L26 call #t~ret0 := fact(~n - 1);< 329794#factENTRY ~n := #in~n; 329801#L25 assume !(~n <= 0); 329787#L26 call #t~ret0 := fact(~n - 1);< 329800#factENTRY ~n := #in~n; 329996#L25 assume !(~n <= 0); 329631#L26 call #t~ret0 := fact(~n - 1);< 329948#factENTRY ~n := #in~n; 329947#L25 assume !(~n <= 0); 329560#L26 call #t~ret0 := fact(~n - 1);< 329640#factENTRY ~n := #in~n; 329876#L25 assume !(~n <= 0); 329553#L26 call #t~ret0 := fact(~n - 1);< 329585#factENTRY ~n := #in~n; 329880#L25 assume !(~n <= 0); 329554#L26 call #t~ret0 := fact(~n - 1);< 329670#factENTRY ~n := #in~n; 329785#L25 assume ~n <= 0;#res := 1; 329783#factFINAL assume true; 329652#factEXIT >#66#return; 329646#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329624#factFINAL assume true; 329607#factEXIT >#66#return; 329604#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329583#factFINAL assume true; 329543#factEXIT >#66#return; 329565#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329664#factFINAL assume true; 329630#factEXIT >#66#return; 329637#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329802#factFINAL assume true; 329797#factEXIT >#66#return; 329791#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329796#factFINAL assume true; 329786#factEXIT >#66#return; 329784#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329782#factFINAL assume true; 329756#factEXIT >#68#return; 329449#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 329467#factENTRY ~n := #in~n; 329866#L25 assume !(~n <= 0); 329545#L26 call #t~ret0 := fact(~n - 1);< 329668#factENTRY ~n := #in~n; 329880#L25 assume !(~n <= 0); 329554#L26 call #t~ret0 := fact(~n - 1);< 329670#factENTRY ~n := #in~n; 329880#L25 assume !(~n <= 0); 329554#L26 call #t~ret0 := fact(~n - 1);< 329670#factENTRY ~n := #in~n; 329880#L25 assume !(~n <= 0); 329554#L26 call #t~ret0 := fact(~n - 1);< 329670#factENTRY ~n := #in~n; 329785#L25 assume ~n <= 0;#res := 1; 329783#factFINAL assume true; 329652#factEXIT >#66#return; 329646#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329624#factFINAL assume true; 329607#factEXIT >#66#return; 329604#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329583#factFINAL assume true; 329543#factEXIT >#66#return; 329565#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329664#factFINAL assume true; 329630#factEXIT >#66#return; 329638#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329781#factFINAL assume true; 329588#factEXIT >#70#return; 329462#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 329733#factENTRY ~n := #in~n; 329732#L25 assume !(~n <= 0); 329551#L26 call #t~ret0 := fact(~n - 1);< 329640#factENTRY ~n := #in~n; 329876#L25 assume !(~n <= 0); 329553#L26 call #t~ret0 := fact(~n - 1);< 329585#factENTRY ~n := #in~n; 329880#L25 assume !(~n <= 0); 329554#L26 call #t~ret0 := fact(~n - 1);< 329670#factENTRY ~n := #in~n; 329785#L25 assume ~n <= 0;#res := 1; 329783#factFINAL assume true; 329652#factEXIT >#66#return; 329646#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329624#factFINAL assume true; 329607#factEXIT >#66#return; 329604#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329583#factFINAL assume true; 329543#factEXIT >#66#return; 329542#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329535#factFINAL assume true; 329506#factEXIT >#72#return; 329520#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; 330356#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 330355#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 330351#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 330299#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; 329759#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 329762#factENTRY ~n := #in~n; 330164#L25 assume !(~n <= 0); 329789#L26 call #t~ret0 := fact(~n - 1);< 329794#factENTRY ~n := #in~n; 329801#L25 assume !(~n <= 0); 329787#L26 call #t~ret0 := fact(~n - 1);< 329800#factENTRY ~n := #in~n; 329996#L25 assume !(~n <= 0); 329631#L26 call #t~ret0 := fact(~n - 1);< 329948#factENTRY ~n := #in~n; 329947#L25 assume !(~n <= 0); 329560#L26 call #t~ret0 := fact(~n - 1);< 329640#factENTRY ~n := #in~n; 329876#L25 assume !(~n <= 0); 329553#L26 call #t~ret0 := fact(~n - 1);< 329585#factENTRY ~n := #in~n; 329880#L25 assume !(~n <= 0); 329554#L26 call #t~ret0 := fact(~n - 1);< 329670#factENTRY ~n := #in~n; 329785#L25 assume ~n <= 0;#res := 1; 329783#factFINAL assume true; 329652#factEXIT >#66#return; 329646#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329624#factFINAL assume true; 329607#factEXIT >#66#return; 329604#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329583#factFINAL assume true; 329543#factEXIT >#66#return; 329565#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329664#factFINAL assume true; 329630#factEXIT >#66#return; 329637#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329802#factFINAL assume true; 329797#factEXIT >#66#return; 329791#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329796#factFINAL assume true; 329786#factEXIT >#66#return; 329784#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329782#factFINAL assume true; 329756#factEXIT >#68#return; 329442#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 329467#factENTRY ~n := #in~n; 329866#L25 assume !(~n <= 0); 329545#L26 call #t~ret0 := fact(~n - 1);< 329668#factENTRY ~n := #in~n; 329880#L25 assume !(~n <= 0); 329554#L26 call #t~ret0 := fact(~n - 1);< 329670#factENTRY ~n := #in~n; 329880#L25 assume !(~n <= 0); 329554#L26 call #t~ret0 := fact(~n - 1);< 329670#factENTRY ~n := #in~n; 329880#L25 assume !(~n <= 0); 329554#L26 call #t~ret0 := fact(~n - 1);< 329670#factENTRY ~n := #in~n; 329785#L25 assume ~n <= 0;#res := 1; 329783#factFINAL assume true; 329652#factEXIT >#66#return; 329646#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329624#factFINAL assume true; 329607#factEXIT >#66#return; 329604#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329583#factFINAL assume true; 329543#factEXIT >#66#return; 329565#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329664#factFINAL assume true; 329630#factEXIT >#66#return; 329638#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329781#factFINAL assume true; 329588#factEXIT >#70#return; 329465#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 329752#factENTRY ~n := #in~n; 329989#L25 assume !(~n <= 0); 329548#L26 call #t~ret0 := fact(~n - 1);< 329585#factENTRY ~n := #in~n; 329880#L25 assume !(~n <= 0); 329554#L26 call #t~ret0 := fact(~n - 1);< 329670#factENTRY ~n := #in~n; 329785#L25 assume ~n <= 0;#res := 1; 329783#factFINAL assume true; 329652#factEXIT >#66#return; 329646#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329624#factFINAL assume true; 329607#factEXIT >#66#return; 329613#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329852#factFINAL assume true; 329832#factEXIT >#72#return; 329771#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; 329769#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 329768#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 329767#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 329765#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; 329758#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 329762#factENTRY ~n := #in~n; 330164#L25 assume !(~n <= 0); 329789#L26 call #t~ret0 := fact(~n - 1);< 329794#factENTRY ~n := #in~n; 329801#L25 assume !(~n <= 0); 329787#L26 call #t~ret0 := fact(~n - 1);< 329800#factENTRY ~n := #in~n; 329996#L25 assume !(~n <= 0); 329631#L26 call #t~ret0 := fact(~n - 1);< 329948#factENTRY ~n := #in~n; 329947#L25 assume !(~n <= 0); 329560#L26 call #t~ret0 := fact(~n - 1);< 329640#factENTRY ~n := #in~n; 329876#L25 assume !(~n <= 0); 329553#L26 call #t~ret0 := fact(~n - 1);< 329585#factENTRY ~n := #in~n; 329880#L25 assume !(~n <= 0); 329554#L26 call #t~ret0 := fact(~n - 1);< 329670#factENTRY ~n := #in~n; 329785#L25 assume ~n <= 0;#res := 1; 329783#factFINAL assume true; 329652#factEXIT >#66#return; 329646#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329624#factFINAL assume true; 329607#factEXIT >#66#return; 329604#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329583#factFINAL assume true; 329543#factEXIT >#66#return; 329565#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329664#factFINAL assume true; 329630#factEXIT >#66#return; 329637#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329802#factFINAL assume true; 329797#factEXIT >#66#return; 329791#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329796#factFINAL assume true; 329786#factEXIT >#66#return; 329784#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329782#factFINAL assume true; 329756#factEXIT >#68#return; 329438#L30-1 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 329467#factENTRY ~n := #in~n; 329866#L25 assume !(~n <= 0); 329545#L26 call #t~ret0 := fact(~n - 1);< 329668#factENTRY ~n := #in~n; 329880#L25 assume !(~n <= 0); 329554#L26 call #t~ret0 := fact(~n - 1);< 329670#factENTRY ~n := #in~n; 329880#L25 assume !(~n <= 0); 329554#L26 call #t~ret0 := fact(~n - 1);< 329670#factENTRY ~n := #in~n; 329880#L25 assume !(~n <= 0); 329554#L26 call #t~ret0 := fact(~n - 1);< 329670#factENTRY ~n := #in~n; 329880#L25 assume !(~n <= 0); 329554#L26 call #t~ret0 := fact(~n - 1);< 329670#factENTRY ~n := #in~n; 329785#L25 assume ~n <= 0;#res := 1; 329783#factFINAL assume true; 329652#factEXIT >#66#return; 329646#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329624#factFINAL assume true; 329607#factEXIT >#66#return; 329604#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329583#factFINAL assume true; 329543#factEXIT >#66#return; 329565#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329664#factFINAL assume true; 329630#factEXIT >#66#return; 329637#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329802#factFINAL assume true; 329797#factEXIT >#66#return; 329792#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329807#factFINAL assume true; 329755#factEXIT >#70#return; 329423#L30-2 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 329753#factENTRY ~n := #in~n; 329919#L25 assume ~n <= 0;#res := 1; 329497#factFINAL assume true; 329417#factEXIT >#72#return; 329429#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; 329779#L30-4 main_#t~ret9#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret9#1; 329772#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 329770#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 329763#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; 329410#L30-5 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 329411#factENTRY ~n := #in~n; 330008#L25 assume !(~n <= 0); 329476#L26 call #t~ret0 := fact(~n - 1);< 329482#factENTRY ~n := #in~n; 329529#L25 assume !(~n <= 0); 329472#L26 call #t~ret0 := fact(~n - 1);< 329527#factENTRY ~n := #in~n; 330010#L25 assume !(~n <= 0); 329469#L26 call #t~ret0 := fact(~n - 1);< 329502#factENTRY ~n := #in~n; 329780#L25 assume !(~n <= 0); 329471#L26 call #t~ret0 := fact(~n - 1);< 329533#factENTRY ~n := #in~n; 329953#L25 assume !(~n <= 0); 329480#L26 call #t~ret0 := fact(~n - 1);< 329534#factENTRY ~n := #in~n; 329676#L25 assume !(~n <= 0); 329479#L26 call #t~ret0 := fact(~n - 1);< 329651#factENTRY ~n := #in~n; 329675#L25 assume ~n <= 0;#res := 1; 329674#factFINAL assume true; 329647#factEXIT >#66#return; 329617#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329586#factFINAL assume true; 329576#factEXIT >#66#return; 329575#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329574#factFINAL assume true; 329530#factEXIT >#66#return; 329528#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329501#factFINAL assume true; 329492#factEXIT >#66#return; 329494#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329573#factFINAL assume true; 329569#factEXIT >#66#return; 329481#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329526#factFINAL assume true; 329468#factEXIT >#66#return; 329432#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329416#factFINAL assume true; 329409#factEXIT >#74#return; 329392#L30-6 call binomialCoefficient_#t~ret2#1 := fact(binomialCoefficient_~k#1);< 329397#factENTRY ~n := #in~n; 329581#L25 assume !(~n <= 0); 329478#L26 call #t~ret0 := fact(~n - 1);< 329496#factENTRY ~n := #in~n; 329953#L25 assume !(~n <= 0); 329480#L26 call #t~ret0 := fact(~n - 1);< 329534#factENTRY ~n := #in~n; 329676#L25 assume !(~n <= 0); 329479#L26 call #t~ret0 := fact(~n - 1);< 329651#factENTRY ~n := #in~n; 329676#L25 assume !(~n <= 0); 329479#L26 call #t~ret0 := fact(~n - 1);< 329651#factENTRY ~n := #in~n; 329676#L25 assume !(~n <= 0); 329479#L26 call #t~ret0 := fact(~n - 1);< 329651#factENTRY ~n := #in~n; 329675#L25 assume ~n <= 0;#res := 1; 329674#factFINAL assume true; 329647#factEXIT >#66#return; 329617#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329586#factFINAL assume true; 329576#factEXIT >#66#return; 329575#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329574#factFINAL assume true; 329530#factEXIT >#66#return; 329528#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329501#factFINAL assume true; 329492#factEXIT >#66#return; 329494#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329573#factFINAL assume true; 329569#factEXIT >#66#return; 329487#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329483#factFINAL assume true; 329398#factEXIT >#76#return; 329305#L30-7 call binomialCoefficient_#t~ret3#1 := fact(binomialCoefficient_~n#1 - binomialCoefficient_~k#1);< 329387#factENTRY ~n := #in~n; 329673#L25 assume !(~n <= 0); 329644#L26 call #t~ret0 := fact(~n - 1);< 329645#factENTRY ~n := #in~n; 329672#L25 assume ~n <= 0;#res := 1; 329671#factFINAL assume true; 329643#factEXIT >#66#return; 329629#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329621#factFINAL assume true; 329302#factEXIT >#78#return; 329308#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; 329663#L30-9 main_#t~ret10#1 := binomialCoefficient_#res#1;assume { :end_inline_binomialCoefficient } true;havoc main_#t~ret10#1; 329661#L42-2 main_#t~post8#1 := main_~k~0#1;main_~k~0#1 := 1 + main_#t~post8#1;havoc main_#t~post8#1; 329660#L42-3 assume !(main_~k~0#1 <= main_~x~0#1); 329658#L41-2 main_#t~post7#1 := main_~n~0#1;main_~n~0#1 := 1 + main_#t~post7#1;havoc main_#t~post7#1; 329628#L41-3 assume !!(main_~n~0#1 <= main_~x~0#1);main_~k~0#1 := 0; 329620#L42-3 assume !!(main_~k~0#1 <= main_~x~0#1); 329619#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; 328545#L30 call binomialCoefficient_#t~ret1#1 := fact(binomialCoefficient_~n#1);< 328546#factENTRY ~n := #in~n; 329538#L25 assume !(~n <= 0); 329311#L26 call #t~ret0 := fact(~n - 1);< 329325#factENTRY ~n := #in~n; 329623#L25 assume !(~n <= 0); 329321#L26 call #t~ret0 := fact(~n - 1);< 329327#factENTRY ~n := #in~n; 329356#L25 assume !(~n <= 0); 329315#L26 call #t~ret0 := fact(~n - 1);< 329353#factENTRY ~n := #in~n; 329354#L25 assume !(~n <= 0); 329317#L26 call #t~ret0 := fact(~n - 1);< 329339#factENTRY ~n := #in~n; 329340#L25 assume !(~n <= 0); 329313#L26 call #t~ret0 := fact(~n - 1);< 329334#factENTRY ~n := #in~n; 329332#L25 assume !(~n <= 0); 329312#L26 call #t~ret0 := fact(~n - 1);< 329330#factENTRY ~n := #in~n; 329333#L25 assume ~n <= 0;#res := 1; 329331#factFINAL assume true; 329328#factEXIT >#66#return; 329329#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329916#factFINAL assume true; 329914#factEXIT >#66#return; 329912#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329907#factFINAL assume true; 329905#factEXIT >#66#return; 329906#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329960#factFINAL assume true; 329958#factEXIT >#66#return; 329959#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329995#factFINAL assume true; 329994#factEXIT >#66#return; 329324#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 329326#factFINAL assume true; 329310#factEXIT >#66#return; 329301#L26-1 #res := ~n * #t~ret0;havoc #t~ret0; 328874#factFINAL assume true; 328778#factEXIT >#68#return; 328784#L30-1 [2022-07-22 01:32:41,026 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:32:41,026 INFO L85 PathProgramCache]: Analyzing trace with hash -41371387, now seen corresponding path program 39 times [2022-07-22 01:32:41,026 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:32:41,026 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [27784138] [2022-07-22 01:32:41,027 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:32:41,027 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:32:41,041 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:32:41,042 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1928767126] [2022-07-22 01:32:41,042 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-07-22 01:32:41,042 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:32:41,042 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:32:41,045 INFO L229 MonitoredProcess]: Starting monitored process 199 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:32:41,047 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (199)] Waiting until timeout for monitored process [2022-07-22 01:32:41,403 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 10 check-sat command(s) [2022-07-22 01:32:41,403 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-07-22 01:32:41,406 INFO L263 TraceCheckSpWp]: Trace formula consists of 404 conjuncts, 27 conjunts are in the unsatisfiable core [2022-07-22 01:32:41,409 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:32:42,702 INFO L134 CoverageAnalysis]: Checked inductivity of 18291 backedges. 3180 proven. 177 refuted. 0 times theorem prover too weak. 14934 trivial. 0 not checked. [2022-07-22 01:32:42,702 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-07-22 01:32:51,308 INFO L134 CoverageAnalysis]: Checked inductivity of 18291 backedges. 3180 proven. 211 refuted. 0 times theorem prover too weak. 14900 trivial. 0 not checked. [2022-07-22 01:32:51,309 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-07-22 01:32:51,309 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [27784138] [2022-07-22 01:32:51,309 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-07-22 01:32:51,309 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1928767126] [2022-07-22 01:32:51,309 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1928767126] provided 0 perfect and 2 imperfect interpolant sequences [2022-07-22 01:32:51,309 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-07-22 01:32:51,309 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 25] total 30 [2022-07-22 01:32:51,309 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2037864271] [2022-07-22 01:32:51,309 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-07-22 01:32:51,310 INFO L757 eck$LassoCheckResult]: stem already infeasible [2022-07-22 01:32:51,310 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-07-22 01:32:51,310 INFO L85 PathProgramCache]: Analyzing trace with hash 83773359, now seen corresponding path program 37 times [2022-07-22 01:32:51,310 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-07-22 01:32:51,310 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [623571784] [2022-07-22 01:32:51,310 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-07-22 01:32:51,310 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-07-22 01:32:51,321 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-07-22 01:32:51,321 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [70159804] [2022-07-22 01:32:51,321 INFO L93 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2022-07-22 01:32:51,322 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-07-22 01:32:51,322 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-07-22 01:32:51,324 INFO L229 MonitoredProcess]: Starting monitored process 200 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-07-22 01:32:51,324 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (200)] Waiting until timeout for monitored process [2022-07-22 01:32:51,732 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-07-22 01:32:51,738 INFO L263 TraceCheckSpWp]: Trace formula consists of 1349 conjuncts, 29 conjunts are in the unsatisfiable core [2022-07-22 01:32:51,742 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-07-22 01:32:52,831 INFO L134 CoverageAnalysis]: Checked inductivity of 27799 backedges. 9515 proven. 242 refuted. 0 times theorem prover too weak. 18042 trivial. 0 not checked. [2022-07-22 01:32:52,831 INFO L328 TraceCheckSpWp]: Computing backward predicates...